702.67K
Category: programmingprogramming

Архитектурные особенности ОС. Лекция 2

1.

Архитектурные
особенности ОС

2.

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

3.

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

4.

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

5.

Для надежного управления ходом выполнения приложений операционная система должна иметь по
отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение может
вмешаться в работу ОС и, например, разрушить часть ее кодов.
• Аппаратура компьютера должна поддерживать как минимум два
режима работы — пользовательский (user mode) и
привилегированный, который также называют режимом ядра
(kernel mode), или супервизора (supervisor mode).

6.

Многослойная
структура ОС

7.

Микроядерная архитектура

8.

Смешанные системы
• ядро операционной системы Linux представляет собой
монолитную систему с элементами микроядерной архитектуры
• возможность запуска операционной системы с монолитным
ядром под управлением микроядра. Так устроены 4.4BSD и
MkLinux, основанные на микроядре Mach
• Windows можно с полным правом назвать гибридной
операционной системой

9.

Понятие процесса и потока

10.

Мультипрограммирование. Критерии
эффективности
• Мультипрограммирование, или многозадачность (multitasking), —
это такой вариант организации вычислительного процесса, при
ко-тором на одном процессоре попеременно выполняются сразу
несколько программ.

11.

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

12.

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

13.

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

14.

Состояния процесса
Выбран для исполнения
Вход
Процесс не исполняется
Приостановка
Процесс исполняется
Выход

15.

Состояния процесса
Вход
Ожидание
Ожидание
события
Событие
произошло
Прерывание
Исполнение
Выход
Готовность
Выбор для
исполнения

16.

Состояния процесса
Рождение
Ожидание
Ожидание
события
Событие
произошло
Прерывание
Исполнение
Завершение
работы
Закончил
исполнение
Готовность
Выбор для
исполнения

17.

Операции над процессами
Рождение
Ожидание
Ожидание
события
Событие
произошло
Прерывание
Исполнение
Завершение
работы
Закончил
исполнение
Готовность
Выбор для
исполнения
создание процесса – завершение
процесса ;
приостановка процесса (перевод
из состояния исполнение в состояние
готовность ) – запуск процесса (перевод
из состояния готовность в состояние
исполнение );
блокирование процесса (перевод
из состояния исполнение в состояние
ожидание ) – разблокирование
процесса (перевод из состояния
ожидание в состояние готовность ).

18.

Process Control Block и контекст процесса
Для того чтобы операционная система могла выполнять операции над
процессами, каждый процесс представляется в ней некоторой структурой данных.
Эта структура содержит информацию, специфическую для данного процесса:
• состояние, в котором находится процесс;
• программный счетчик процесса или, другими словами, адрес команды,
которая должна быть выполнена для него следующей;
• содержимое регистров процессора;
• данные, необходимые для планирования использования процессора и
управления памятью (приоритет процесса, размер и расположение адресного
пространства и т. д.);
• учетные данные (идентификационный номер процесса, какой
пользователь инициировал его работу, общее время использования
процессора данным процессом и т. д.);
• сведения об устройствах ввода-вывода, связанных с процессом (например,
какие устройства закреплены за процессом, таблицу открытых файлов).

19.

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

20.

Готовность
Выполнение кода
пользователя
Выполнение кода
операционной
системы
Процесс 2
Ожидание
Планирование
Обработка
прерывания
Сохранение
контекста
Прерывание
Процесс 1
Переключение
контекста
Выполнение кода
операционной
системы
Выполнение кода
пользователя
Работа harware
Восстановление
контекста
Готовность
Исполнение
Работа harware
Исполнение

21.

Итоги
Понятие процесса характеризует некоторую совокупность набора исполняющихся
команд, ассоциированных с ним ресурсов и текущего момента его выполнения,
находящуюся под управлением операционной системы. В любой
момент процесс полностью описывается своим контекстом, состоящим
из регистровой, системной и пользовательской частей. В операционной
системе процессы представляются определенной структурой данных – PCB,
отражающей содержание регистрового и системного контекстов . Процессы могут
находиться в пяти основных состояниях: рождение, готовность, исполнение,
ожидание, закончил исполнение . Из состояния в состояние процесс переводится
операционной системой в результате выполнения над ним операций. Операционная
система может выполнять над процессами следующие операции: создание
процесса, завершение процесса, приостановка процесса, запуск
процесса, блокирование процесса, разблокирование процесса, изменение
приоритета процесса. Между операциями содержимое PCB не изменяется.
Деятельность мультипрограммной операционной системы состоит из цепочек
перечисленных операций, выполняемых над различными процессами, и
сопровождается процедурами сохранения/восстановления
работоспособности процессов, т. е. переключением контекста. Переключение
контекста не имеет отношения к полезной работе, выполняемой процессами, и
время, затраченное на него, сокращает полезное время работы процессора.
English     Русский Rules