- •Содержание
- •1. Введение и структура лабораторного практикума
- •2. Основные требования, предъявляемые к разрабатываемым программам
- •3. Краткие сведения о проблемной области выполняемых работ
- •Пассивные состояния
- •Активные состояния
- •Операции создания/удаления процессов
- •Операции планирования процессов
- •Удаление_п
- •Выполнение
- •Возобновление
- •Операции диспетчеризации процессов
- •4. Задания для лабораторных работ
- •4.1 Лабораторная работа № 1. ”Программная реализация средств представления и управления процессами в многопрограммных ос”
- •4.1.1. Формирование дескрипторов процессов
- •4.1.2. Определение состояний "поступивших" процессов
- •4.1.3. Формирование и ведение списков дескрипторов процессов
- •4.1.4. Принцип имитации развития процессов
- •4.1.5. Организация взаимодействия с "системой"
- •4.1.5.1. Описание состава и назначения команд пользователя "Система" должна выполнять следующие команды пользователя:
- •4.1.5.2. Основные требования к форме ввода команд "системы"
- •Формирование дескриптора
- •Протокол работы программы
- •4.1.6. Порядок выполнения л.Р. № 1
- •4.1.7. Требования к отчету по л.Р. № 1
- •4.1.8. Контрольные вопросы к л.Р. № 1
- •4.2. Лабораторная работа № 2. "Изучение дисциплин диспетчеризации процессов в многопрограммных ос".
- •4.2.1. Краткое описание схемы одноочередной круговой (циклической) диспетчеризации.
- •Конец … начало
- •З Конец … начало Выполнениеапуск Выбор Завершение
- •4.2.2. Краткое описание алгоритма многоочередной диспетчеризации для операцииИстечение_кванта.
- •Конец … начало
- •4.2.3. Имитация развития процессов при выполнении л. Р. № 2
- •4.2.4. Порядок выполнения л.Р. № 2
- •4.2.5. Требования к отчету по л.Р. № 2
- •4.2.6. Контрольные вопросы к л.Р. № 2
- •4.3. Лабораторная работа № 3. "Реализация дисциплин диспетчеризации процессов с учетом приоритетов".
- •4.3.1. Краткое описание схемы многоочередной диспетчеризации с учетом приоритета.
- •Выполнение
- •Конец … начало
- •4.3.2. Порядок выполнения л.Р. № 3
- •4.3.3. Требования к отчету по л.Р. № 3.
- •4.3.4. Контрольные вопросы к л.Р. № 3
- •4.4. Лабораторная работа № 4. "Реализация дисциплины диспетчеризации процессов с учетом запросов ввода/вывода"
- •4.4.1. Краткое описание схемы диспетчеризации процессов с учетом ввода/вывода и ее реализации.
- •4.4.2. Порядок выполнения и требования к отчету л.Р. № 4
- •4.4.3. Контрольные вопросы к л.Р. № 4
Операции диспетчеризации процессов
8. Выбор (имя процесса): готовность -> выполнение.
9. Истечение _кванта (имя процесса): выполнение -> готовность.
10. Запрос_ресурса (имя процесса, вид ресурса):
выполнение -> ожидание_ресурса.
11. Выделение_ресурса (имя процесса, вид ресурса):
ожидание_ресурса -> готовность.
Рис.2. Состояния процессов и возможные переходы.
Пассивные
состояния
Активные
состояние
Запуск

Приостановка
Порождение
Возобновление

Прекращение

Удаление
Завершение

активные и пассивные состояния процессов
Начальное состояние
Активные состояния
Порождение Запуск Завершение




Прекращение



Приоста-новленное
состояние
Прекращен-ное
состояние
Завершен-ное
состояние
Приостановка


Возобновление
Удаление_п

Удаление_з
б) конкретизация неактивных действий
ГотовностьВыполнение



Выбор
Запуск
Завершение






Истеч. кванта

Выделение
ресурса Запрос
ресурса

П
Ожидание

риостановка/
П
рекращение

Возобновление

в) конкретизация активных действий
Итак, процесс – это по сути абстракция, используемая для построения и восприятия концепции функционирования компонентов ОС, организующих распределение ресурсов в условиях многопрограммной работы. Однако процессу соответствуют два реальных объекта: машинная программа, на основании которой процесс будет развиваться, будучи переведенным в активное состояние, и Блок управления процессом (БУП) или дескриптор процесса, представляющий собой информационную структуру (например, таблицу), в которой содержится информация о процессе, необходимая для управления им.
Процесс – динамический объект ВС, он может в ходе своего развития запрашивать и использовать ресурсы, изменять состояние. Динамика изменения состояния, а также связей с ресурсами, обуславливает необходимость создание и поддержание соответствующими компонентами ОС сложных динамических структур, отражающих различные характеристики процессов и ресурсов ВС. Такими информационными структурами, например, являются списки процессов, находящихся в текущий момент времени в одном и том же состоянии: как то, список процессов находящихся в состоянии готовности, список процессов, находящихся в состоянии ожидания, или список процессов, ожидающих доступа к какому-либо определенному ресурсу.
Подобные структуры строятся на основании использования дескрипторов процесса, содержащих в таком случае ссылки на другие процессы (точнее на дескрипторы других процессов), а также на таблицы или блоки управления ресурсами; так, например, одной из основных ссылок, хранящихся в дескрипторе процесса, является ссылка (может быть косвенная) на область ОП, в которой будет размещаться машинная программа при нахождении процесса в активных состояниях.
Информацию, содержащуюся в дескрипторе, можно разделить на ряд функциональных групп:
– информация по идентификации отражает уникальное имя процесса, необходимое для выполнения операций управления процессом;
– информация, о приоритете процесса;
– информация о ресурсах – содержит информацию о ресурсах, которые затребованы и (или) используются процессом в течение времени его существования;
– информация о состоянии процесса – отражает текущее состояние процесса, возможность его перехода в следующее и данные, необходимые для такого перехода;
– информация о родственных связяхиспользуется для корректного инициирования и окончания процесса, связанного с другими процессами, передачи для совместного использования некоторых ресурсов, для установления информационных связей, определяет ссылки на средства синхронизации между процессами;
– информация необходимая для поддержания списковых структур процессов,определяет адресные ссылки на другие процессы, отражающие различные списковые структуры дескрипторов процессов.
Вне зависимости от своего представления на физическом уровне, дескрипторы процессов, как отмечалось выше, упорядочиваются в виде списковых структур, в соответствии с состоянием, в котором находятся представляемые ими процессы. Для процессов, находящихся в одинаковых состояниях, доступ к списковым структурам дескрипторов и их упорядочивание часто осуществляется в соответствии с принципом (или правилом) HPF–Highest Priority First (наивысший приоритет обслуживается первым)в сочетании с принципом FCFS -First Come - First Served (первым посту поступил - первым обслужен), называемым также правиломFIFO(First In - First Out).Из-за принципаFCFS, наиболее часто использовавшегося для структуризации процессов в условиях многопрограммного режима работы ВС, соответствующие списки называют "очередями".
Отметим, что доступ (помещение/извлечение) к спискам (дескрипторов) процессов производится при выполнении практически всех операций осуществляемых над процессами.
Совокупность правил и условий, в соответствии с которыми осуществляются планирование и диспетчеризация процессов, называются Дисциплинами планирования (ДП) и диспетчеризации (ДД).
При формировании ДП и ДД могут использоваться правила FCFS (FIFO) и HPF, упомянутые выше, а также ряд других. Одни из них принимают во внимание атрибуты процесса (например, HPF- приоритет), другие - время поступления процесса в систему (FIFOи "противоположное" ему правилоLIFO–Last In - First Out).
Среди правил формирования, точнее - упорядочивания, списковых структур, использующих для определения ДП и ДД атрибуты процесса, упомянем правило или принцип SMN – Shorted Memory - Next (следующий с наименьшей областью ОП). При использования данного принципа процесс, занимающий меньший объем ОП, раньше попадет на выполнение ЦП.
В системах разделения времени (см. выше) диспетчеризация процессов осуществляется в соответствии с циклическим принципом выделения каждому процессу времени ЦП. Этот принцип – RR (Round-robin) отражает суть разделения времени ЦП, в соответствии с принципом квантования, предоставлением процессу короткого промежутка времени работы ЦП. Одним из принципов диспетчеризации процесса упомянем правило или принцип SMN – Shorted Memory - Next (следующий с наименьшей областью ОП). При использования данного принципа процесс, занимающий меньший объем ОП, раньше попадет на выполнение ЦП.
В системах разделения времени ЦП между активными процессами диспетчеризация процессов осуществляется в соответствии с циклическим принципом выделения каждому процессу времени ЦП. Этот принцип – RR (Round-robin) отражает суть разделения времени ЦП, в соответствии с которым каждому процессу последовательно для его выполнения на ЦП выделяется квант времени по истечении которого, процесс, если он к этому моменту не был переведен из состояния выполнение (завершен, приостановлен, переведен в состояние ожидание и т.д.), "снимается" с ЦП, переводится в состояние готовность и поступает в очередь готовых процессов.
Правила упорядочивания списков процессов могут объединяться, например, при одинаковых приоритетах необходимо учитывать время поступления процесса. Такие комплексные принципы упорядочивания будем обозначать мнемониками простых правил, объединенных знаком "равно": "=": RR=HPF=FCFS,HPF=SMN=FCFSи т.п.
