Разработка операционных систем
Категория реферата: Рефераты по информатике, программированию
Теги реферата: отчет о прохождении практики, защита курсовой работы
Добавил(а) на сайт: Елешев.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
Буфер имеет фиксированные размеры, и, следовательно процессы могут находиться в состоянии ожидания, когда:
1. буфер заполнен; ожидает процесс - производитель
2. буфер пуст; ожидает процесс - потребитель
Буфер может предоставляться и поддерживаться самой ОС, например с
помощью средств коммуникации процессов (IPC — Inter Process Communication), либо организовать прикладным программистом. При этом оба процесса
используют общий участок памяти, например процесс - производитель и процесс
- потребитель могут использовать следующие переменные:
Var n;
type item=...;
Var buffer:array[0..n-1] of item;
in, out:0..n-1; где n - количество адресуемых элементов буфера, Item - имя
типа элементов буфера, in, out - указатели, характеризующие заполнение
буфера.
Буфер представлен в виде циклически связанного массива адресуемых
элементов с двумя указателями - in, out. Указатель in содержит номер
первого свободного элемента буфера, а out - первого занятого элемента
буфера.
| | | | | | | | | | | | | | | |
| | |0 |1 |2 |3 |4 |5 | | | | |n-| | |
| | | | | | | | | | | | |1 | | |
| | | | | | | | | | | | | | | |
1. Пуст. in=out. Очевидно, что буфер пуст в том случае, если выполняется это условие.
1. Буфер будет полностью заполнен, если выполняется условие
(in+1) mod n = out
Процесс - производитель должен выполнять процедуру записи в буфер типа
Repeat
...
продуцируется очередной элемент в Next p
...
while (in+1) mod n = out do no_op; buffer (in):=next p; in:=(in+1) mod n;
until false
где Next p - локальная переменная процесса - производителя, в которой
хранится очередной продуцируемый элемент
no_op - пустой оператор
Процесс - потребитель должен выполнять процедуру чтения из буфера типа
Repeat
while in = out do no_op; next p := buffer (out); out:=(out+1) mod n;
... потребляется очередной элемент из Next
... until false
2. Планирование процессора.
КРАТКОСРОчНЫЙ ПЛАНИРОВЩИК ВЫБИРАЕТ ПРОЦЕССЫ ИЗ ОчЕРЕДИ ГОТОВЫХ
ПРОЦЕССОВ И ПЕРЕДАЕТ ИХ НА ВЫПОЛНЕНИЕ В CPU. СУЩЕСТВУЮТ РАЗЛИчНЫЕ АЛГОРИТМЫ
ИЛИ СТРАТЕГИИ РЕШЕНИя ЭТОЙ ЗАДАчИ, ОТЛИчАЮЩИЕСя ОТНОШЕНИЕМ К КРИТЕРИяМ
ПЛАНИРОВАНИя.
2.1. Критерии планирования процессора.
ИСПОЛЬЗУЮТСя СЛЕДУЮЩИЕ КРИТЕРИИ, ПОЗВОЛяЮЩИЕ СРАВНИВАТЬ АЛГОРИТМЫ
КРАТКОСРОчНЫХ ПЛАНИРОВЩИКОВ:
1. утилизация CPU (использование) CPU utilization. Утилизация CPU теоретически может находиться пределах от 0 до 100%. В реальных системах утилизация CPU колеблется в пределах 40% для легко загруженного CPU, 90% для тяжело загруженного CPU.
1. пропускная способность CPU throughput. Пропускная способность CPU может измеряться количеством процессов, которые выполняются в единицу времени.
1. время оборота (turnaround time) для некоторых процессов важным критерием является полное время выполнения, то есть интервал от момента появления процесса во входной очереди до момента его завершения. Это время названо временем оборота и включает время ожидания во входной очереди, время ожидания в очереди готовых процессов, время ожидания в очередях к оборудованию, время выполнения в процессоре и время ввода - вывода.
1. время ожидания (waiting time). Под временем ожидания понимается суммарное время нахождения процесса в очереди готовых процессов.
1. время отклика (response time) для сугубо интерактивных программ важным показателем является время отклика или время, прошедшее от момента попадания процесса во входную очередь до момента первого обращения к терминалу.
Очевидно, что простейшая стратегия краткосрочного планировщика должна быть направлена на максимизацию средних значений загруженности и пропускной способности, времени ожидания и времени отклика.
В ряде случаев используются сложные критерии, например, так называемый минимаксный критерий, то есть вместо простого критерия минимум среднего времени отклика используется следующий — минимум максимального времени отклика.
2.2. Стратегии планирования процессора.
2.2.1.ПЕРВЫЙ ПРИШЕЛ - ПЕРВЫЙ ОБСЛУЖИВАЕТСя FIFO. FIRST COME -
FIRST SERVED (FCFS).
НА РИСУНКЕ СХЕМАТИчЕСКИ ПОКАЗАНО, КАКИМ ОБРАЗОМ ОПЕРАЦИОННАя СИСТЕМА
ИСПОЛЬЗУЕТ PROCESS CONTROL BLOCK ДЛя ПЕРЕКЛЮчЕНИя ПРОЦЕССОРА С ОДНОГО
ПРОЦЕССА НА ДРУГОЙ.
FCFS является наиболее простой стратегией планирования процессов и заключается в том, что процессор передается тому процессу, который раньше всех других его запросил.
Когда процесс попадает в очередь готовых процессов, process control block присоединяется к хвосту очереди.
Среднее время ожидания для стратегии FCFS часто весьма велико и
зависит от порядка поступления процессов в очередь готовых процессов.
Пример № 1
Пусть три процесса попадают в очередь одновременно в момент 0 и имеют
следующие значения времени последующего обслуживания в CPU.
вариант 1:
П1(24 мс)
П2(3 мс)
П3(3 мс)
вариант 2:
П2(3 мс)
П3(3 мс)
П1(24 мс)
Рекомендуем скачать другие рефераты по теме: бизнес реферат, нормы реферата.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата