Реферат: Планировщик и диспетчер процессов в системе разделения времени
Название
поля
Таблица 4.2 – Контекст процесса
Название поля | Описание |
Диапазон допустимых значений |
РОН | Содержимое всех регистры общего назначения. EAX, EBX, ECX, EDX. Данное поле должно интерпретироваться как 4 подряд сохраненных 4-байтных значений. | 4 * (0 – 232) |
Селекторы | Селектор кодового сегмента (CS), селектор сегмента данных (DS), селектор сегмента стека (SS) и селекторы ES, FS, GS дескрипторов в LDT. Данное поле должно интерпретироваться как 6 подряд идущих 2-байтных значений. | 6 * (0 – 216) |
Регистры смещений | Содержимое всех регистров смещений. EIP, ESP, EBP, ESI и EDI. 5 подряд идущих 4-байтных значений. | 5 * (0 – 232) |
Регистр флагов | Содержимое регистра EFLAGS. | 0 - 232 |
Название поля | Описание |
Диапазон допустимых значений |
Регистр LDTR | Селектор дескриптора LDT в GDT. | 0 - 247 |
Регистр CR3 | Содержимое регистра, содержащего базовый адрес каталога страниц. | 0 - 232 |
Базовый адрес битового массива разрешенных операций ввода/вывода | Используется для ограничения доступа процесса к определенным портам ВВ. 0 – доступ к порту запрещен, 1 – доступ к порту разрешен. | 0 - 255 |
5 Спецификация на разработку программного компонента «Планировщик и диспетчер процессов (ПИДП)»
5.1 Общее описание
5.1.1 ПИДП – это программный комплекс, который вызывается, когда требуется любое действие, связанное с администрированием процессов в системе (создание/удаление процесса, перенос процесса из очереди заблокированных в очередь готовых и т.д.). Данная программа должна максимально быстро выполнять свои действия, так как она вызывается достаточно часто.
5.2 Основные компоненты
5.2.1 Планировщик – часть комплекса ПИДП, предназначенная для принятия решения о выборе следующего процесса на исполнение и переноса процессов между очередями.
5.2.2 Диспетчер – это часть программного комплекса ПИДП, предназначенная для реализации решения, выбранного планировщиком.
5.3 Ответственность компонентов
5.3.1 Сначала происходит поиск решения, а потом его реализация, то есть сначала вызывается планировщик, а потом уже диспетчер. Также может вызываться только планировщик, а диспетчер – нет (например, когда требуется просто перенести процесс из очереди заблокированных процессов в очередь готовых, если он получил данные от ВУ). Алгоритмы работы планировщика и диспетчера процессов представлены в приложении А.
5.4 Правила коммуникации
5.4.1 Функции, обеспечивающие планировку процессов, обмениваются указателями на дескрипторы процессов. Функция, обеспечивающая переключение контекста, работает с указателями на контексты процессов.
5.5 Основные структуры данных
5.5.1 Дескриптор (представлен в таблице 4.1), контекст (представлен в таблице 4.2), список готовых процессов (организован по принципу алгоритма RR с относительными приоритетами), список заблокированных процессов (организован по принципу список списков, то есть внутри списка заблокированных процессов находятся списки процессов, ожидающих ответ от НЖМД, ожидающих ответ от НГМД, ожидающих определенный семафор, ожидающих определенную очередь сообщений, ожидающих определенного сигнала и т.д.).
5.5.2 Указатель на начало списка готовых процессов, указатель на конец списка готовых процессов.
5.5.3 Указатель на структуру-описатель списка списков заблокированных процессов. Данная структура хранит в себе информацию о начале и конце каждой очереди. В случае появления нового устройства в системе необходимо только создать новую очередь и добавить информацию об ее начале и конце в данную структуру.
6 Системные вызовы «Создать процесс» и «Удалить процесс»
6.1 Системный вызов «Создать процесс»