
- •Содержание
- •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
Пассивные состояния
Процессы, находящиеся в пассивном состоянии известны системе, но не конкурируют за ее ресурсы. Можно выделить следующие пассивные состояния процессов:
– начальное состояние процесса; такое состояние характеризуется тем, что ОС известна необходимая для управления данным процессом информация (процесс определен в системе), но не поступил запрос на выполнение этого процесса (точнее, не поступила команда на запуск соответствующей программы, но она готова для выполнения);
– приостановленное состояние процесса; в такое состояние процесс может перейти из любого активного состояния либо по команде оператора ОС. Либо по команде пользователя, либо в ходе управления процессами соответствующими компонентами ОС: приостановленный процесс может быть возобновлен; приостановленное состояние в зависимости от исходного активного состояния (см. ниже) может быть разложено на три соответствующих подсостояния;
– прекращенноесостояние процесса;процесс всостояниепрекращен,может быть переведен из любого активного состояния и из состоянияприостановлен
– законченноесостояние процесса; в законченное состояние процесс переходит из активного состояниявыполнение.
Активные состояния
Различают несколько видов активных состояний, т.е. состояний, находясь в которых процесс конкурирует за ресурсы ВС. Процесс становится активным в том случае, если в ВС поступила команда выполнить соответствующую программу или возобновить выполнение приостановленного процесса. В этом случае процесс конкурирует за ресурсы с другими находящимися в системе активными процессами - выдает соответствующие запросы на необходимые ему ресурсы ВС; в зависимости от их выделения каждый активный процесс может находится в одном из следующих состояний:
– выполнение -данному процессу выделены все необходимые ресурсы, включая ЦП который обрабатывает машинные команды соответствующей этому процессу программы;
– готовность -данному процессу выделены все необходимые ресурсы кроме ЦП, процесс не выполняется, но он может выполняться после того, прекратится обработка текущего выполняемого процесса;
– ожидание -данному процессу не возможно выделить ресурсы или часть ресурсов, необходимых для его выполнения; запросы на ресурсы удовлетворяются ОС по мере их освобождения в ходе Функционирования многозадачной ОС.
Отметим, что поскольку в состояние ожидания процесс может быть переведен вследствие запросов различного вида ресурсов, состояние ожидания можно разложить на подсостояния, каждое из которых будет соответствовать ожиданию выделения ресурсов одного вида.
Определим следующие типы операций, производимые над процессами:
Операции создания/удаления процессов
1. Порождение(имя процесса): -> начальное состояние.
2. Удаление_п(имя процесса): прекращенное состояние-> Удаление_з(имя процесса): законченное состояние ->.
Операции планирования процессов
3. Запуск(имя процесса): начальное состояние ->
активное состояние {выполнение |готовность|ожидание},
4. Приостановка_в(имя процесса): выполнение->
приостоновлен_в. Приостановка_г(имя процесса): готовность->
приостановлен_г. Приостановка_о(имя процесса): ожидание->
приостановлен_о.
5. Возобновление_в (имя процесса): приостановлен_в ->
готовность. Возобновление_г (имя процесса): приостановлен_г ->
готовность. Возобновление_о(имя процесса): приостановлен_о->
ожидание.
6. Прекращение _{в|г|о}(имя процесса : активные состояния ->
прекращен. Прекращение_{прс_в|прс_г| прc_о} (имя процесса):
приостановленные состояния -> прекращен.
7. Закончить (имя процесса): выполнение -> закончен.