
- •4. Планирование и управление ресурсами
- •4.1. Ресурсы, эффективная загрузка ресурсов (Лекция 8)
- •4.1.1. Понятие ресурса, классификация, основные виды ресурсов.
- •4.1.1.1. Ресурсы, классификация
- •4.1.1.2. Основные виды ресурсов
- •4.2.1. Планирование, стратегии планирования, критерии планирования
- •4.2.1.1. Планирование и диспетчеризация процессов
- •4.2.1.2.Стратегии и критерии планирования
- •4.2.2. Дисциплины диспетчеризации, обслуживание процессов с приоритетами
- •4.2.2.1. Дисциплины диспетчеризации
- •4.2.2.2. Обслуживание процессов с приоритетами
4. Планирование и управление ресурсами
4.1. Ресурсы, эффективная загрузка ресурсов (Лекция 8)
4.1.1. Понятие ресурса, классификация, основные виды ресурсов.
4.1.1.1. Ресурсы, классификация
Определение коцепции процесса преследует цель выработать механизм распределения и управления ресурсами. Понятие ресурса, наряду с понятием вычислительного процесса, является одним из основных при рассмотрении ОС. Всякий потребляемый объект, независимо от форм его существования, обладающий некоторой практической ценностью, является ресурсом. Ресурсом также называют повторно используемый, относительно стабильный и часто недостающий объект, который запрашивается, используется и освобождается процессами в период их активности. Выделяют два свойства ресурса: полезность и исчерпаемость. Ресурсы можно разделить на делимые и неделимые. Причем делимые, в свою очередь, делятся на используемые одновременно (в один и тот же момент времени) и используемые параллельно (когда в течение некоторого интервала времени процессы используют ресурс попеременно). Другая классификация предполагает разделение ресурсов делятся на
Физические (реально существуют, реально распределяются между пользователями) и виртуальные (рассматривается некоторая модель физического ресурса);
Жёсткие и эластичные (последние допускают виртуализацию, расширение);
Активные (способные выполнять действия по отношению к другим ресурсам) и пассивные;
Главные (например, ЦП) и второстепенные (печатные устройства);
Дорогие и дешёвые. Цена за использование ресурсов – почти всегда функция времени;
Простые (занят/сводобен) и составные (занят/частично занят/свободен);
Воспроизводимые (CD-RW) и потребляемые (CD-R);
Параллельные и последовательные
Твёрдые (hardware) и "мягкие" (software).
4.1.1.2. Основные виды ресурсов
Ранее ресурсами считались процессорное время, память и т.п. Понятие ресурса стало более универсальным. Различного рода программные и информационные ресурсы также могут быть определены для системы как объекты, которые могут разделяться и распределяться. К основным видам ресурсов относятся:
Процессор (в мультипроцессорных системах) или процессорное время (в однопроцессорных.
Память. Когда говорят о внешней памяти, память и доступ к ней считаются равными видами ресурсами. Но для полной работы с внешней памятью необходимо иметь их оба. Внешняя память может разделяться одновременно, а доступ к ней – попеременно.
Внешние устройства.
Программные модули. Они бывают однократно используемые (сами себя разрушают – код или данные) и повторно используемые. Последние делятся на непривилегированные, привилегированные и реентерабельные. Привилегированные работают при отключенной системе прерываний. Привилегированный программный модуль – попеременно разделяемый ресурс. Непривилегированные, обычные программные модули, могут быть прерваны. Они неделимы, т.к. если один и тот же модуль после прерывания запустить заново для другого процесса, промежуточные результаты для прерванных вычислений могут быть потеряны. Потому существуют реентерабельныепрограммные модули, которые допускают повторное многократное прерывание своего исполнения и повторный их запуск по обращению из других процессов. Для этого они должны быть организованы таким образом, чтобы промежуточные вычисления сохранялись при прерывании, и к ним можно было вернуться при возобновлении процесса с прерванной точки. Это реализуется с помощью статических и динамических методов выделения памяти под сохраняемые значения. При использовании статического метода заранее, для фиксированного числа вычислительных процессов резервируются области памяти, в которых будут располагаться переменные реентерабельных программных модулей – для каждого процесса своя область памяти. При использовании динамического метода реентерабельный модуль можно представить в виде трех частей. В первой части модуля с помощью обращения из системной привилегированной секции (после запрета прерываний) осуществляется запрос на получение в системной области памяти блока ячеек, необходимого для размещения всех текущих данных. На вершину стека помещается указатель на начало области данных и её объем. В конце привилегированной секции прерывания включаются. Если прерывание не возникает, в третьей части секции осуществляется запрос на освобождение выделенной области памяти. Если во время работы центральной секции произошло прерывание, и другой процесс вновь обращается к тому же самому реентерабельному модулю, для этого нового процесса заказывается новый блок памяти в системной области и на вершину стека записывается новый указатель. Возможно многократное повторное вхождение в реентерабельный программный модуль до тех пор, пока в области системной памяти, выделяемой специально для реентерабельной обработки, есть свободные ячейки, число которых достаточно для выделения нового блока. Существуют такжеповторно входимыемодули. Допускают многократное параллельное использование, но их нельзя прерывать. Повторно входимые модули состоят из привилегированных секций и повторное обращение к ним возможно только после завершения какой-нибудь из таких секций. Таким образом, в повторно входимых программных модулях четко предопределены все возможные точки входа.
Информационные ресурсы. Это данные, которые могут существовать в виде переменных, находящихся в оперативной памяти или в виде файлов. Данные, предназначенные только для чтения, можно разделять, иначе необходимо специальным образом работать с такими данными.