- •3 Основные понятия и концепция операционных систем. Режимы работы ос. Системные вызовы
- •4 Архитектура современных операционных систем.
- •5 Процессы. Состояние процесса.
- •6 Контекст и паспорт процесса .
- •7 Концепция и критерии планирования процессов. Уровни планирования
- •8 Стратегии планирования процессов. Критерии планирования и требования к алгоритмам
- •9 Взаимодействие процессов. Адресация средств связи при взаимодействии процессов.
- •10 Алгоритмы синхронизации процессов. Примитивы взаимоисключения.
- •1.Взаимоисключение для n процессов
- •2. Аппаратная реализация взаимоисключения: команда testandset
- •2. Семафоры
- •3. Синхронизация процессов при помощи семафоров
- •11 Достаточное условие детерменированности Беристайна.
- •12 Семафоры. Операция над семафорами.
- •13 Семафоры как средство взаимоисключения.
- •14 Тупики и бесконечные откладывания.
- •15 Система управления процессорами. Компоненты системы.
- •16 Алгоритмы планирования процессов
- •17 Система управления памятью.
- •8.3.1 Схема с фиксированными разделами.
- •18 Виртуальная память. Архитектурные средства поддержки виртуальной памяти. Архитектурные средства поддержки виртуальной памяти
- •Страничная виртуальная память
- •Сегментно-страничная организации виртуальной памяти
- •Структура таблицы страниц
- •19 Управление внешней памятью. Файловые системы. Управление внешней памятью
- •Методы выделения дискового пространства
- •Выделение непрерывной последовательностью блоков
- •Связный список
- •Индексные узлы
- •20 Управление системой ввода-вывода
- •Рис 2. Методы управления периферийными устройствами: а)прямой; б)косвенный
5 Процессы. Состояние процесса.
Процесс – это динамическая сущность программы, ее код в процессе своего выполнения. Имеет: собственные области памяти под код и данные, включая значе- ния регистров и счетчика командсобственный стексобственное отображение виртуальной памяти (в системах с виртуальной памятью) на физическуюсобственное состояние. Процесс может находиться в одном из следующих типичных состояний:«остановлен» - процесс остановлен и не использует процессор (например, в таком состоянии процесс находится сразу после создания)«терминирован» - процесс терминирован и не использует про- цессор (например, процесс закончился, но еще не удален опера- ционной системой)«ждет» - процесс ждет некоторого события (им может быть ап- паратное или программное прерывание, сигнал или другая фор- ма межпроцессного взаимодействия)«готов» - процесс не остановлен, не терминирован, не ожидает, не удален, но и не работает (например, процесс не может полу- чить доступ к процессору, если в данный момент выполняется другой, более высокоприоритетный процесс)«выполняется» - процесс выполняется и использует процессор. В ОСРВ это обычно означает, что этот процесс является самым приоритетным среди всех процессов, находящихся в состоянии «готов»
6 Контекст и паспорт процесса .
Каждому процессу соответствует контекст, в котором он выполняется. Этот контекст включает содержимое пользовательского адресного пространства - пользовательский контекст (т. е. содержимое сегментов программного кода, данных, стека, разделяемых сегментов и сегментов файлов, отображаемых в виртуальную память) , содержимое аппаратных регистров - регистровый контекст (таких, как регистр счетчика команд, регистр состояния процессора, регистр указателя стека и регистров общего назначения) , а также структуры данных ядра (контекст системного уровня) , связанные с этим процессом. Контекст процесса системного уровня в ОС UNIX состоит из "статической" и "динамических" частей. У каждого процесса имеется одна статическая часть контекста системного уровня и переменное число динамических частей.
Статическая часть контекста процесса системного уровня включает следующее:
A.Описатель процесса, т. е. элемент таблицы описателей существующих в системе процессов. Описатель процесса включает, в частности, следующую информацию:
состояние процесса;
физический адрес в основной или внешней памяти u-области процесса;
идентификаторы пользователя, от имени которого запущен процесс;
идентификатор процесса;
прочую информацию, связанную с управлением процессом.
B. U-область (u-area), индивидуальная для каждого процесса область пространства ядра, обладающая тем свойством, что хотя u-область каждого процесса располагается в отдельном месте физической памяти, u-области всех процессов имеют один и тот же виртуальный адрес в адресном пространстве ядра. Именно это означает, что какая бы программа ядра не выполнялась, она всегда выполняется как ядерная часть некоторого пользовательского процесса, и именно того процесса, u-область которого является "видимой" для ядра в данный момент времени. U-область процесса содержит:
указатель на описатель процесса;
идентификаторы пользователя;
счетчик времени, которое процесс реально выполнялся (т. е. занимал процессор) в режиме пользователя и режиме ядра;
параметры системного вызова;
результаты системного вызова;
таблица дескрипторов открытых файлов;
предельные размеры адресного пространства процесса;
предельные размеры файла, в который процесс может писать;
и т. д.
Динамическая часть контекста процесса - это один или несколько стеков, которые используются процессом при его выполнении в режиме ядра. Число ядерных стеков процесса соответствует числу уровней прерывания, поддерживаемых конкретной аппаратурой.