рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ОПЕРАЦИОННЫЕ СИСТЕМЫ

ОПЕРАЦИОННЫЕ СИСТЕМЫ - раздел Образование, ОПЕРАЦИОННЫЕ СИСТЕМЫ (Учебное Пособие)   Иваново ...

(учебное пособие)

 

Иваново 2011


Оглавление

ВВЕДЕНИЕ.. 4

1. ОПЕРАЦИОННАЯ СИСТЕМА: ОСНОВНЫЕ ПОНЯТИЯ.. 8

1.1. Понятие операционной системы, её роль и функции. 8

1.2. Операционная и программная среды.. 10

1.3. Очередь и стек. 10

1.4. Машинная команда, способы адресации, привелегированные команды.. 11

1.5.Система прерываний. 12

1.6. Задачи, вычислительные процессы и ресурсы.. 16

1.7. Мультипрограммный, мультизадачный и многопользовательский режимы работы операционной системы. Режим разделения времени. 20

2. УПРАВЛЕНИЕ ПАМЯТЬЮ В ОПЕРАЦИОННЫХ СИСТЕМАХ.. 24

2.1. Память и отображения, виртуальное адресное пространство. 24

2.2. Простое непрерывное распределение и распределение с перекрытием.. 25

2.3. Распределение памяти статическими разделами. 26

2.4. Распределение памяти с динамическими разделами. 27

2.5. Распределение памяти с фрагментацией задач. 27

3. УПРАВЛЕНИЕ ПРОЦЕССАМИ.. 34

3.1. Реализация последовательного процесса в операционной системе. 34

3.2. Планирование и диспетчеризация процессов и задач. 34

3.3. Управление параллельными процессами. 39

3.3.1. Понятие параллельных процессов. 39

3.3.2. Методы реализации взаимных исключений. 42

3.3.3. Блокировка памяти. 42

3.3.4. Применение специальных операций типа "проверка–установка". 44

3.3.5.Семафоры и их применение. 45

3.3.6. Мониторы.. 49

3.3.7. Почтовые ящики, конвейеры и очереди сообщений. 50

4. ПРОБЛЕМА ТУПИКОВ И ЕЁ РЕШЕНИЕ.. 54

4.1. Проблема тупиков, разделяемые ресурсы и модели параллельных процессов. 54

4.2. Модель повторно используемых ресурсов Холта. 54

4.3. Сети Петри. 59

4.4. Модель пространства состояний системы.. 63

4.5. Борьба с тупиками. 64

4.5.1. Предотвращение тупиков. 64

4.5.2. Обход тупиков. 65

4.5.3. Обнаружение тупика. 67

5. ЖЁСТКИЙ ДИСК.. 70

5.1. Устройство накопителя жесткого диска (HDD) и адресация элементов дискового пространства 70

5.2. Логическая структура диска. 71

5.3. Создание загрузочных дисков. 72

6. ФАЙЛОВЫЕ СИСТЕМЫ... 74

6.1. Файлы и каталоги. 74

6.2. Понятие и функции файловой системы и системы управления файлами. 75

6.3. Обзор файловых систем.. 77

6.3.1. Файловая система FAT16, FAT32 и VFAT. 77

6.3.2. Файловая система NTFS. 82

6.3.3. Файловые системы компакт-дисков. 85

7. СРЕДСТВА ЗАЩИТЫ И ВОССТАНОВЛЕНИЯ ОПЕРАЦИОННЫХ СИСТЕМ... 90

7.1. Цифровая подпись драйверов и её верификация. 90

7.2. Защита и проверка системных файлов. 90

7.3. Откат драйверов. 91

7.6. Безопасный режим загрузки. 91

7.7. Мастер и точки восстановления системы.. 92

7.8. Резервное копирование и восстановление. 92

7.9. Аварийное восстановление системы. Консоль восстановления. 93

