Ресурс – это средство вычислительной машины, который может быть выделена процессу на определенный интервал времени.
Ресурсы классифицируются по следующим свойствам:
1. По признаку реальности – на физические и виртуальные
2. По возможности расширения свойств – на эластичные и жесткие (не допускающие расширяемости)
3. По степени активности – на пассивные и активные (способные выполнять действия по отношению к другим ресурсам)
4. По времени существования – на постоянные и временные
5. По степени важности – на основные и второстепенные (допускающие альтернативное развитие процесса)
6. По функциональной избыточности при распределении: на дорогие (не предоставляемые быстро) и дешевые (предоставляемые с ожиданием)
7. По структуре – на составные и простые
8. По характеру использования – на потребляемые, производимые (допускают многократное использование и освобождение), а также на используемые последовательно и параллельно.
Вопрос 11. Планирование процессов: подсистема управления процессами, функции подсистемы, контекст процесса.
Важнейшей частью ОС является подсистема управления процессами. Она планирует выполнение процессов, т.е. распределение процессорного времени между несколькими существующими процессами, а также занимается созданием и уничтожением процессов.
За время существования процесс многократно изменяет свое состояние, обычно различают следующие состояния процессов:
1. Новый процесс
2. Готовый – освобождает CPU
3. Выполняемый – команды программы выполняются в CPU
4. Ожидающий – процесс ожидает завершения события, чаще всего операций ввода – вывода
5. Завершенный – процесс завершающий свою работу
Переход из одного состояния в другое не может выполняться произвольным образом.
Вопрос 12. Планирование процессов: стадии состояния процесса, метод очередей ресурсов
За время существования процесс многократно изменяет свое состояние, обычно различают следующие состояния процессов:
6. Новый процесс
7. Готовый – освобождает CPU
8. Выполняемый – команды программы выполняются в CPU
9. Ожидающий – процесс ожидает завершения события, чаще всего операций ввода – вывода
10. Завершенный – процесс завершающий свою работу
Переход из одного состояния в другое не может выполняться произвольным образом.
Одним из методов планирования процессов, является метод очередей ресурсов. Новые процессы находится во входной очереди, которая часто называется очередью работ – заданий. Входная очередь располагается во внешней памяти, во входной очереди процессы ожидают освобождения ресурса – адресного пространства основной памяти. Готовые к выполнению процессы располагаются в основной памяти и связанны очередью готовых процессов. Процессы в этой очереди ожидают освобождение ресурса «процессорное время». Выделение процессу процессорного времени производится многократно, с целью достижения внешнего эффекта, одновременного выполнения нескольких программ. Такой механизм называется дискретизацией
Вопрос 13. Планирование процессов. Алгоритмы, основанные на квантовании
В соответствии с алгоритмами основанными на квантовании смена активного процесса происходит с следующих случаях:
1. Процесс завершился и покинул систему
2. Произошла ошибка;
3. Процесс перешел в состояние ожидания;
4. Исчерпан квант процессорного времени отведенный данному процессу
Процесс который исчерпал свой квант переводится в состояние «готовый и ожидает когда ему будет предоставлен новый квант времени, а на выполнение выбирается новый процесс из очереди готовых. Таким образом не один из процессов не занимает процессор на долго, поэтому квантование широко используется в системах разделения времени.
Кванты могут быть одинаковыми для всех процессов, также могут быть различными. Кванты, выделяемые одному процессу, могут быть фиксированными, или изменяться в разные периоды времени процесса.
Очередь готовых процессов может быть организованна циклически по правилу: FCFS («Первым пришел – первым обслужен»), часто называемым правилом FIFO («Первым вошел – первым вышел»), или по правилу LCFS («Последним пришел – первым обслужен»), имеющего также наименование правило LIFO («Последним вошел – первым вышел).
Вопрос 14. Планирование процессов: алгоритмы, основанные на приоритетах
Другая группа алгоритмов использует понятие «приоритет процесса». Приоритет – это число характеризующая степень привилегированности процесса при использовании ресурсов, в частности процессорного времени; чем выше приоритет, тем выше привилегия. Приоритет может выражаться целым, или дробным, положительным, или отрицательным значениям. Ем выше привилегия, тем меньше времени он будет проводить в очередях.
Приоритет может оставаться фиксированным на протяжении всей жизни процесса.
В обоих случаях выбор процесса на выполнение из очереди готовых процессов, осуществляться одинаково: выбирается процесс, имеющий наивысший приоритет. По разному решается проблема определения момента смены активного процесса. В системах с относительными приоритетами активный процесс выполняется до тех пор пока он сам не покинет процесс процессор, перейдя в состояние «ожидание» (или произойдет ошибка; или процесс завершится). А в процессах с абсолютными приоритетами выполнение прерывается при условии:!выполнение если в очереди готовых процессов появился процесс, приоритет которого выше приоритета активного процесса.