Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Контрольная работа (вариант 4) - файл Контрольная работа по СПО.doc


Контрольная работа (вариант 4)
скачать (38.8 kb.)

Доступные файлы (4):

Контрольная работа по СПО.doc209kb.28.02.2007 04:42скачать
Официанты клиенты.doc25kb.28.02.2007 04:04скачать
Список используемой литературы.doc22kb.28.02.2007 16:21скачать
ТИТульный лист.doc21kb.02.03.2007 17:13скачать

содержание
Загрузка...

Контрольная работа по СПО.doc

Реклама MarketGid:
Загрузка...
1.1. Способы классификации операционных систем (по назначению, по организации работы, по архитектурным особенностям, по режиму обработки).


Операционная система (ОС) - это совокупность программных средств, осуществляющих управление ресурсами ЭВМ, запуск прикладных программ и их взаимодействие с внешними устройствами и другими программами, а также обеспечивающих диалог пользователя с компьютером. Ресурсом является любой компонент ЭВМ и предоставляемые им возможности: центральный процессор, оперативная или внешняя память, внешнее устройство, программа и т. д. ОС загружается при включении компьютера. Она предоставляет пользователю удобный способ общения (интерфейс) с вычислительной системой. Интерфейс при этом может быть программным и пользовательским.
^ Классификация операционных систе
Операционные системы классифицируются по:

  • количеству одновременно работающих пользователей: однопользовательские, многопользовательские;

  • числу процессов, одновременно выполняемых под управлением системы;

  • количеству решаемых задач: однозадачные, многозадачные;

  • количеству поддерживаемых процессоров: однопроцессорные, многопроцессорные;

  • разрядности кода ОС: 8-разрядные, 16-разрядные, 32-разрядные, 64-разрядные;

  • типу интерфейса: командные (текстовые) и объектно-ориентированные (графические);

  • типу доступа пользователя к ЭВМ: с пакетной обработкой, с разделением времени, реального времени;

  • типу использования ресурсов: сетевые, локальные.

В соответствии с первым признаком классификации многопользовательские операционные системы, в отличие от однопользовательских, поддерживают одновременную работу на ЭВМ нескольких пользователей за различными терминалами. Второй признак предполагает деление ОС на многозадачные и однозадачные. Понятие многозадачности означает поддержку параллельного выполнения нескольких программ, существующих в рамках одной вычислительной системы, в один момент времени. Однозадачные ОС поддерживают режим выполнения только одной программы в отдельный момент времени. В соответствии с третьим признаком многопроцессорные ОС, в отличие от однопроцессорных, поддерживают режим распределения ресурсов нескольких процессоров для решения той или иной задачи. Четвертый признак подразделяет операционные системы на 8-, 16-, 32- и 64-разрядные. При этом подразумевается, что разрядность операционной системы не может превышать разрядности процессора. В соответствии с пятым признаком ОС по типу пользовательского интерфейса делятся на объектно-ориентированные (как правило, с графическим интерфейсом) и командные (с текстовым интерфейсом). Согласно шестому признаку ОС подразделяются на системы:

  • пакетной обработки, в которых из программ, подлежащих выполнению, формируется пакет (набор) заданий, вводимых в ЭВМ и выполняемых в порядке очередности с возможным учетом приоритетности;

  • разделения времени, обеспечивающих одновременный диалоговый (интерактивный) режим доступа к ЭВМ нескольких пользователей на разных терминалах, которым по очереди выделяются ресурсы машины, что координируется операционной системой в соответствии с заданной дисциплиной обслуживания;

  • реального времени, обеспечивающих определенное гарантированное время ответа машины на запрос пользователя с управлением им какими-либо внешними по отношению к ЭВМ событиями, процессами или объектами.

В соответствии с седьмым признаком классификации ОС делятся на сетевые и локальные. Сетевые ОС предназначены для управления ресурсами компьютеров, объединенных в сеть с целью совместного использования данных, и предоставляют мощные средства разграничения доступа к данным в рамках обеспечения их целостности и сохранности, а также множество сервисных возможностей по использованию сетевых ресурсов. В настоящее время распространены следующие семейства операционных систем: DOS; OS/2; UNIX; Windows; ОС реального времени. ОС семейства DOS Первый представитель этого семейства - система MS-DOS (Microsoft Disk Operating System - дисковая операционная система фирмы Microsoft) была выпушена в 1981 году в связи с появлением IBM PC.


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

Одним из первых механизмов, предложенных для синхронизации поведения процессов, стали семафоры, концепцию которых описал Дейкстра (Dijkstra) в 1965 году.
^

