русс | укр

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

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

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

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


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

Планирование и управление ресурсами Операционной системы

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

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

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

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

Задача управления ресурсами и их распределения типична для исследований операционных систем; здесь могут применяться математические результаты, полученные в этой области. Кроме того, важно измерять активность системы, что позволяет следить за ее производительностью и вносить коррективы в ее работу.

На рис. 2.11 показаны основные элементы операционной системы, участвующие в планировании процессов и распределении ресурсов в многозадачной среде. Операционная система поддерживает несколько очередей, каждая из которых является просто списком процессов, ожидающих своей очереди на использование какого-то ресурса. В краткосрочную очередь заносятся процессы, которые (или, по крайней мере, основные части которых) находятся в основной памяти и готовы к выполнению. Выбор очередного процесса осуществляется краткосрочным планировщиком, или диспетчером. Общая стратегия состоит в том, чтобы каждому находящемуся в очереди процессу давать доступ по очереди; такой метод называют циклическим (round-robin). Кроме того, процессам можно присваивать различный приоритет.


Передача управления процессу
Рис. 2.11. Ключевые элементы многозадачной операционной системы

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

Во время прерывания управление переходит к обработчику прерываний, который является частью операционной системы. В силу своей функциональности процесс может обратиться к некоторому сервису операционной системы, например к драйверу устройства ввода-вывода. При этом происходит вызов обработчика обращений к сервисам, который становится точкой входа в операционную систему. Независимо от того, произошло ли прерывание или обращение к сервису, после его обработки планировщик выберет из краткосрочной очереди процесс для выполнения.

Далее в этом разделе приводится чисто функциональное описание; эти модули в различных операционных системах имеют разные особенности и устройство.

Просмотров:

Вернуться в оглавление:Операционные системы




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


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

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

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


 


Полезен материал? Поделись:

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

 
 

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