Операционные системы. Исторический обзор. Назначение и основные функции ОС: управление устройствами, управление задачами и процессами, управление данными, страница 3

Главное назначение ОС - управление ресурсами компьютера. При этом ОС реализует множество функций:

n определяет так называемый интерфейс пользователя

n обеспечивает разделение аппаратных ресурсов между пользователями

n дает возможность работать с общими данными в режиме коллективного пользования

n планирует доступ пользователей к общим ресурсам

n обеспечивает эффективное выполнение операций ввода-вывода

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

ОС управляет следующими основными ресурсами

n процессором (процессорами)

n памятью

n устройствами ввода-вывода

n данными

ОС взаимодействует с

n операторами

n прикладными программистами

n системными программистами

n администраторами

n программами

n аппаратными средствами

n пользователями

Пользователи - это абоненты вычислительного комплекса, которые применяют компьютер для выполнения полезной работы

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

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

Администраторы системы устанавливают принципы и порядок работы на вычислительном комплексе.

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

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

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

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

Программное приложение

Интерфейс Виртуальной Машины

Операционная Система

Интерфейс Физической Машины

Аппаратура ЭВМ

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

Для большинства областей деятельности ОС, таких как файловая система, управление памятью, управление сетью, планирование использования ресурсов ЦПУ - мы начинаем с двух вопросов:

n Что представляет собой интерфейс с аппаратурой? (физическая действительность)

n Что представляет собой интерфейс с программным приложением? (более понятная абстракция)

Ну и конечно, следует обязательно задать вопрос: Почему интерфейс выглядит ИМЕННО так (а не иначе), и нельзя ли сделать так, что бы он предоставил больше возможностей приложению; или аппаратуре; или обоим вместе.

Из множества выполняемых ОС функций можно выделить две основные:

1.   Координатор. Позволяет множеству приложений/пользователям эффективно работать вместе (например, параллелизм, защита памяти, файловая система, работа в сетях …)

2.  Стандартное обслуживание. Обеспечивает стандартные повседневные нужды (например, библиотеки функций, оконный интерфейс…)

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

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

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

ОС как комплексная (сложная) система - если хотите, что бы вещи работали, старайтесь сделать представление о них проще.