Концепция семафоров


Семафор представляет собой целую переменную, принимающую неотрицательные значения, доступ любого процесса к которой, за исключением момента ее инициализации, может осуществляться только через две атомарные операции: P (от датского слова proberen – проверять) и V (от verhogen – увеличивать). Классическое определение этих операций выглядит следующим образом:

P(S): пока S == 0 процесс блокируется;

S = S – 1;

V(S): S = S + 1;

Эта запись означает следующее: при выполнении операции P над семафором S сначала проверяется его значение. Если оно больше 0, то из S вычитается 1. Если оно меньше или равно 0, то процесс блокируется до тех пор, пока S не станет больше 0, после чего из S вычитается 1. При выполнении операции V над семафором S к его значению просто прибавляется 1. В момент создания семафор может быть инициализирован любым неотрицательным значением.

Подобные переменные-семафоры могут с успехом применяться для решения различных задач организации взаимодействия процессов. В ряде языков программирования они были непосредственно введены в синтаксис языка (например, в ALGOL-68), в других случаях реализуются с помощью специальных системных вызовов. Соответствующая целая переменная располагается внутри адресного пространства ядра операционной системы. Операционная система обеспечивает атомарность операций P и V, используя, например, метод запрета прерываний на время выполнения соответствующих системных вызовов. Если при выполнении операции P заблокированными оказались несколько процессов, то порядок их разблокирования может быть произвольным, например, FIFO.
^

Решение проблемы производитель-потребитель с помощью семафоров


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

Producer: while(1) {

produce_item;

put_item;

}

Consumer: while(1) {

get_item;

consume_item;

}


Если буфер заполнен, то производитель должен ждать, пока в нем появится место, чтобы положить туда новую порцию информации. Если буфер пуст, то потребитель должен дожидаться нового сообщения. Как можно реализовать эти условия с помощью семафоров? Возьмем три семафора: empty, full и mutex. Семафор full будем использовать для гарантии того, что потребитель будет ждать, пока в буфере появится информация. Семафор empty будем использовать для организации ожидания производителя при заполненном буфере, а семафор mutex – для организации взаимоисключения на критических участках, которыми являются действия put_item и get_item (операции "положить информацию" и "взять информацию" не могут пересекаться, так как в этом случае возникнет опасность искажения информации). Тогда решение задачи на C-подобном языке выглядит так:

Semaphore mutex = 1;

Semaphore empty = N; /* где N – емкость буфера*/

Semaphore full = 0;

Producer:

while(1) {

produce_item;

P(empty);

P(mutex);

put_item;

V(mutex);

V(full);

}

Consumer:

while(1) {

P(full);

P(mutex);

get_item;

V(mutex);

V(empty);

consume_item;

}


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

1.3. Файловая система ОС UNIX.

В ОС UNIX вся информация размещается в файлах. Файлы организованы в файловую систему.

В ОС UNIX файл - это любая информация, такая как письмо, отчет доклад, программа и т.д., которую вы храните. Файл имеет несколько частей: имя, содержание и индексный дескриптор inode (information node). В индексном дескрипторе хранится служебная и системная информация, такая как длина файла, место хранения содержания файла на диске и т.д.

Существует четыре основных типа файлов: обычный файл (regular), каталог (directory), специальный (special) и символическая связь (symbolic link).

Обычный файл содержит тексты заметок, программ или числа. Как правило, такие файлы вы создаете редактором (например, vi) или текстовым процессором. Обычные файлы могут быть исполняемыми. Один тип исполняемых файлов - это shell программа, содержащая командные строки подобные тем, что вы вводите в ответ на приглашение shell. Другой тип выполняемого файла - это откомпилированная программа, которая содержит команды, переведенные с языка программирования высокого уровня (например, C) на машинный язык. Большинство команд ОС UNIX - это откомпилированные программы.

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

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

^ Символическая связь - это файл, содержащий инструкции, которые указывают на другой файл. Символические связи могут связывать файлы в разных файловых системах. Они также помогают сохранять более старые имена каталогов совместно с более новыми. Например, в ранних версиях ОС UNIX каталог news был организован в каталоге usr. Сейчас каталог news символически связан с каталогом news, находящемся в каталоге var.

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

^ ФАЙЛОВАЯ СИСТЕМА ОС UNIX

  • Иерархическая

  • Перевернутое дерево

  • Начинается в корневом каталоге с именем /


1.4. Запрограммировать схему "клиенты – официант", используя семафоры. Распространить схему на случай нескольких официантов, причем запрос на услугу может выполняться любым из них. Предусмотреть возможность появления клиента, который должен обслуживаться немедленно (т.е. предусмотреть два уровня приоритетов).


Для программирования такого взаимодействия будут использованы три семафорные переменные start, client, oficiant и счетчики процессов- официантов -of и процессов – клиентов - cl. Семафор start обеспечивает взаимное исключение при доступе к счетчикам of и cl. Семафор client обеспечивает взаимное исключение процессов-клиентов, а семафор oficiant - процессов- официантов.

Вначале описываются общие переменные процессов. var start =1, client =1, oficiant =1, murex = 1: semaphore; /* Все семафоры инициализируются значением 1 */

of, cl: integer;
of, cl:=0;
. . .

Client:

{
P(start);
    cl: = cl + l; /* пришел очередной процесс-писатель*/
    if cl =1 then P(client);

/* Первый пришедший процесс-клиент останавливает старт новых процессов-официантов */

V(start);
    if of ≠ O then P(oficiant);

/* Процессы-клиенты должны ждать завершения стартовавших процессов-официантов */

P(mutex)     .../* осуществляется запись */

V(mutex)


P(start);
    cl: = cl - 1; /* процесс-клиент завершился*/
    if cl=0 then V(client);

/* последний процесс-клиент завершился, семафор client открыт для процессов-официантов*/

V(start);
}

Oficiant:

{
    L : if cl ≠ 0 then P(client);

/* если работают процессы-клиенты, то надо ждать их завершения */

P(start);
    if cl ≠ 0 then (V(start); go to L;);
    of: = of + l;
     if of = 1 then P(oficiant);
V(start);
    ... производится чтение ...
P(start);     of: = of - 1;
    if of = 0 then V(oficiant);
V(start);
}


2. Рассчитать для своего варианта.

2.1. Есть диск с N цилиндрами (от 0 до N). Время перемещения головки между соседними цилиндрами составляет Tмс. В текущий момент времени головка находится на K- ом цилиндре и двигается в сторону увеличения номеров цилиндров. Нарисуйте диаграммы, показывающие, в каком порядке будет обрабатываться последовательность запросов на чтение цилиндров для алгоритмов: FCFS (FIFO), SSTF, SCAN. Вычислите полное время обработки последовательности запросов (временами чтения цилиндров, смены направления движения и перевода головок с N- го цилиндра на 0-й пренебречь).

N = 80, T = 1, K = 78.

Решение:

^ Для алгоритма FCFS имеет значение первоочередность поступления запросов, то есть для этого алгоритма последовательность сложится следующим образом:

78-48-13-62-1-79, полное время обработки последовательности запросов:

Т = (78-48) + (48-13) + (62-13) + (62-1) + (79-1) = 253мс




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

78-79-62-48-13-1, время обработки запросов:

Т = (79-78) + (79-62) + (62-48) + (48-13) + (13-1) = 79мс



^ Для алгоритма SCAN приоритетом служит сканирование цилиндров от одного края до другого с попутной обработкой всех встречающихся, и последовательность будет:

78-79-80-62-48-13-1, время обработки запроса:

Т = (79-78) + (80-79) + (80-62) + (62-48) + (48-13) + (13-1) = 81мс




2.2. Для некоторого процесса известна строка запросов страниц памяти

Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при каждом из трех алгоритмов замещения страниц — FIFO, LRU, NFU, если процессу выделено N кадров памяти?


вариант

строка запросов страниц памяти

N

4

4, 5, 2, 1, 5, 3, 7, 1, 7, 5, 2, 1, 3, 7, 5, 2, 2, 3, 7, 5, 2, 1, 3,

4


Решение:

Алгоритм FIFO:





4

5

2

1

5

3

7

1

7

5

2

1

3

7

5

2

2

3

7

5

2

1

3

1

4

5

2

1

1

3

7

7

7

5

2

1

3

7

5

2

2

2

2

2

2

1

3

2




4

5

2

2

1

3

3

3

7

5

2

1

3

7

5

5

5

5

5

5

2

1

3







4

5

5

2

1

1

1

3

7

5

2

1

3

7

7

7

7

7

7

5

2

4










4

4

5

2

2

2

1

3

7

5

2

1

3

3

3

3

3

3

7

5




Р

Р

Р

Р



Р

Р







Р

Р

Р

Р

Р

Р

Р
















Р

Р


Для алгоритма FIFO возникает 15 ситуаций отказа страницы.


Алгоритм LRU:






4

5

2

1

5

3

7

1

7

5

2

1

3

7

5

2

2

3

7

5

2

1

3

1

4

5

2

1

1

3

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2




4

5

2

2

1

7

7

7

7

7

7

3

3

3

3

3

3

3

3

3

1

1

3







4

5

5

2

5

5

5

5

5

5

5

5

7

7

7

7

7

7

7

7

3

4










4

4

5

3

3

3

3

2

2

2

2

5

5

5

5

5

5

5

5

5




Р

Р

Р

Р




Р

Р










Р




Р

Р

Р

Р
















Р

Р


Для алгоритма LRU возникает 13 ситуаций отказа страницы.


Алгоритм NFU:





4

5

2

1

51

3

7

11

71

52

21

12

31

72

53

22

23

32

73

54

24

13

33

1

4

5

2

1

1

1

7

7

7

7

7

1

1

1

1

2

2

2

2

2

2

2

2

2




4

5

2

2

3

3

1

1

1

2

2

3

7

7

7

7

3

7

7

7

1

3

3







4

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

4










4

4

4

4

4

4

4

4

4

4

4

4

4

4

4

4

4

4

4

4




Р

Р

Р

Р




Р

Р

Р







Р

Р

Р

Р




Р




Р

Р







Р

Р


Для алгоритма NFU возникает 16 ситуаций отказа страницы.


2.3. Пусть в вычислительную систему поступает набор из пяти процессов различной длительности со статическими приоритетами.
Вычислите среднее время между стартом процесса и его завершением (turnaroud time) и среднее время ожидания процесса (waiting time) для каждого из алгоритмов планирования, указанных в таблице выбора варианта. При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь. Для алгоритма RR принять, что вновь прибывший процесс попадает в САМЫЙ конец очереди готовых (после процесса, отработавшего свой квант). Наивысшим приоритетом является приоритет 0. В таблице принято: PPP- вытесняющее приоритетное планирование, SJFP - вытесняющее SJF.


^ Набор процессов-1


Номер процесса

Момент поступления в систему

Время исполнения

Приоритет

1

3

10

1

2

6

4

0

3

0

5

3

4

2

1

4

5

4

3

2

вариант

4

набор процессов

1

квант времени

4

алгоритмы

SJFР FCFS,



Для алгоритма FCFS:





0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

Р1










г

г

г

и

и

и

и

и

и

и

и

и

и






















Р2



















г

г

г

г

г

г

г

г

г

г

г

г

г

и

и

и

и

Р3

и

и

и

и

и























































Р4







г

г

г

и




















































Р5













г

г

г

г

г

г

г

г

г

г

г

г

и

и

и














Среднее время ожидания процесса: Среднее время выполнения процесса


WT = (Tр1+Тр2+Тр3+Тр4+Тр5)/5 ТT = (Tр1+Тр2+Тр3+Тр4+Тр5)/5

Tр1=3

Tр2=13

Tр3=0

Tр4=3

Tр5=12

Tр1=13

Tр2=17

Tр3=5

Tр4=4

Tр5=15

WT = (3+13+0+3+12)/5=6,2 ТT = (13+17+5+4+15)/5=10,8


Для алгоритма SJFP:




0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

Р1










г

г

г

г

г

г

г

г

г

г

и

и

и

и

и

и

и

и

и

и

Р2



















г

г

г

и

и

и

и































Р3

и

и

г

и

и

и




















































Р4







и





























































Р5













г

г

и

и

и












































Среднее время ожидания процесса: Среднее время выполнения процесса


WT = (Tр1+Тр2+Тр3+Тр4+Тр5)/5 ТT = (Tр1+Тр2+Тр3+Тр4+Тр5)/5

Tр1=10

Tр2=3

Tр3=1

Tр4=0

Tр5=2


Tр1=20

Tр2=7

Tр3=6

Tр4=1

Tр5=5



WT = (3+13+0+3+12)/5=3,2 ТT = (13+17+5+4+15)/5=7,8




Список используемой литературы:



  1. Гордеев А.В. Операционные системы. 2-е изд. - СПб.: Питер, 2004.. -416 с.

  2. Карпов В. Е. и Коньков К. А. Основы операционных систем. М. Интернет-университет информационных технологий - ИНТУИТ.ру. 2004.

Ресурсы Интернета:


1. http://www.intuit.ru/department/os/osintropractice/class/free/5/3.html


2. http://www.proinfotech.ru/compis10.htm


3. INTUIT_ru.Интернет-Университет Информационных Технологий.htm


4. www.twir/px.com






Скачать файл (38.8 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru