Готовый процесс конкурирует за процессорное время, т.е. он стоит в очереди планирования.
Выполняемый процесс конкурирует, прежде всего, за ресурсы ОС. Если требуется, то за дополнительную оперативную память, доступ к внешним устройствам.
Каждый из доступов преобразуется в исходную последовательность вызовов обращения к внешнему устройству.
Ожидающий процесс переходит из выполняемого, если оказывается, что требуется реакция на какое-либо событие системы, т.е. он останавливает процесс вычисления и ждет.
Завершенный процесс – это обратное событие тому, как процесс становится готовым, т.е. из ОП должна быть выгружена задача, освобождена сама ОП; если мы использовали какие-либо файлы, то должны быть сброшены буфера вывода и если требуется, то проведение какие-либо действия по чистке ОП.
RESET – операция для чтения файла.
REWRITE – операция для записи файла.
IORESULT=0 //если все корректно// then//работаем с файлом// else//нет файла.
При завершении процесса, освобождаются все буфера ввода/вывода.
Очередь – это последовательность постановки процессов на выполнение (конкуренции за ресурс).
Типы очередей:
1. FIFO(First input first output)- «первый пришел, первый вышел».
в очереди не имеет значение какая задача по объему, по приоритетам, по ресурсу, главное – момент ее появления в очереди. Такую очередь называют «караван» или «буфер».
2. LIFO(Last input first output)- «последний пришел, первый обслужился».
|
важной считается заявка, пришедшая последней.
|
||||||||
|
||||||||
|
3. Очередь с использованием приоритетов.
|
|
||||
|
||||
|
||||
Заявки на обслуживание при поступлении имеют разные значения, данные им в соответствии с приоритетами. Чем меньше число, тем выше уровень приоритета.
1. Приоритеты могут быть динамическими, т.е. находясь в очереди, заявка получает либо больший приоритет, либо меньший.
Динамический приоритет зависит от того, какие из ресурсов являются приоритетными по обслуживанию.
2. Приоритеты зависят от объема задач. Первой обслуживается та, у которой объем меньше.
3. динамические приоритеты зависят от того, какие из ресурсов являются приоритетными по обслуживанию.
4.Круговая диспетчеризация.
Планирование возможно и с разделением такта машинного времени между задачами.
Цикл замкнутый. Работает система приоритетов. Переключение с задачи на задачу требует времени, следовательно, чем больше количество переключений, тем больше мы теряем, непроизводительно, время процессора.
В многоуровневой очереди все процессы на обслуживание становятся в несколько очередей, в зависимости от приоритетов процессора.
|
|||
|
|
Если приоритет возрастающий, то если нет ни одного процесса в первой очереди, то на обслуживание берется процесс с меньшим приоритетом. Если нет процессов во второй очереди, то берутся процессы из третьей.
Если в очереди 3 еще есть процессы, а в первой появился новый, то заканчивается выполнение текущего процесса очереди 3, и переключается на очередь 1.
Это позволяет наиболее важные по приоритетам процессы обслуживать в первую очередь.
· в качестве 1-ой очереди могут быть какие-либо системные процессы
· в качестве 2-ой очереди могут быть программы пользователя
· в качестве 3-ей очереди могут быть какие-либо фоновые задачи (напр., печать документа на принтере, загрузка сайта во время работы Excel)
Планирование с использованием многоуровневой очереди с обратными связями
Замечание: в основном этот механизм используется в ОС реального времени.
Каждому процессу дается время обслуживания ∆tобслужив . В основном этот процесс обслуживания используется в ОС реального времени. Если оказалось, что за ∆tобсл процесс не обслужился, то он уходит в очередь более низкого уровня и его время ∆tобсл 2 может быть в два раза больше, чем ∆tобсл, т.е. понижается приоритет, но повышается время обслуживания. Если процессу снова не хватает времени, то он попадает в очередь 3 (∆tобсл 3 = =∆tобсл*4).
Выигрыш от постановки: чем меньше мы тратим времени на переключение очередей, тем больше процессор занимает время на счет. К тому же, из 1-ой очереди «вычерпываются» самые быстрые процессы. Как только процессы в этой очереди заканчивают обслуживаться, берется 2-ая очередь и ставится на место 1-ой, уменьшая при этом ∆tобсл в 2 раза.
Замечание: последний метод, который сочетает в себе динамику приоритетов, по опыту считается наиболее перспективным в ОС.
|
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.