Контрольная работа по «Операционные системы ЭВМ»

Министерство сельского хозяйства Российской Федерации

ФГБОУ ВПО Дальневосточный государственный

аграрный университет

Кафедра: «Электропривод и автоматизация технологических процессов»

 

 

 

 

 

 

 

КОНТРОЛЬНАЯ РАБОТА

 

По дисциплине: «Операционные системы ЭВМ»

Вариант 2

 

 

 

 

 

Выполнил: студент 2 курса

ФЗДПО «ЭЭФ»

Шифр: 130372

Руднев Д.Н.

Проверил: Соболева Н.В.

 

 

 

 

Благовещенск, 2015

Содержание

Задание 1. Классификация операционных систем………………………..……….3

Задание 2. Планирование процессов в Windows NT………………………..……..5

Задание 3. Физическая организация и адрес файла………………….…………..11

Задание 4…………………………………………………………………………….13

Задание 5…………………………………………………………………………….17

Задание 6……………………………………………………………………………18

Задание 7…………………………………………………………………………….21

Список литературы…………………………………………………………………22

 

 

  1. Классификация операционных систем

Операционная система составляет основу программного обеспечения ПК. Операционная система представляет комплекс системных и служебных программных средств, который обеспечивает взаимодействие пользователя с компьютером и выполнение всех других программ. 

С одной стороны, она опирается на базовое программное обеспечение ПК, входящее в его систему BIOS, с другой стороны, она сама является опорой для программного обеспечения более высоких уровней – прикладных и большинства служебных приложений.

Для того чтобы компьютер мог работать, на его жестком диске должна быть установлена (записана) операционная система. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ. Этот процесс называется загрузкой операционной системы.

Операционные системы различаются особенностями реализации алгоритмов управления ресурсами компьютера, областями использования.

Так, в зависимости от алгоритма управления процессором, операционные системы делятся на:

    • Однозадачные и многозадачные
    • Однопользовательские и многопользовательские
    • Однопроцессорные и многопроцессорные системы
    • Локальные и сетевые.

По числу одновременно выполняемых задач операционные системы делятся на два класса:

    • Однозадачные (MS DOS)
    • Многозадачные (OS/2, Unix, Windows)

В однозадачных системах используются средства управления периферийными устройствами, средства управления файлами, средства общения с пользователями. Многозадачные ОС используют все средства, которые характерны для однозадачных,  и, кроме того, управляют разделением совместно используемых ресурсов: процессор, ОЗУ, файлы и внешние устройства.

В зависимости от областей использования многозадачные ОС подразделяются на три типа:

    • Системы пакетной обработки (ОС ЕС)
    • Системы с разделением времени (Unix, Linux, Windows)
    • Системы реального времени (RT11)

Системы пакетной обработки предназначены для решения задач, которые не требуют быстрого получения результатов. Главной целью ОС пакетной обработки является максимальная пропускная способность или решение максимального числа задач в единицу времени.

Эти системы  обеспечивают высокую производительность при обработке больших объемов информации, но снижают эффективность работы пользователя в интерактивном режиме.

В системах с разделением времени для выполнения каждой задачи выделяется небольшой промежуток времени, и ни одна задача не занимает процессор надолго. Если этот промежуток времени выбран минимальным, то создается видимость одновременного выполнения нескольких задач. Эти системы обладают меньшей пропускной способностью, но обеспечивают высокую эффективность работы пользователя в интерактивном режиме.

Системы реального времени применяются  для управления технологическим процессом или техническим объектом, например, летательным объектом, станком и т.д.

По числу одновременно работающих пользователей на ЭВМ ОС разделяются на однопользовательские (MS DOS) и многопользовательские (Unix, Linux, Windows 95 - XP)

В многопользовательских ОС каждый пользователь настраивает для себя интерфейс пользователя, т.е. может создать собственные наборы ярлыков, группы программ, задать индивидуальную цветовую схему, переместить в удобное место панель задач и добавить в меню Пуск новые пункты.

В многопользовательских ОС существуют средства защиты информации каждого пользователя от несанкционированного доступа других пользователей.

Многопроцессорные и однопроцессорные операционные системы. Одним из важных свойств ОС является наличие в ней средств поддержки многопроцессорной обработки  данных. Такие средства существуют в OS/2, Net Ware, Widows NT.По способу организации вычислительного процесса эти ОС могут быть разделены на асимметричные и симметричные.