8. ЗАГРУЗЧИКИ ОПЕРАЦИОННЫХ СИСТЕМ... 95

8.1. Понятие загрузчика и виды его реализации. 95

8.2. Решение проблемы четырех разделов в MBR.. 97

8.3. Установка загрузчиков ОС.. 98

8.4. Настройка загрузчиков ОС.. 99

8.5. Удаление загрузчиков ОС.. 100

9. СИСТЕМНЫЙ РЕЕСТР И СИСТЕМНЫЕ СЛУЖБЫ... 101

9.1. Назначение и структура реестра. 101

9.2. Работа с реестром.. 103

9.3. Системные службы.. 105

10. БЕЗОПАСНОСТЬ ОПЕРАЦИОННЫХ СИСТЕМ... 107

10.1. Угрозы, уязвимости, атаки. 107

10.2. Политика безопасности. 109

10.3. Защита от вторжений. 110

10.4. Межсетевые экраны.. 112

10.5. Отключение ненужных служб. 114

10.6. Защита от спама. 115

10.7. Защита от вредоносных программ и вирусов. 116

10.8. Защита конфиденциальной информации. 117

СПИСОК ЛИТЕРАТУРНЫХ ИСТОЧНИКОВ.. 121


ВВЕДЕНИЕ

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

Операционная система – это набор программ (обычных и микро), которые обеспечивают пользователю возможность использования аппаратуры компьютера и его ресурсов в удобном для него виде. Именно она формирует интерфейс между аппаратурой компьютера и человеком, причем задача создателей ОС состоит в том, чтобы сделать этот интерфейс, как теперь принято говорить, как можно более дружественным. Свойства ОС зачастую оказываются не менее важными, чем свойства аппаратуры. Известны случаи, когда переход с одной ОС на другую на одной и той же машине приводил почти к пятикратному ускорению разработки программ. На “голой” машине в современном мире не работает практически никто, и именно это определяет интерес к операционным
системам.

Поколения ОС также как и аппаратные средства отражают достижения в области электронных компонентов: 1 поколение – лампы, 2 поколение – транзисторы, 3 поколение – интегральные микросхемы (ИС), 4 поколение большие и сверхбольшие интегральные схемы – БИС и СБИС.

Нулевое поколение (40 - 50 гг.) – ОС в современном понятии отсутствуют. Полный доступ к ресурсам ВМ осуществляется программами, написанными в двоичном коде и реализующими машинный язык. Компьютеры использовались в монопольном интерактивном режиме, причём основное время работы компьютера приходилось на ожидание каких-либо действий пользователя или программиста

Первое поколение (60-е гг.) – возникновение системы пакетной обработки, предусматривающей:

· постоянное нахождение в машине управляющей программы;

· формирование очереди задач, включающих в себя программу и данные;

· выполнение в каждый момент работы ВМ одной прикладной программы;

· формирование задания на выполнение программы в виде пакета, представляющего собой совокупность отдельных программ и данных, разделенных специальными символами;

· вывод результатов выводятся на внешнее устройство в форме пакета результатов.

Пользователь общается с машиной через оператора, который принимает пакеты задач и выдаёт пакеты результатов.

Пакет может быть составлен на перфокартах или МЛ. В машине постоянно находится управляющая программа, которая считывает последовательно пользовательские программы и данные из пакета и загружает их на выполнение. Управляющая программа должна фиксировать время исполнения каждой программы, реагировать на определенные ситуации по управлению программами по мере их исполнения (прекращать выполнение). Другими словами, она должна выполнять внутрисистемные операции управления, которые пользователь осуществлял ранее на физическом уровне. Дополнительно эта программа должна автоматически переключать машину на исполнение программ из пакета по последовательной схеме (FIFO). Такую системную программу можно назвать простейшей ОС, обеспечивающей обработку программ в однопрограммном пакетном режиме.

Недостатки:

· использование части машинного времени на выполнение системной управляющей программы;

· простои процессора до завершения операций обмена данными между машиной и внешними устройствами;

· простой внешних устройств во время вычислений.

Второе поколение(65 – 75 гг.) – операционные системы мультипрограммного пакетного режима, системы с разделением времени и первые системы реального времени.

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

Системы с разделением времени (РВ), предоставляли пользователям возможность непосредственно взаимодействовать с компьютером при помощи терминалов сначала телетайпного типа, а в последующем и с помощью клавиатуры и дисплея. В этих системах реализовывались диалоговый или интерактивный режимы.

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

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

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

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

Третье поколение (70-80 гг.) было поколением многорежимных систем, обеспечивающих пакетную обработку, разделение времени, режим реального времени и мультипроцессорный режим. Они были громоздкими, дорогостоящими монстрами. Например, фирме IBM разработка ОС/360 стоила 6 млрд. долларов, что соизмеримо с затратами американской программы NASA высадки человека на Луне. Эти системы значительно усложнили вычислительную среду, поэтому для выполнения простейшей программы необходимо было изучать сложные языки управления заданием (JCL – Job Control Language).

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

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

Четвертое поколение (с середины 70-х до 90-х гг.) развивалось в период удешевления стоимости вычислительной техники в условиях внедрения микропроцессоров, позволивших дать компьютер практически каждому пользователю. В этот период бурно развиваются вычислительные сети и средства оперативной обработки данных (on-line). Возникло понятие сетевого компьютера, способного получать все ресурсы через компьютерную сеть.

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

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

Другим важным достижением стала технология распределённой обработки данных Клиент - Сервер, которая предусматривает существование двух процессов (документов или устройств) – клиента (потребителя информации) и сервера (поставщика информации).

Существенное внимание в операционных системах четвёртого поколения уделено защите информации.

Пятое поколение(с середины 90-х гг.) операционных систем стало поколением операционных систем с широкой поддержкой беспроводной связи для мобильных устройств.

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

 

Контрольные вопросы:

1. Дайте определение операционной системе.

2. Какова роль операционной системы в комплексе человек–вычислительная машина?

3. Какие факторы влияют на развитие операционных систем?

4. Как осуществлялось управление вычислительной машиной операционными системами нулевого поколения?

5. Чем характерно первое поколение операционных систем?

6. Что такое пакет и пакетная обработка данных?

7. Каковы недостатки однопрограммной пакетной обработки данных?

8. Что такое мультипрограммный пакетный режим обработки данных?

9. Что такое разделение времени?

10. Что такое операционные системы реального времени?

11. Как кратко охарактеризовать операционные системы третьего поколения?

12. Что такое вытесняющая многозадачность?

13. Что такое приоритетное планирование?

14. Что такое квоты в операционных системах и что они в них определяют?

15. Что такое мультипроцессорный режим?

16. В каком поколении операционных систем стали активно поддерживаться вычислительные сети?

17. Что такое сетевой компьютер?

18. Что такое виртуальный ресурс?

19. Что такое технология Клиент – Сервер?

20. В каком поколении операционных систем одной из важнейших задач стала защита данных?

21. Какую особенность имеют операционные системы пятого (последнего на сегодняшний день) поколения?


1. ОПЕРАЦИОННАЯ СИСТЕМА: ОСНОВНЫЕ ПОНЯТИЯ

1.1. Понятие операционной системы, её роль и функции

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

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

Основными функциями операционной системы являются:

· приём от пользователя или оператора машины заданий или команд, сформулированных на соответствующем языке, и их обработка;

· загрузка в оперативную память подлежащих исполнению программ;

· распределение памяти, а в большинстве современных систем и организация виртуальной памяти;

· запуск программы на исполнение, т.е. передача ей управления;

· идентификация всех программ и данных;

· приём и исполнение различных запросов от выполняющихся программ;

· обслуживание всех операций ввода-вывода;

· обеспечение систем управления файлами и систем управления базами данных;

· обеспечение режима мультипрограммирования;

· планирование и диспетчеризация задач в соответствии с принятыми стратегией и дисциплиной обслуживания;

· организация механизм а обмена сообщениями и данными между выполняющимися программами;

· обеспечение взаимодействия связанных компьютеров (для сетевых операционных систем);

· защита от воздействия исполняемой программы на другие программы и саму операционную систему;

· проверка соответствия логина и пароля пользователя на соответствие данным учетной записи и назначение ему прав доступа (привилегий);

· удовлетворение жёстким ограничениям на время ответа в режиме реального времени (для операционных систем реального времени);

· обеспечение работы систем программирования;

· предоставление услуг на случай частичного сбоя системы.

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

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

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

Продолжая структуризацию операционной системы, внутри неё можно вы­делить множество уровней, по которым распределяются модули операционной системы. На рис. 1.1 показан пример ядра операционной системы с пятью уровнями. Самый низкий уровень Hardware является уровнем, модули которого выполняют роль посреддников между программным обеспечением и аппаратной частью вычислительной системы.

 
 

 


Рис. 1.1. Операционная система, привилегированный режим и программы пользователя

На следующем уровне находятся супервизоры, команды которых явля­ются привилегированны­ми и имеют наивысший приоритет (значимость для вычислительной машины). На следующих уровнях находятся модули управления памятью, драйверы и модули интерфейса пользователя. Операционные системы с немонолитным ядром называются слоёными системами. Они имеют более низкую эффективность по сравнению с системами с монолитным ядром.

Граница ядра показана жирной линией. Она на рисунке является и грани­цей привелигированного режима. В области непривилегированного режима находятся непривилегированные модули операционной системы и программы пользователей.

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

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

 

1.2. Операционная и программная среды

В любой операционной системе имеется некоторая самая главная программа, которая управляет всеми другими выполняющимися программами. Эта программа называется супервизором.

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

Набор функций и сервисов, предоставляемых операционной системой, а также правил обращения к ним называется операционной средой. Программа, созданная для работы в некоторой операционной системе, вряд ли будет работать в другой. Причина отказа от работы в том, что, скорее всего, у неё будет другой API. Однако программным способом можно создать в другой операционной системе необходимое подмножество программ, которые будут посредниками между переносимой программой и операционной системой и создадут промежуточный API. Такое подмножество программ называется программной средой. Именно за счёт множества программных сред операционная система Windows XP способна выполнять 16-разрядные приложения, написанные под MS DOS, Windows 3.х и первую версию OS/2.

 

1.3. Очередь и стек

Очередь и стек – это особые формы организации памяти с автоматическим определением адресов записи чтения данных. Для их организации используются ячейки памяти со смежными адресами, т.е. расположенные в запоминающем устройстве одна за другой, и специальные ячейки для хранения адресов размещаемых в них и извлекаемых из них данных (рис. 1.2). Цифрам в таблице обозначены данные, помещённые в очередь или стек, Д1 – записываемые данные, Д2 – извлекаемые данные, А1 и А2 – адреса начала и конца очереди или стека, L – длина очереди в байтах.

Очередь организуется по принципу первым "пришёл – первым ушёл", т.е. записываемые данные ставятся в конец очереди, а читаемые – в начало. По мере чтения данных происходит продвижение оставшихся данных на одну позицию вправо. Это напоминает обычную очередь на обслуживание, например, живую очередь в кассу магазина. В специальных ячейках памяти хранятся адреса начала очереди и её конца. Возможно вычисление адреса извлекаемых данных по адресу начала очереди А1 и длине очереди в байтах L.

       
   
 

 




а)

    б)

Рис. 1.2. Организация очереди (а) и стека (б)

Стек организуется по принципу "последний пришёл – первый ушёл" и напоминает детскую пирамидку – основание и перпендикулярный к нему стержень, на который надеваются кольца. Адрес А1 называется вершиной стека. При записи данных в стек адрес увеличивается на длину данных и стек наращивается в сторону увеличения адреса, т.е. длина стека растёт влево.

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

 

1.4. Машинная команда, способы адресации,
привилегированные команды

Машинная команда – это последовательность битов длиной в 1,2 и более байтов, которая определяет выполняющуюся операцию и источники данных. В машинной команде можно выделить две части (поля): код операции и адресную часть. Код операции определяет операцию, подлежащую выполнению, а так же длину команды и способ адресации данных, т.е. способ задания адресов обрабатываемых данных.

Существуют следующие способы адресации:

· непосредственная (данные указываются непосредственно в команде);

· прямая (в адресной части указывается адрес ячейки памяти данных);

· регистровая (адрес хранится в одном из регистров процессора);

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

Существуют команды, которые могут выполняться только операционной системой, но не программами пользователя. Такие команды называются привилегированными.

1.5.Система прерываний

Любая программа выполняется процессором, который минимально состоит из арифметико-логического устройства АЛУ, устройства управления и нескольких регистров – устройств внутренней памяти процессора, которые помимо хранения данных позволяют выполнять различные действия над данными без помещения их в АЛУ, например команды сдвига. Среди этих регистров есть регистры РС (один или два), которые содержат адрес выполняемой команды. Совокупность данных, содержащихся в регистрах, и ряд других служебных данных называются состоянием процесса вычислений. Более полная информация, включающая в себя и состояние процесса вычислений, называется контекстом программы. Передача управления сводится к записи в регистры, определяющие адрес команды, адреса новой команды. Вместе с программой в памяти машины существует служебная информация, которая называется дескриптором процесса.

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

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

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

В простых системах запрос на прерывание вызывает следующие действия:

· адрес возврата, т.е. адрес команды, продолжающей выполнение программы, записывается в специальный стек;

· адрес программы обрабатывающей прерывание (вектор прерывания), записывается в регистр адреса команд РС, тем самым управление передаётся программе обработки прерывания;

· выполняется программа, обрабатывающая прерывание;

· адрес возврата из стека возвращается в регистр адреса команд РС, тем самым передаётся управление ранее выполняющейся программы.

 

  а)   б)

Рис. 1.3. Схема обслуживания прерывания в простых (а) и сложных (б) системах

Программа, обрабатывающая прерывание, состоит из трёх блоков:

· отключение прерывания и сохранения в памяти контекста программы, установка временного режима работы прерываний;

· выполнение обработки прерывания;

· восстановление контекста прерванной программы, восстановление исходного режима прерываний, передача управления прерванной программе.

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

· 1_С – отключение прерываний, сохранение контекста прерванной программы в её дескрипторе, установка временного режима работы прерываний, сохранение адреса возврата;

· 2_С – определение вектора прерывания и передача ему управления посредством записи вектора прерывания в регистр РС.

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

· 1_Д – отыскивает программу, готовую к выполнению, ею может быть или прерванная программа или друга в соответствии с дисциплиной обслуживания программ;

· 2­_Д – если обслуживанию подлежит прерванная программа, то восстанавливает контекст программы, устанавливает контекст программы и переписывает адрес возврата из стека в регистр РС, передавая тем самым управление прерванной программе.

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

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

· фиксация и распознавание прерываний;

· передача управления программе обработки прерывания;

· корректное возвращение управления выполняемой программе.

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

Источниками внешних прерываний являются:

· системный таймер;

· внешние устройства ввода-вывода;

· нарушение питания;

· пульт оператора;

· другой процессор или другая вычислительная система.

К источникам внутренних прерываний относятся:

· нарушение адресации (в адресной части указан запрещённый или несуществующий адрес);

· неправильный код операции в команде;

· деление на ноль;

· переполнение или исчезновение порядка;

· средства контроля, например, контроля чётности;

· попытка выполнения привилегированной или запрещённой в данном режиме работы операционной системы команды.

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

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

Вполне реален случай одновремённого возникновения двух и более прерываний. В этом случае порядок их обслуживания определяется важностью прерывания, которая называется приоритетом. Например, очевидно, что запрос прерывания от клавиатуры управления технологической машиной, требующий остановить её, важнее сигнала таймера, сообщающего об истечении какой-то выдержки времени. Порядок обслуживания прерываний в соответствии с их приоритетами называется дисциплиной обслуживания прерываний. Естественный порядок обслуживания прерываний встроен в аппаратную часть (рис. 1.4). Тем не менее, в операционной системе имеется возможность повысить приоритеты прерываний, которые заданы последовательностью бит в специальном регистре, который называют часто регистром приоритетов. Если приоритеты повышены у двух и более прерываний (т.е. они важнее других), то сначала обрабатываются в естественном порядке прерывания с повышенным приоритетом, потом опять-таки в естественном порядке прерывания с обычным приоритетом.

 

Средства контроля процессора  
Системный таймер  
Внешние устройства Магнитные диски  
Сетевое оборудование  
Терминалы  
Программные прерывания  

Рис. 1.4. Естественные приоритеты прерываний

Существует три основных дисциплины обслуживания прерываний:

· с относительными приоритетами – обслуживание не прерывается даже при наличии запроса с более высоким приоритетом;

· с абсолютным приоритетом – первыми обслуживаются прерывания с наивысшим приоритетом;

· по принципу стека – запросы помещаются в стек и первыми обслуживаются последние пришедшие в стек (правило LCFS или LIFO).

Комбинация разрешённых и запрещённых прерываний и приоритетов называется режимом прерываний.

 

 

1.6. Задачи, вычислительные процессы и ресурсы

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

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

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

Каждый вычислительный процесс сопровождает специальная информационная структура, которая называется дескриптором процесса, в который помещаются:

· идентификатор процесса PID – имя или иная характеристика, под которой процесс зарегистрирован в операционной системе;

· тип (или класс) процесса, определяющий для супервизора некоторые правила предоставления ресурса;

· приоритет предоставления ресурсов в пределах одного класса;

· переменная состояния, которая указывает состояние, в котором находится процесс (готов к работе, выполняется, ожидает устройство ввода-вывода и т.д.);

· контекст задачи, т.е. защищённую область памяти или, по крайней мере, её адрес, в которой находятся текущие значения регистров процессора;

· место в памяти или его адрес для организации обмена данными и сигналами с другими процессами;

· параметры запуска (момент времени запуска и периодичность процесса);

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

Дескриптор процесса необходим в случае временного останова процесса по каким-то причинам. В его описании упоминались состояния процесса. Наглядно состояния процесса и способы перехода из одного состояния в другое показываются на диаграмме процесса (рис. 1.5).

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

 
 

 

 


Рис. 1.5. Диаграмма состояния процесса

Активный процесс имеет три состояния:

· готовность – все ресурсы могут быть предоставлены, если процесс перейдёт в состояние выполнения;

· выполнение – все ресурсы выделены, происходит выполнение команд программы;

· ожидание – затребованные ресурсы не могут быть выделены или не завершена операция ввода-вывода.

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

· системные управляющие процессы, представляющие процессы супервизора и занимающиеся распределением ресурсов и управлением;

· системные обрабатывающие процессы, не входящие в ядро операционной системы, требующие ресурсы и получающие их от супервизора;

· процессы, порождённые задачами пользователей.

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

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

В настоящее время ресурс стал абстрактным понятием:

– Конец работы –

Эта тема принадлежит разделу:

ОПЕРАЦИОННЫЕ СИСТЕМЫ

На сайте allrefs.net читайте: ОПЕРАЦИОННЫЕ СИСТЕМЫ. Ершов Б Л...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ОПЕРАЦИОННЫЕ СИСТЕМЫ

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги