Введение в операционные системы. ОС с точки зрения пользователя. Конфигурация компьютера. Многоуровневые очереди, страница 5

Готовый процесс конкурирует за процессорное время, т.е. он стоит в очереди планирования.

Выполняемый процесс конкурирует, прежде всего, за ресурсы ОС. Если требуется, то за дополнительную оперативную память, доступ к внешним устройствам.

Каждый из доступов преобразуется в исходную последовательность вызовов обращения к внешнему устройству.

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

Завершенный процесс – это обратное событие тому, как процесс становится готовым, т.е. из ОП должна быть выгружена задача, освобождена сама ОП; если мы использовали какие-либо файлы, то должны быть сброшены буфера вывода и если требуется, то проведение какие-либо действия по чистке ОП.

RESET – операция для чтения файла.

REWRITE – операция для записи файла.

IORESULT=0 //если все корректно// then//работаем с файлом// else//нет файла.

При завершении процесса, освобождаются все буфера ввода/вывода.

ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ ОЧЕРЕДЕЙ

Очередь – это последовательность постановки процессов на выполнение (конкуренции за ресурс).

Типы очередей:

1.  FIFO(First input first output)- «первый пришел, первый вышел».

 


в очереди не имеет значение какая задача по объему, по приоритетам, по ресурсу, главное – момент ее появления в очереди. Такую очередь называют «караван» или «буфер».

2.  LIFO(Last input first output)- «последний пришел, первый обслужился».

ресурс

 
Очередь иногда называется «стэком». Самой

важной считается заявка, пришедшая последней.

2

 

1

 

задачи

 
 


3. Очередь с использованием приоритетов.

задачи

 
 

n

 
 


3

 

2

 
 


Заявки на обслуживание при поступлении имеют разные значения, данные им в соответствии с приоритетами. Чем меньше число, тем выше уровень приоритета.

1.  Приоритеты могут быть динамическими, т.е. находясь в очереди, заявка получает либо больший приоритет, либо меньший.

Динамический приоритет зависит от того, какие из ресурсов являются приоритетными по обслуживанию.

2.  Приоритеты зависят от объема задач. Первой обслуживается та, у которой объем меньше.

3.  динамические приоритеты зависят от того, какие из ресурсов являются приоритетными  по обслуживанию.

4.Круговая диспетчеризация.

Планирование возможно и с разделением такта машинного времени между задачами.

 


Цикл замкнутый. Работает система приоритетов. Переключение с задачи на задачу требует времени, следовательно, чем больше количество переключений, тем больше мы теряем, непроизводительно, время процессора.

ЛЕКЦИЯ 7

Многоуровневые очереди

В многоуровневой очереди все процессы на обслуживание становятся в несколько очередей, в зависимости от приоритетов процессора.

обслуживание

 
 


процессы

 
 

приоритет

 
 


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

Если в очереди 3 еще есть процессы, а в первой появился новый, то заканчивается выполнение текущего процесса очереди 3, и переключается на очередь 1.

Это позволяет наиболее важные по приоритетам процессы обслуживать в первую очередь.

· в качестве 1-ой очереди могут быть какие-либо системные процессы

· в качестве 2-ой очереди могут быть программы пользователя

· в качестве 3-ей очереди могут быть какие-либо фоновые задачи (напр., печать документа на принтере, загрузка сайта во время работы Excel)

Планирование с использованием многоуровневой очереди с обратными связями


Замечание: в основном этот механизм используется в ОС реального времени.

Каждому процессу дается время обслуживания ∆tобслужив . В основном этот процесс обслуживания используется в ОС реального времени. Если оказалось, что за ∆tобсл процесс не обслужился, то он уходит в очередь более низкого уровня и его время ∆tобсл 2 может быть в два раза больше, чем ∆tобсл, т.е. понижается приоритет, но повышается время обслуживания. Если процессу снова не хватает времени, то он попадает в очередь 3   (∆tобсл 3 = =∆tобсл*4).

Выигрыш от постановки: чем меньше мы тратим времени на переключение очередей, тем больше процессор занимает время на счет. К тому же, из 1-ой очереди «вычерпываются» самые быстрые процессы. Как только процессы в этой очереди заканчивают обслуживаться, берется 2-ая очередь и ставится на место 1-ой, уменьшая при этом ∆tобсл в 2 раза.

 Замечание: последний метод, который сочетает в себе динамику приоритетов, по опыту считается наиболее перспективным в ОС.

Управление памятью

свободная ОП, в которой размещаются процессы при выполнении

 
Управление памятью необходимо для распределения памяти между отдельными процессами, буферами обмена файлами, и один из методов – это перемещение процесса (напр., программы) в ОП.