- •Операционные системы Оглавление
- •Введение. Общие сведения.
- •1.2 История вычислительной системы
- •1.2.1 Первый период 45 – 55 гг.
- •1.2.2 Второй период 55-60 гг.
- •1.2.3 Третий период 60 – 80 гг.
- •1.2.4 Четвертый период с 80-х годов по наст. Время (персональные компьютеры, сетевые и распределенные системы).
- •1.2.5 Итоги развития вс.
- •1.3 Основные понятия и концепции ос
- •1.3.1 Системные вызовы.
- •1.3.2 Программные прерывания.
- •1.3.3 Файл.
- •1.4 Процессы и потоки. Архитектурные особенности ос.
- •1.4.1 Монолитное ядро.
- •1.4.2 Слоеные системы (Layered Systems)
- •1.4.3 Виртуальные машины.
- •1.4.4 Микроядерная архитектура.
- •1.4.5 Смешанные системы.
- •1.5 Классификация ос
- •2. Процессы и их поддержка в ос.
- •2.1 Понятие процесса.
- •2.2 Состояние процесса.
- •2.3 Операции над процессами и связанные с ними понятия
- •2.3.1 Набор операций.
- •2.3.2 Процесс Control Block и контекст процесса.
- •2.3.3 Одноразовые операции.
- •2.3.4 Многоразовые операции над процессами.
- •2.3.5 Переключение контекста.
- •3.Планирование процесса.
- •3.1. Уровни планирования
- •3.2 Критерии планирования и требовании к алгоритмам.
- •3.3 Параметры планирования
- •3.4 Вытесняющие и невытесняющие планирования
- •3.5 Алгоритмы планирования
- •3.5.1FirstComeFirstServed
- •3.5.2 Round Robin
- •3.5.3ShortestJob–First
- •3.5.4 Гарантированное планирование
- •3.5.5 Приоритетное планирование
- •3.5.6 Многоуровневые очереди (multilevelQueue)
- •3.5.7 Многоуровневые очереди
- •4. Кооперация процессов и основные аспекты в её логической реализации.
- •4.1 Взаимодействующие процессы
- •4.2 Категории средств обмена информацией
- •4.3 Логическая организация механизма передачи информации
- •4.3.1 Установление связи
- •4.3.2 Информационная валентность процессов и средств связи.
- •4.3.3 Особенности передачи информации с помощью линии связи.
- •4.3.4 Надежность средств связи
- •4.3.5 Как завершается связь?
- •4.4 Потоки исполнения
- •5. Алгоритмы синхронизации
- •5.1 Interleaving race condition
- •5.2 Критическая секция
- •5.3 Программные алгоритмы организации взаимодействия процессов
- •5.3.1 Требования, предъявляемые к алгоритму.
- •5.3.2 Запрет прерываний
- •7.8.2 Недостатки алгоритма банкира
- •8.2 Логическая память
- •8.3 Связывание адресов
- •8.4 Функции системы управления памятью
- •8.6 Страничная память
- •8.7 Сегментная и сегментно-страничная организация памяти
- •9. Виртуальная память
- •9.1 Понятие виртуальной памяти
- •9.2 Архитектурные средства поддержки виртуальной памяти
3.5.3ShortestJob–First
Для алгоритма FCSF и RR весьма существенным является порядок расположения процессов в очереди. Рассмотрим пример, в котором будем полагать, что вся деятельность процессов ограничивается использованием одного непрерывного промежутка времени использования процессора и что времени перехода с одного процесса на другой очень маленькое; будем полагать, что времена процессов в неких условных единицах и сведено все в таблицу.
Процесс |
Р0 |
Р1 |
Р2 |
Р3 |
Продолжительность CPU Burst |
5 |
3 |
7 |
1 |
Очевидно, что первым на исполнение должен быть поставлен процесс Р3, затем Р1, Р0 и Р2. И время ожидания будет: (0+5+8+15)/4 = 7
Время |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
Р0 |
Г |
Г |
Г |
Г |
И |
И |
И |
И |
И |
|
|
|
|
|
|
|
|
Р1 |
Г |
И |
И |
И |
|
|
|
|
|
|
|
|
|
|
|
|
|
Р2 |
Г |
Г |
Г |
Г |
Г |
Г |
Г |
Г |
Г |
И |
И |
И |
И |
И |
И |
И |
И |
Р3 |
И |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Время ожидания: (0+1+4+9)/4 = 3,5
Можно математически показать, что для заданного набора процессов, если в очереди не появляются новые процессы, алгоритм SJF является оптимальным с точки зрения минимизации среднего времени ожидания среди класса всех невытесняющих алгоритмов.
3.5.4 Гарантированное планирование
Пусть работает n-пользователей с данной ОС. Реализовано, чтобы каждый имел 1/n часть процессорного времени. Для каждого пользователя введем величины:
Тi– время нахождения пользователя в системе
τi– суммарное процессорное время уже выделенное всем процесса пользователя в течение сеанса
τi/Тi– пользовательское время
αi– коэффициент справедливости, равныйτi/(τi/N)
Пусть очередной квант времени будет представляться процессору с наименьшим αi, если это так, то такой алгоритм планирования называется алгоритмом гарантированного планирования.
3.5.5 Приоритетное планирование
Алгоритмы SJF и гарантированного планирования – это частые случаи приоритетного планирования. При таком планирования пользователю присваивается приоритет, опираясь на который планировщик предоставляет процессор процессу с наивысшим приоритетом (0). Если приоритет одинаков, то алгоритм – FCFS.
Принципы назначения приоритетов опираются и на внутренние критерии ВС и на внешние. Внутренние критерии: ограничения по времени использования процессора, требования к памяти, число устройств ввода/вывода и т.д. Внешние критерии: важность процесса. Приоритетное планирование м/б и вытесняющим и невытесняющим.
Чаще всего наиболее просто реализуются алгоритмы со статическими приоритетами. Наиболее гибкие алгоритмы с динамическими приоритетами.
Главная проблема приоритетного планирования в том, что при некорректной реализации низкоприоритетные процессы могут вообще не запускаться. Решение этой проблемы возможно следующим образом – время от времени увеличивать приоритет процессов, находящихся в состоянии «готовность», а когда процесс побывал в состоянии «исполнение» ему восстанавливается первоначальный приоритет.