- •Содержание
- •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
2. Основные требования, предъявляемые к разрабатываемым программам
Программы, разработанные в ходе выполнения практикума, должны отвечать следующим общим требованиям:
1) взаимодействие с программой должно производиться в процессе диалога, осуществляемого с помощью команд, вводимых с клавиатуры или выбираемых из экранного меню, формируемого программой;
2) вводимые команды и информация, выводимая на экран, должны дублироваться в файле протокола работы с программой, распечатка которого входит в состав отчета;
3) структура программы должна быть построена по модульному принципу и должна допускать модификацию программы.
3. Краткие сведения о проблемной области выполняемых работ
Как известно, ЭВМ – это согласованная совокупность автоматически функционирующих электронных и электромеханических устройств, предназначенная для выполнения алгоритмически формализованной обработки числовых и символьных данных; следовательно, для решения задачи с помощью ЭВМ, т.е. для функционирования ЭВМ, необходимо задать соответствующий алгоритм.
Вычислительная система (ВС) представляет собой согласованную совокупность технических средств, представляющих собой одну (или несколько) ЭВМ, и программных средств системного и прикладного назначения, обеспечивающих выполнение стоящих перед ВС задач.
Большинство современных ВС характеризуется возможностью функционировать в многопрограммном режиме, что достигается наличием в их составе соответствующей операционной системы.
Операционная система (ОС) – это согласованная совокупность системных управляющих и обрабатывающих программ, а также необходимых для их функционирования информационных массивов, предназначенная для планирования и подготовки исполнения программ пользователей, управления всеми ресурсами ВС, с целью предоставления пользователям возможности рационально и эффективно решать задачи с применением ВС.
Основное назначение операционной системы, обеспечивающей эффективное функционирование ВС, работающей в многопрограммном режиме, - осуществить рациональное распределение и использование ресурсов ВС между вычислительными процессами, протекающими в ВС.
Под ресурсом понимается объект или средство ВС, которое используется для выполнения той или иной машинной программы. Примером ресурса может служить ЦП (точнее время его использования), определенный объем ОП, необходимый для размещения машинной программы, УВВ набор данных, расположенный на ВЗУ, объем свободного пространства на ВЗУ, предназначенного для формирования файла в ходе выполнения программы, подпрограмма, обращение к которой производится в ходе работы основной программы, проведение операции ввода-вывода и т.д. Как видно из приведённых примеров, ресурс может представлять собой не только физическое устройство, но и использование программ или каких-либо информационных структур, существование которых во времени в общем случае не постоянно.
Под процессом понимается ассоциированная с выполнением отдельной машинной программы последовательность запросов на получение ресурсов ВС, их выделение, использование и освобождение.
Процесс – абстракция, вводимая для описания механизма функционирования ОС. ОС рассматривает процессы как единицы, между которыми необходимо распределить и перераспределять ресурсы ВС. В силу естественной ограниченности ресурсов ВС не все запросы на использование ресурсов, выдаваемые различными процессами, могут быть удовлетворены сразу после их поступления к ОС. Это является причиной того, что процессы, кроме всего прочего, отличаются друг от друга тем, в какой степени и на какие ресурсы их запросы удовлетворены; последнее, а также статус и характер использования программы, о которой ассоциируется данный процесс, определяет состояниепроцесса.
Очевидно, что для выполнения (любой) машинной программы ей должны быть выделены следующие ресурсы ВС:
– ОП (область достаточная для размещения машинной программы или ее определенным образом оформленной части);
– ЦП.
В ходе выполнения машинная программа (и соответствующий ей процесс) можетзапросить выделение какого-либо ресурса, например, уже существующего файла данных, участка ВнП для создания файла данных, осуществление операции ввода/вывода с использованием УВВ или ВЗУ (ВнП), дополнительного участка ОП, запуск какой-либо другой программы и т.п. При поступлении подобного запроса (что часто реализуется с использованием механизма прерывания) выполнение программы прекращается, по крайней мере, до тех пор, пока ей не будет предоставлен необходимый ресурс. Это приводит к изменению состояния процесса.
Отметим определенную разницу в характере возможного распределения ресурсов, определяемую различием в их природе. Так, например, выделение таких ресурсов как файлы данных, возможно, произвести заранее, перед выполнением машинной программы, то же можно проделать и с УВВ или с ВЗУ. Такой же ресурс как осуществление операции ввода/вывода может выделяться только непосредственно в ответ на запрос процесса (при выполнении соответствующей команды машинной программы). Отметим также, что выделение процессам такого ресурса как область ОП, предназначенная для загрузки машинной программы, носит решающий характер для реализации концепции многопрограммного режима работы, и выделение этого ресурса, хотя бы предварительное, целесообразно проводить на ранних стадиях нахождения процесса в системе.
Здесь находит отражение разделение ресурсов на активные и пассивные. Активный ресурс (ЦП, канал или контроллер ввода/вывода, какая-либо программа) способен выполнять действия по отношению к другим ресурсам и процессам, которые в общем случае приводят к изменению последних, поэтому запросы на их выделение и использование должны быть синхронизированы с алгоритмом, их не возможно заранее определить. Пассивные ресурсы (ОП, файлы данных, УВВ) не производят какие-либо действия сами по себе, поэтому запрос на их использование можно выдать и удовлетворить заранее.
Над каждым процессом, поступившим в той или иной форме в систему, возможно проведение следующих групп операций:
– создание/удаление процесса;
– планирование выполнения процесса;
– диспетчеризация процесса.
Каждая операция над процессом приводит к переходу последнего из одного состояния в другое (за исключением двух операций Порождение и Завершение). Формально каждая операция может быть записана следующим образом:
Наименование_операции (имя_процесса): [исходное_состояние] ->
[результирующее _состояние].
Выделяются следующие виды состояний процесса.
