Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС.docx
Скачиваний:
2
Добавлен:
22.09.2019
Размер:
471.16 Кб
Скачать

1.2) Режим разделения времени:

Все ресурсы передаются поочерёдно активным задачам, которые одновременно существуют в вычислительной системе. Для планирования может применяться алгоритм RR (Routine Round) - круговой циклический алгоритм. выделяется квант времени: t=Tцикла/n, где n - число процессов.

1.3) Режим реального времени: характеризуется "немедленной" реакцией системы на предусмотренное внешнее событие (например, на сигналы, поступающие от внешних устройств). Система реального времени характеризуется временем реакции на событие.

2.1) Диалоговый режим: характеризуется интерактивным взаимодействием пользователя и программы, решающей конкретную задачу.

2.2) Режим виртуальных машин:

Вычислительные системы <=> многопользовательский режим. Обеспечивает оптимальное использование ресурсов супермашин. Взаимодействие виртуальных машин обеспечивает монитор виртуальных машин (МВМ).

Средства организации многозадачного режима:

  • обработчики прерываний нижнего уровня и супервизоры

  • планировщики (отвечают за распределение времени процессов конкретным задачам)

  • система (или - системы) управления процессами и ресурсами

  • программы управления виртуальной памятью *

  • Обработка прерываний

  • Создание и уничтожение процессов

  • Диспетчеризация ("диспетчер")

  • Синхронизация

Планировщики - это программы, которые отвечают за распределение времени процессов конкретным задачам. Они различаются по уровню планирования и по дисциплинам планирования. Обычно в системе существует 3 уровня планировщиков: Диспетчеры(самые быстрые), планировщики 1(оперативные) и 2 уровня(долговременные).

В качестве дисциплин планирования чаще всего используются дисциплины: FIFI, LIFO, RR и RL (чем раньше поступил запрос, тем выше приоритет планирования). Классическим примером динамического приоритетного планирования является алгоритм Корбато (для планирования выделяется несколько приоритетных уровней, причём каждому уровню соответствует свой квант времени, который может получить активный процесс, находящийся на данном уровне).

П осле того, как процесс получил очередной квант времени, его приоритет понижается на 1. Количество уровней планирования зависит от режима вычислительного процесса и типа вычислительной системы.

Из консультации вавренюка:

Далее граф состояний.

В состояниях «выполнение в режиме ядра» и «в режиме задач» процесс выполняется на процессоре, в остальных же - нет. Либо по собственной инициативе, либо по истечению кванта времени, либо по прерыванию процесс переходит в «ожидание недоступного ресурса» или «сон». Потом в «готов к запуску», т.е. процесс имеет всё, что нужно для выполнения, кроме кванта процессорного времени. Когда планировщик предоставит его, то процесс опять идёт исполняться. Если квант времени закончился, а процессу ничего ждать не надо, то система сразу переводит его в «готов к запуску». Это происходит только при переключении из режима ядра в режим задач, т.к. процесс работает с системными таблицами и только когда закончит может перейти в другой режим иначе есть риск навредить системе.

И в конце концов по exit или по собственной инициативе либо по сигналу становится зомби – на этом цикл процесса закончен.

Т.е. принцип обеспечения многозадачного режима – принцип квантования времени.

Есть понятие планировщик. Он работает с процессами, которые готовы к запуску. Он периодически задачу, у которой заканчивается квант времени, переводит в состояние готов к запуску или сон, а та, которая дождалась своей очереди, переводи в режим выполнения. Другие ему не интересны, т.к. если процесс зомби или ожидает недоступного ресурса, то выполняться на процессоре он (процесс) не может – нет смысла предоставлять ему процессорное время. (можно про nice добавить наверное)