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

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

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

Процессы в очереди. На исполнение – процесс из головы очереди. При поступлении нового процесса он идет в хвост очереди готовых. Среднее время ожидания и среднее полное время выполнения для этого алг существенно зависит от порядка расположения процессов в очереди. Если есть процессы с длительным временем выполнения, то короткие процессы перешедшие в состояние «готовность» после длительного процесса будут долго ждать начала выполнения, поэтому данный алг практически неприемлем для систем разделения времени, тк слишком большим получается среднее время отклика

13. Контекст задачи. Процесс переключения контекста.

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

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

•Происходит очистка конвейера команд и данных процессора

•Очищается TLB, отвечающий за страничное отображение линейных адресов на физические

14. Задача. Машина состояния задачи, особенности перехода из состояния в состояние.

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

Состояние сна соответствует задаче, которая находится в памяти, но не помечена доступной для ядра ОС . Задача находится в состоянии готовности, когда она может выполняться, но ее приоритет меньше, чем у выполняющейся в данный момент задачи. Задача находится в состоянии выполнения, когда ее код исполняется на процессоре. Задача находится в состоянии ожидания события, когда для продолжения ее работы ей требуется появление системного события (такого как завершение операции ввода-вывода, освобождение разделяемого ресурса, появление тактирующего импульса, истечение времени, и т. п.). И, наконец, задача находится в состоянии прерывания, когда во время ее выполнения возникло прерывание и процессор занят процедурой его обработки.