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

10. Планировщик: задача, основные составляющие блока контроля задачи(tcb). Алгоритм планирования Round Robin.

Как правило, вся важная, с точки зрения операционной системы, информация о задаче хранится в унифицированной структуре данных управляющем блоке (Task Control Block, TCB). В блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус задачи, приоритет и т. п.

Round-robin (от англ. round-robin — циклический) — алгоритм распределения нагрузки распределённой вычислительной системы методом перебора и упорядочения её элементов по круговому циклу.

Процессы выстраиваются в очереди готовых процессов в виде карусели. Карусель вращается так, что рядом с процессором находится каждый процесс небольшой квант времени(10-100 млсек). Пока процесс находится рядом с процессором, он получает его в свое распоряжение и может выполняться. Планировщик выбирает для очередного исполнения процесс, расположенный в начале очереди и устанавливает таймер для генерации прерывания по истечению определенного кванта времени. При выполнении процесса возможны 2 варианта:

- время непрерывного использования процессора необходимое процессу <= продолжительности кванта времени. Тогда процесс по своей воле освобождает процессор, на исполнение поступает новый процесс из начала очереди, таймер начинает отчет времени заново;

- продолжительность остатка текущего времени процесса > кванта времени. Тогда по истечении этого кванта процесс прерывается таймером и помещается в конец очереди готовых к исполнению, а процессор выделяется для использования процессу, находящемуся в начале очереди.

11. Планировщик: задача, основные составляющие блока контроля задачи(tcb). Алгоритм планирования вытесняющей многозадачности.

Как правило, вся важная, с точки зрения операционной системы, информация о задаче хранится в унифицированной структуре данных управляющем блоке (Task Control Block, TCB). В блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус задачи, приоритет и т. п.

Каждому процессу присваивается определенное числовое значение – приоритет, в соответствии с кот ему выделяется процессор. Процессы с одинаковыми приоритетами планируются в порядке FIFO. Процесс с более высоким приоритетом, появившийся в очереди готовых процессов вытесняет исполняющийся процесс с более низким приоритетом.

Preemptive multitasking - вытесняющая многозадачность - это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.

При вытесняющей многозадачности механизм планирования задач целиком сосредоточен в операционной системе, и программист пишет свое приложение, не заботясь о том, что оно будет выполняться параллельно с другими задачами. При этом операционная система выполняет следующие функции: определяет момент снятия с выполнения активной задачи, запоминает ее контекст, выбирает из очереди готовых задач следующую и запускает ее на выполнение, загружая ее контекст.