Подсистема управления процессами

РАЗРАБОТКА МОДУЛЯ УЧЕБНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ

 

 

Методические указания

 

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

«Операционные системы»

для студентов дневной формы обучения

направления

 


СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ. 4

1. Теоретический раздел. 4

1.1. Подсистема управления процессами. 4

1.1.1. Контекст и дескриптор процесса. 5

1.1.2. Алгоритмы планирования процессов. 6

1.1.3. Вытесняющие и невытесняющие алгоритмы планирования . 9

1.1.4. Модель процесса и функции подсистемы управления процессами учебной операционной системы 12

1.1.5. Рекомендации по реализации функций подсистемы управления процессами 13

1.2. Подсистема управления памятью.. 17

1.2.1. Страничное распределение. 18

1.2.2. Сегментное распределение. 22

1.2.3. Странично-сегментное распределение. 23

1.2.4. Алгоритмы замещения страниц. 24

1.2.5. Рекомендации по реализации функций подсистемы управления памятью 28

1.3. Управление файлами. 30

1.3.1. Имена файлов. 30

1.3.2. Типы файлов. 32

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

1.3.4. Рекомендации по реализации функций подсистемы управления файлами 35

2. Порядок выполнения курсового проекта. 38

3. Варианты заданий. 39

4. Содержание отчета. 41

Библиографический список 42

ПРИЛОЖЕНИЕ А.. 43


ВВЕДЕНИЕ

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

Теоретический раздел

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

Подсистема управления процессами

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

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

В многозадачной системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе. Типичный граф состояний процесса показан на рисунке 1.1.

Рисунок 1.1 - Граф состояний процесса в многозадачной среде

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов.

Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно "вытеснен" из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.