русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Монопольно используемые ресурсы


Дата добавления: 2013-12-23; просмотров: 1564; Нарушение авторских прав


Свойства ресурсов и их представление

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

Ресурсы могут быть монопольно используемыми или разделяемыми. Монопольными являются ВУ и некоторые системные структуры данных.

Ресурсы могут быть повторно используемыми или потребляемыми. Примеры первых – тот же ЦП или память; примеры вторых - входные данные и сообщения.

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

Процесс ни в коем случае не может самостоятельно завладеть ресурсом - а только через посредство ОС. Для предоставления процессам такой возможности в составе API ОС должны быть системные вызовы получения/освобождения ресурса. При запросе на получение ресурса ОС возвращает процессу манипулятор выделенного ресурса или – если выделение ресурса невозможно – блокирует процесс до освобождения требуемого ресурса.

Для каждого класса ресурсов ОС должна поддерживать дескриптор класса, в который должны входить: идентификатор класса; общее число единиц в классе; число свободных единиц; таблица единиц ресурса; список процессов, ожидающих ресурс этого класса; точка входа в менеджер класса; и т.д. Для каждой единицы ресурса имеется запись в таблице единиц, содержащая, как минимум, индикатор занятости ресурса и идентификатор процесса, которому ресурс распределен (если он не свободен).

Информация о ресурсах, выделенных процессу, также хранится в блоке контекста процесса.

Монопольные ресурсы и тупики



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

· предупреждения тупиков - какую стратегию распределения ресурсов выбрать, чтобы тупики не возникали вообще?

· обнаружения тупиков - если не удалось применить стратегию, предупреждающую тупики, то как обнаружить возникший тупик?

· развязки тупиков - если тупик обнаружен, то как от него избавиться?

Решение этих задач достаточно сложно и всегда сопряжено с потерями: если система применяет либеральную политику выделения ресурсов (т.е. выделяет ресурс практически по любому требованию), то тупики становятся возможными и тогда их надо обнаруживать и развязывать; если же применяется консервативная политика (отказ, если выделение ресурса может грозить возникновением тупика), то снижается эффективность использования ресурсов.

Радикальное решение, к которому стремятся современные ОС, – замена реальных монопольных ресурсов виртуальными разделяемыми. Так, например, два процесса одновременно выполняют вывод данных на принтер. Принтер является монопольным ресурсом. Но на самом деле выводимые данные процесса попадают не непосредственно на принтер, а в так называемую область спулинга на диске (разделяемый ресурс) – для каждого процесса своя область. Затем ОС сама организует последовательный вывод данных, накопленных в областях спулинга на реальный принтер.



<== предыдущая лекция | следующая лекция ==>
Порождение программ и процессов | Управление вводом-выводом


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.967 сек.