ОС как система управления ресурсами

Операционные системы для автономного компьютера

ОС как виртуальная машина

ОС как система управления ресурсами

Основные функции операционных систем

Назначение и функции операционной системы

Сегодня существует большое количество разных типов операционных систем, отличающихся

· областями применения,

· аппаратными платформами,

· методами реализации.

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

Операционные системы для автономного компьютера

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

В соответствии с этим ОС выполняет две группы функции:

1) предоставление пользователю или программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобнее работать и которую легче программировать;

2) повышение эффективности использования компьютера путем рационального управления его ресурсами.

ОС как виртуальная машина

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

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

Именно ОС скрывает от программиста большую часть особенностей аппаратуры и предоставляет возможность простой и удобной работы с требуемыми файлами.

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

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

- удалить файл с определенным именем;

- запустить на выполнение некоторую прикладную программу;

- повысить приоритет задачи;

- вывести текст файла на печать.

Таким образом, назначение ОС состоит в предоставлении пользователю/программисту некоторой расширенной виртуальной машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальный компьютер или реальную сеть.

ОС как система управления ресурсами

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

К числу основных ресурсов современных вычислительных систем могут быть отнесены такие ресурсы, как:


  • процессоры,
  • основная память,
  • таймеры,
  • наборы данных,
  • диски,
  • НМЛ,
  • принтеры,
  • сетевые устройства и др.

Ресурсы распределяются между процессами.

Процесс(задача) представляет собой базовое понятие большинства современных ОС и часто кратко определяется как программа в стадии выполнения.

o Программа – это статический объект, представляющий собой файл с кодами и данными.

o Процесс – это динамический объект, который возникает в ОС после того, как пользователь или сама операционная система решает запустить программу на выполнение, т.е. создать новую единицу вычислительной работы.

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

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

Управление ресурсами включает решение следующих, не зависящих от типа ресурса задач:

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

- удовлетворение запросов на ресурсы;

- отслеживание состояния и учет использования ресурса, т.е. поддержание оперативной информации в том, занят или свободен ресурс и какая доля ресурса уже распределена;

- разрешение конфликтов между процессами.

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

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

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

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

- в порядке поступления;

- на основе приоритетов;

- кругового обслуживания и т.д.

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

Большинство функций управления ресурсами выполняются операционной системой автоматически и прикладному программисту недоступны.