Под ресурсом понимают любой логический или физический компонент компьютера и предоставляемые им возможности. Основными ресурсами являются:
1) процессор (процессорное время),
2) оперативная память (адресное пространство оперативной памяти)
3) оборудование (устройства) ввода-вывода
4) файлы, хранящиеся во внешней памяти с данными и программами (адресное пространство внешней памяти).
Управление ресурсами сводится к выполнению следующих функций:
1) упрощению доступа к ресурсам (мы по этому поводу говорили выше);
2) распределению ресурсов между конкурирующими за них процессам, а именно:
а) планирование ресурса (кому, когда, сколько);
б) контроль состояния ресурса (занят или нет, сколько имеется).
Реализация первойфункции позволяет «спрятать» аппаратные особенности ЭВМ и тем самым предоставить в распоряжение пользователей и программистов расширенную (виртуальную, абстрактную) машину с существенно облегченным управлением.
Вторая функция - распределение ресурсов присуща не всем ОС, а только тем, которые обеспечивают одновременное выполнение нескольких программ. Для такой организации работы необходимы соответствующие аппаратные средства.
Ресурс работает в режиме разделения, если каждая из нескольких программ полностью занимает его в течение некоторого подынтервала рассматриваемого отрезка времени. Промежутки времени, на которые разные ресурсы предоставляются программам, могут быть различными.
Представм, к примеру, что произойдет, если несколько программ, работающих на одном компьютере, будут пытаться одновременно осуществлять вывод на принтер.Мы получили бы мешанину строчек и столбцов, выведенных программами.ОС предотвращает такого рода хаос за счет буферизации информации, предназначенной для печати, на диске и организации очереди на печать.
Таким образом, ОС, как менеджер ресурсов, осуществляет упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами.
Существуют два основных способа реализации разделения ресурсов: централизованный и децентрализованный.
При децентрализованном способе предполагается, что несколько программ совместно используют некоторый ресурс и «знают о существовании друг друга». В этом случае программы могут взаимодействовать, передавая ресурсы друг другу.
При централизованном способе разделение ресурсов возлагается на ОС. Если какой-либо работающей программе требуется ресурс, она просто запрашивает его у «распределителя ресурсов».