Одним из важнейших признаков классификации ЭВМ является разделение их на локальные и сетевые. Локальные ОС применяются на автономных ПК или ПК, которые используются в компьютерных сетях в качестве клиента.

В состав локальных ОС входит клиентская часть ПО для доступа к удаленным ресурсам и услугам. Сетевые ОС предназначены для управления ресурсами ПК включенных в сеть с целью совместного использования ресурсов. Они представляют мощные средства разграничения доступа к информации, ее целостности и другие возможности использования сетевых ресурсов. 

  1. Планирование процессов в Windows NT

В разных ОС процессы реализуются по-разному. Эти различия заключаются в том, какими структурами данных представлены процессы, как они именуются, какими способами защищены друг от друга и какие отношения существуют между ними. Процессы Windows NT имеют следующие характерные свойства:

  • Процессы Windows NT реализованы в форме объектов, и доступ к ним осуществляется посредством службы объектов.
  • Процесс Windows NT имеет многонитевую организацию.
  • Как объекты-процессы, так и объекты-нити имеют встроенные средства синхронизации.
  • Менеджер процессов Windows NT не поддерживает между процессами отношений типа "родитель-потомок".

В любой системе понятие "процесс" включает следующее:

  • исполняемый код,
  • собственное адресное пространство, которое представляет собой совокупность виртуальных адресов, которые может использовать процесс,
  • ресурсы системы, такие как файлы, семафоры и т.п., которые назначены процессу операционной системой.
  • хотя бы одну выполняемую нить.

Адресное пространство каждого процесса защищено от вмешательства в него любого другого процесса. Это обеспечивается механизмами виртуальной памяти. Операционная система, конечно, тоже защищена от прикладных процессов. Чтобы выполнить какую-либо процедуру ОС или прочитать что-либо из ее области памяти, нить должна выполняться в режиме ядра. Пользовательские процессы получают доступ к функциям ядра посредством системных вызовов. В пользовательском режиме выполняются не только прикладные программы, но и защищенные подсистемы Windows NT.

В Windows NT процесс - это просто объект, создаваемый и уничтожаемый менеджером объектов. Объект-процесс, как и другие объекты, содержит заголовок, который создает и инициализирует менеджер объектов. Менеджер процессов определяет атрибуты, хранимые в теле объекта-процесса, а также обеспечивает системный сервис, который восстанавливает и изменяет эти атрибуты.

В число атрибутов тела объекта-процесса входят:

  • Идентификатор процесса - уникальное значение, которое идентифицирует процесс в рамках операционной системы.
  • Токен доступа - исполняемый объект, содержащий информацию о безопасности.
  • Базовый приоритет - основа для исполнительного приоритета нитей процесса.
  • Процессорная совместимость - набор процессоров, на которых могут выполняться нити процесса.
  • Предельные значения квот - максимальное количество страничной и нестраничной системной памяти, дискового пространства, предназначенного для выгрузки страниц, процессорного времени - которые могут быть использованы процессами пользователя.
  • Время исполнения - общее количество времени, в течение которого выполняются все нити процесса.

Объект-нить имеет следующие атрибуты тела:

  • Идентификатор клиента - уникальное значение, которое идентифицирует нить при ее обращении к серверу.
  • Контекст нити - информация, которая необходима ОС для того, чтобы продолжить выполнение прерванной нити. Контекст нити содержит текущее состояние регистров, стеков и индивидуальной области памяти, которая используется подсистемами и библиотеками.
  • Динамический приоритет - значение приоритета нити в данный момент.
  • Базовый приоритет - нижний предел динамического приоритета нити.
  • Процессорная совместимость нитей - перечень типов процессоров, на которых может выполняться нить.
  • Время выполнения нити - суммарное время выполнения нити в пользовательском режиме и в режиме ядра, накопленное за период существования нити.
  • Состояние предупреждения - флаг, который показывает, что нить должна выполнять вызов асинхронной процедуры.
  • Счетчик приостановок - текущее количество приостановок выполнения нити.

Как видно из перечня, многие атрибуты объекта-нити аналогичны атрибутам объекта-процесса. Весьма сходны и сервисные функции, которые могут быть выполнены над объектами-процессами и объектами-нитями: создание, открытие, завершение, приостановка, запрос и установка информации, запрос и установка контекста и другие функции.

В Windows NT реализована вытесняющая многозадачность, при которой операционная система не ждет, когда нить сама захочет освободить процессор, а принудительно снимает ее с выполнения после того, как та израсходовала отведенное ей время (квант), или если в очереди готовых появилась нить с более высоким приоритетом. При такой организации разделения процессора ни одна нить не займет процессор на очень долгое время.

В ОС Windows NT нить в ходе своего существования может иметь одно из шести состояний (рисунок 1). Жизненный цикл нити начинается в тот момент, когда программа создает новую нить. Запрос передается NT executive, менеджер процессов выделяет память для объекта-нити и обращается к ядру, чтобы инициализировать объект-нить ядра. После инициализации нить проходит через следующие состояния:

Рис. 1. Граф состояний нити

 

 

 

 

 

 

 

 

 

 

Готовность. При поиске нити на выполнение диспетчер просматривает только нити, находящиеся в состоянии готовности, у которых есть все для выполнения, но не хватает только процессора.

Первоочередная готовность (standby). Для каждого процессора системы выбирается одна нить, которая будет выполняться следующей (самая первая нить в очереди). Когда условия позволяют, происходит переключение на контекст этой нити.

Выполнение. Как только происходит переключение контекстов, нить переходит в состояние выполнения и находится в нем до тех пор, пока либо ядро не вытеснит ее из-за того, что появилась более приоритетная нить или закончился квант времени, выделенный этой нити, либо нить завершится вообще, либо она по собственной инициативе перейдет в состояние ожидания.

Ожидание. Нить может входить в состояние ожидания несколькими способами: нить по своей инициативе ожидает некоторый объект для того, чтобы синхронизировать свое выполнение; операционная система (например, подсистема ввода-вывода) может ожидать в интересах нити; подсистема окружения может непосредственно заставить нить приостановить себя. Когда ожидание нити подойдет к концу, она возвращается в состояние готовности.

Переходное состояние. Нить входит в переходное состояние, если она готова к выполнению, но ресурсы, которые ей нужны, заняты. Например, страница, содержащая стек нити, может быть выгружена из оперативной памяти на диск. При освобождении ресурсов нить переходит в состояние готовности.

Завершение. Когда выполнение нити закончилось, она входит в состояние завершения. Находясь в этом состоянии, нить может быть либо удалена, либо не удалена. Это зависит от алгоритма работы менеджера объектов, в соответствии с которым он и решает, когда удалять объект. Если executive имеет указатель на объект-нить, то она может быть инициализирована и использована снова.

Диспетчер ядра использует для определения порядка выполнения нитей алгоритм, основанный на приоритетах, в соответствии с которым каждой нити присваивается число - приоритет, и нити с более высоким приоритетом выполняются раньше нитей с меньшим приоритетом. В самом начале нить получает приоритет от процесса, который создает ее. В свою очередь, процесс получает приоритет в тот момент, когда его создает подсистема той или иной прикладной среды. Значение базового приоритета присваивается процессу системой по умолчанию или системным администратором. Нить наследует этот базовый приоритет и может изменить его, немного увеличив или уменьшив. На основании получившегося в результате приоритета, называемого приоритетом планирования, начинается выполнение нити. В ходе выполнения приоритет планирования может меняться.

Windows NT поддерживает 32 уровня приоритетов, разделенных на два класса - класс  реального времени и класс  переменных приоритетов. Нити реального  времени, приоритеты которых находятся  в диапазоне от 16 до 31, являются  более приоритетными процессами  и используются для выполнения  задач, критичных ко времени.

Каждый раз, когда необходимо выбрать нить для выполнения, диспетчер прежде всего просматривает очередь готовых нитей реального времени и обращается к другим нитям, только когда очередь нитей реального времени пуста. Большинство нитей в системе попадают в класс нитей с переменными приоритетами, диапазон приоритетов которых от 0 до 15. Этот класс имеет название "переменные приоритеты" потому, что диспетчер настраивает систему, выбирая (понижая или повышая) приоритеты нитей этого класса.

Алгоритм планирования нитей в Windows NT объединяет в себе обе базовых концепции - квантование и приоритеты. Как и во всех других алгоритмах, основанных на квантовании, каждой нити назначается квант, в течение которого она может выполняться. Нить освобождает процессор, если:  блокируется, уходя в состояние ожидания; завершается; исчерпан квант; в очереди готовых появляется более приоритетная нить.

Использование динамических приоритетов, изменяющихся во времени, позволяет реализовать адаптивное планирование, при котором не дискриминируются интерактивные задачи, часто выполняющие операции ввода-вывода и недоиспользующие выделенные им кванты. Если нить полностью исчерпала свой квант, то ее приоритет понижается на некоторую величину. В то же время приоритет нитей, которые перешли в состояние ожидания, не использовав полностью выделенный им квант, повышается. Приоритет не изменяется, если нить вытеснена более приоритетной нитью.

Для того, чтобы обеспечить хорошее время реакции системы, алгоритм планирования использует наряду с квантованием концепцию абсолютных приоритетов. В соответствии с этой концепцией при появлении в очереди готовых нитей такой, у которой приоритет выше, чем у выполняющейся в данный момент, происходит смена активной нити на нить с самым высоким приоритетом.

В многопроцессорных системах при диспетчеризации и планировании нитей играет роль их процессорная совместимость: после того, как ядро выбрало нить с наивысшим приоритетом, оно проверяет, какой процессор может выполнить данную нить и, если атрибут нити "процессорная совместимость" не позволяет нити выполняться ни на одном из свободных процессоров, то выбирается следующая в порядке приоритетов нить.

  1. Физическая организация и адрес файла

Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности на диске. Файл состоит из физических записей - блоков. Блок - наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью. Непрерывное размещение - простейший вариант физической организации (рисунок 2,а), при котором файлу предоставляется последовательность блоков диска, образующих единый сплошной участок дисковой памяти. Для задания адреса файла в этом случае достаточно указать только номер начального блока. Другое достоинство этого метода - простота. Но имеются и два существенных недостатка. Во-первых, во время создания файла заранее не известна его длина, а значит неизвестно, сколько памяти надо зарезервировать для этого файла, во-вторых, при таком порядке размещения неизбежно возникает фрагментация, и пространство на диске используется не эффективно, так как отдельные участки маленького размера (минимально 1 блок) могут остаться не используемыми.

Следующий способ физической организации - размещение в виде связанного списка блоков дисковой памяти (рисунок 2,б). При таком способе в начале каждого блока содержится указатель на следующий блок. В этом случае адрес файла также может быть задан одним числом - номером первого блока. В отличие от предыдущего способа, каждый блок может быть присоединен в цепочку какого-либо файла, следовательно, фрагментация отсутствует. Файл может изменяться во время своего существования, наращивая число блоков. Недостатком является сложность реализации доступа к произвольно заданному месту файла: для того, чтобы прочитать пятый по порядку блок файла, необходимо последовательно прочитать четыре первых блока, прослеживая цепочку номеров блоков. Кроме того, при этом способе количество данных файла, содержащихся в одном блоке, не равно степени двойки (одно слово израсходовано на номер следующего блока), а многие программы читают данные блоками, размер которых равен степени двойки.

 

Рис. 2. Физическая организация файла: а - непрерывное размещение; б - связанный список блоков; в - связанный список индексов; г - перечень номеров блоков

Популярным способом, используемым, например, в файловой системе FAT операционной системы MS-DOS, является использование связанного списка индексов. С каждым блоком связывается некоторый элемент - индекс. Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT). Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла. При такой физической организации сохраняются все достоинства предыдущего способа, но снимаются оба отмеченных недостатка: во-первых, для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока; во-вторых, данные файла занимают блок целиком, а значит, имеют объем, равный степени двойки.

В заключение рассмотрим задание физического расположения файла путем простого перечисления номеров блоков, занимаемых этим файлом. ОС UNIX использует вариант данного способа, позволяющий обеспечить фиксированную длину адреса, независимо от размера файла. Для хранения адреса файла выделено 13 полей. Если размер файла меньше или равен 10 блокам, то номера этих блоков непосредственно перечислены в первых десяти полях адреса. Если размер файла больше 10 блоков, то следующее 11-е поле содержит адрес блока, в котором могут быть расположены еще 128 номеров следующих блоков файла. Если файл больше, чем 10+128 блоков, то используется 12-е поле, в котором находится номер блока, содержащего 128 номеров блоков, которые содержат по 128 номеров блоков данного файла. И, наконец, если файл больше 10+128+128/128, то используется последнее 13-е поле для тройной косвенной адресации, что позволяет задать адрес файла, имеющего размер максимум 10+ 128 + 128/128 + 128/128/128.

  1. Переведите числа из одной системы счисления в другую: 22710→X8, 48610→X16, 32116→X10, 10011012→X10, A4E16→X10, 11000.11→X2

Решение:

  1. 22710→X8

При переводе числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток, меньше, чем 8:

227

8

 

   16

28

8

67

24

3

64

4

 

3

   

В результате, построив число из остатков деления (справа налево), получим число 3438

  1. 48610→X16

При переводе числа из десятичной СС в шестнадцатеричную СС, нужно последовательно делить число на 16, пока не получится целый остаток, меньше, чем 16:

486

16

 

  48

30

16

6

16

1

14

 

 

В результате получились остатки 6, 14 и 1. Десятичное число 14 соответствует шестнадцатеричному числу E. Поэтому получилось число 1E616

  1. 32116→X10

При переводе числа из шестнадцатеричной СС в десятичную, нужно пронумеровать число справа налево:

 2  1  0

32116 , а затем записать в виде: 32116=3·162+2·161+1·160, где 16 – основание СС, показатели степени – номер позиции. Вычислим:

32116=3·162+2·161+1·160=3·256+2·16+1=768+32+1=80110

  1. 10011012→X10

Аналогично предыдущему примеру осуществляется перевод числа из двоичной СС в десятичную СС. Сначала пронумеруем число справа налево и запишем его в виде суммы:

6  5  4  3  2  1  0

10011012=1·26+0·25+0·24+1·23+1·22+0·21+1·20=64+0+0+8+4+1=7710

  1. A4E16→X10

Аналогично предыдущему примеру осуществляется перевод числа из шестнадцатеричной СС в десятичную СС, но шестнадцатеричное число A соответствует десятичному числу 10, а E=14, поэтому пронумеруем это число и запишем в следующем виде:

2   1 0

A4E16=A·162+4·161+E·160=10·162+4·161+14·160=10·256+4·16+14=2560+64+14=263810

  1. 11000.11→X2

Чтобы перевести число из десятичной СС в двоичную СС, нужно последовательно делить целую часть данного числа на 2 до получения целого остатка, меньше, чем 2:

 

11000

2

                       

10

5500

2

                     

  10

4

2750

2

                   

  10

15

2

1375

2

                 

0

14

  7

12

687

2

               
 

10

  6

17

6

343

2

             
 

10

15

16

8

2

171

2

           
 

0

14

15

8

14

16

85

2

         
   

10

14

7

14

  11

8

42

2

       
   

10

1

6

3

10

5

4

21

2

     

 

0

 

1

2

1

4

2

2

10

2

   
         

1

 

1

2

1

10

5

2

 
               

0

 

0

4

2

2

                     

1

2

1

                       

0

 

 

 

 

Чтобы перевести дробную часть, нужно последовательно умножать его на 2. Если в результате умножения получится число с целой частью, отличной от нуля, то целая часть записывается отдельно (слева от числа), а само число записывается с нулевой дробной частью. Если же при умножении получится число с нулевой дробной частью, то слева от него записывается 0.  Умножать нужно до тех пор, пока в дробной части не получится 0 или не получится требуемое количество разрядов. В нашем случае дробная часть получается лишком длинной, поэтому мы ограничимся 10 знаками после точки.

 

 

 

   

0,11

 

×

 
   

2

0

 

0,22

 

×

 
   

2

0

 

0,44

 

×

 
   

2

0

 

0,88

 

×

 
   

2

1

 

0,76

 

×

 
   

2

1

 

0,52

 

×

 
   

2

1

 

0,04

 

×

 
   

2

0

 

0,08

 

×

 
   

2

0

 

0,16

 

×

 
   

2

0

 

0,32

 

×

 
   

2

0

 

0,64

 

×

 
   

2

   

0,28

Контрольная работа по «Операционные системы ЭВМ»