Таким образом, современные универсальные
ОС можно охарактеризовать как:
- использующие файловые системы (с универсальным механизмом доступа к данным);
- многопользовательские (с разделением полномочий);
- многозадачные (например, с разделением времени
центрального процессора).
Многозадачность и распределение
полномочий требуют определённой иерархии
привилегий компонентов самой ОС.
В составе ОС различают три
группы компонентов:
- ядро, содержащее обработчик
прерываний, планировщик; драйверы устройств,
непосредственно управляющие оборудованием;
- сетевую подсистему, файловую систему;
- системные библиотеки и
- оболочку с утилитами.
Большинство программ, как системных
(входящих в ОС), так и прикладных,
исполняются в непривилегированном («пользовательском»)
режиме работы процессора и получают
доступ к оборудованию (и, при необходимости,
к другим ядерным ресурсам, а также ресурсам
иных программ) только посредством системных вызовов.
Ядро исполняется в привилегированном
режиме: именно в этом смысле говорят,
что ОС (точнее, её ядро) управляет оборудованием.
В определении состава ОС значение
имеет критерий операциональной
целостности (замкнутости): система
должна позволять полноценно использовать
(включая модификацию) свои компоненты.
Поэтому в полный состав ОС включают и
набор инструментальных средств (от текстовых
редакторов до компиляторов, отладчиков
и компоновщиков).
Цель и свойства операционной системы
Операционная система не может
предоставить всего всем !
Важнейшая цель - предоставить пользователю
возможность осуществлять решение вычислительных
задач или задач по обработке данных.
Надежность. Система
должна быть также надежна, как и аппаратура,
на которой она работает. Она должна быть
в состоянии производить определение
и диагностирование ошибок, а также восстановление
после большинства характерных ошибок,
произошедших по вине пользователя. ОС
должна защищать пользователей от их же
собственных ошибок или, по крайней мере,
минимизировать вред, который они могут
оказать на все окружение.
Предсказуемость. Система
должна отвечать на запросы пользователей
предсказуемым образом. Время, необходимое
для выполнения программ пользователя,
не должно варьироваться слишком сильно.
Результат выполнения команд пользователя
должен быть одним и тем же вне зависимости
от последовательности, в которой эти
команды посылаются на исполнение (при
соблюдении установленных в системе правил).
Защита. Система должна
защищать выполняющие задачи пользователей
от взаимного влияния друг на друга. Она
должна минимизировать возможность порчи
программ и данных одного пользователя
другим пользователем. До некоторой степени
система должна защищать как себя,
так и пользователя от ошибок, сделанных
пользователями.
Удобство. Система предлагается
пользователям потому, что она немного
облегчает их работу и освобождает от
бремени задач по распределению и управлению
ресурсами. Так как пользователь контактирует
с ОС, она должна быть спроектирована с
учетом основных факторов человеческой
психологии
Эффективность. При распределении
ресурсов система должна быть в достаточной
степени эффективной. ОС должна максимально
повысить использование системных ресурсов
пользователями. Сама система не должна
использовать большое количество ресурсов,
так как эти ресурсы становятся недоступными
для удовлетворения запросов пользователей
Общие системные услуги.
Система обеспечивает пользователя именно
тем обслуживанием, которое ему нужно.
Пользователь не должен оказаться в невыгодном
положении из-за того, что он не воспользовался
дополнительными возможностями системных
услуг, если они не подходящие для задачи.
В то же время, если обслуживание системы
не обеспечено возможностями, предоставляющими
пользователю средства для выполнения
необходимой ему работы, то такая система
неприемлема
Гибкость. Системные
операции могут настраиваться для согласования
с поведением пользователя. Ресурсы могут
быть увеличены (уменьшены) для того, чтобы
улучшить эффективность и доступность
Расширяемость. В процессе
эволюции к ОС могут добавляться новые
средства. Так как пользователь нуждается
в изменениях, никакое прикладное окружение
не является статическим. Следовательно,
для того чтобы оставаться жизнеспособным
инструментом, должна изменяться также
и ОС.
Ясность. Пользователь может оставаться
в блаженном неведении относительно вещей,
существующих ниже уровня интерфейсной
системы. В то же время он должен иметь
возможность узнать о системе столько,
сколько он хочет. Большинство пользователей
предпочитают золотую середину между
этими крайностями
Ресурсы, находящиеся
под управлением ОС. Основная причина существования
ОС - задачи по распределению различных
ресурсов и задачи по управлению этими
ресурсами. Цель управления ресурсами
- добиться эффективного использования
ресурсов пользователями, а также для
освобождения пользователей от бремени
задач по оперированию ресурсами.
- Процессорное время. Наиболее важный ресурс. Без его
использования не могут быть время произведены
никакие вычисления. Самая простая стратегия
- дать возможность одному пользователю
иметь доступ к машине до тех пор, пока
не выполнится его задача.
- Память. После процессорного
времени - самый дефицитный ресурс. Основная
стратегия - уменьшать пустые пространства
памяти, возникающие из-за того, что
различные программы имеют различные
объемы и особенности.
- Периферийные устройства. С большинством из
периферийных устройств (ПУ) может одновременно
работать только один пользователь. Для
некоторых устройств общего назначения
(принтеры) такая работа приводит к неэффективному
их использованию. Для устройств с быстрым
доступом существуют механизмы разделения.
Например, для дисков - спулинг (системная
программа параллельной печати).
- Ресурсы мат. обеспечения. Это сервисные программы
по управлению файлами, по обслуживанию ввода-вывода, программы
планирования, утилиты и др. Наиболее известный
метод, позволяющий пользователям иметь
доступ к ресурсам, заключается в том,
чтобы сделать все программы повторно
входимыми (реентерабельными). Это намного
лучше, чем иметь многочисленные копии.
Виды и категории операционных
систем
Виды операционных систем:
- "Пассивная сущность". Философия этого типа - это типичный
подход программного оператора. Системные
функции выглядят как расширения языка
программирования пользователя. Расширения
языка осуществлены как подсистемы (наборы
модулей), причем эти подсистемы практически
не взаимосвязаны. Система отвечает
на запросы пользователя, но остается
пассивной сущностью, ненавязчивой.
- Подход монитор-менеджер. ОС выглядит как набор ресурсов,
находящихся под управлением монитора.
В каждый момент времени монитор может
использовать только один процесс. Процесс,
которому нужен монитор, ставится в очередь,
если последний обслуживает другой процесс.
Менеджер объединяет в себе идеи монитора
и процесса, то есть он является динамической
сущностью. Менеджер обеспечивает немедленную
обработку каждого запроса; он блокирован
только тогда, когда ожидает команд
или ответов.
- Методология "абстрактной машины". В этом случае ОС обеспечивает
пользователя набором возможностей, существенно
отличных и существенно расширенных по
сравнению со средствами, предоставляемыми
аппаратной частью.
- Методология виртуальной машины. Виртуальная машина обеспечивает
эффективное существование одной или
нескольких полных систем вычислительных
машин, что в результате предоставляет
многоцелевую систему. Виртуальная машина
обычно реализуется посредством программы-монитора
виртуальной машины, которая выполняется
на реальной аппаратной части машины и
обеспечивает набор виртуальных ресурсов,
некоторые из которых могут физически
не существовать. Под управлением монитора
виртуальной машины различные пользователи
могут работать с различными ОС, и, таким
образом, устанавливать свои собственные
программные окружения.
Две категории ОС:
- ориентированная на сообщение модель - характеризуется
имеющимися в ее распоряжении процессами.
Процессы могут получать и посылать сообщения,
ожидать их получения, опрашивать состояния
этих сообщений. Ожидающий сообщение процесс
становится активным после получения
сообщения от соответствующего процесса.
Обычно процесс помещается в очередь готовых
к выполнению процессов и ждет своего
часа, однако если его приоритет выше других
процессов, он начинает выполняться. Прерывания
рассматриваются как сообщения от
устройств, посылаемые программам обслуживания
- драйверам. В такой системе число процессов
и их связи заранее известны и остается
относительно статичным. Этот стиль применяется
для задач сбора, обработки и накопления
информации, в процессах управления, в
командах, управляющих и коммуникационных
системах, в которых процессы связаны
с ресурсами системы.
Особенности модели:
- Синхронизация среди процессов и очереди за ресурсами реализуются в виде очередей процессов, ожидающих сообщения от процессов, взаимодействующих
с этими ресурсами.
- Периферийные устройства рассматриваются как процессы, в которых операция, выполняемая на устройстве, является результатом сообщения, посланного устройству.
- Приоритеты обычно статично установлены во время проектирования системы.
- В каждый момент времени процесс может работать только с одним сообщением.
- Процессы относительно независимы по функциям.
- ориентированная на процедуры модель - характеризуется
быстрой сменой контекста, осуществляемой
за счет эффективных системных вызовов.
Взаимодействие процессов достигается
при помощи блокировок, семафоров и
событий. При этом процесс стремится захватить
ресурс и, вероятно, будет вынужден
ждать очереди до тех пор, пока какой-нибудь
другой процесс не освободит этот ресурс.
Право на процессор дается тогда, когда
освобождается ресурс, захваченный процессом
с более высоким приоритетом. Создание
и удаление процессов в такой системе
выполняется просто, коммуникационные
каналы устанавливаются и уничтожаются
по мере необходимости.
Особенности модели :
- Синхронизация процессов и очереди за дефицитными ресурсами реализуются в виде очередей процессов, ожидающих срабатывания связанных с этими ресурсами семафоров.
- Данные разделяются непосредственно среди процессов.
- Процессы владеют ресурсами относительно короткие промежутки времени.
- Периферийные устройства рассматриваются как ресурсы, захватываемые процессом на время выполнения операции
ввода-вывода.
- Процессы имеют динамические приоритеты, связанные либо с функциями, либо с ресурсами.
- Для системных ресурсов требуется глобальная, описывающая их схема, необходимая для того, чтобы все процессы
имели простой доступ к ресурсам.
Типы классических («чистых») операционных
систем
Традиционно различают три типа
"чистых" ОС, каждая из которых
может быть охарактеризована определенным типом взаимодействия между
пользователем и его заданием и ограничениями на время ответа системы.
- ОС пакетной обработки - система, в которой задания пользователей
предоставляются на обработку в виде последовательных
пакетов на входных устройствах и в которой
не существует взаимодействия между пользователем
и его заданием во время обработки. Пользователь
полностью изолирован от своего задания
и поэтому считает, что время ответа системы
есть время полного выполнения задания.
Это время может быть измерено минутами
или часами, и поэтому может расцениваться
как удовлетворительное. Поэтому в ОС
может быть использована относительно
гибкая дисциплина планирования.
- ОС разделения времени - это система, которая обеспечивает
одновременное обслуживание многих
пользователей, работающих "в линию"
с ЭВМ ("on-line-users"), позволяя каждому пользователю
взаимодействовать со своим набором программ
и данных. Эффект одновременного доступа
достигается разделением времени процессора
и других ресурсов между несколькими
пользователями таким образом, который
гарантирует ответ на каждую команду пользователя
в течение нескольких секунд. ОС предоставляет
каждому процессу пользователя ресурсы
в течение небольшого "кванта времени"
обычно в миллисекундном диапазоне; если
процесс не завершился к концу своего
"кванта", он прерывается и помещается
в очередь ожидания, уступая другому
процессу свою очередь.
- ОС реального времени - это система, которая обслуживает
внешние процессы, развивающие на устройствах,
работающих в линию с ЭВМ, имеющие жесткие ограничения на время ответа. Действиями
системы управляют прерывания от внешних
процессов; если они не будут быстро обработаны
(в зависимости от процесса в течение микро-,
миллисекунд или секунд), то ход внешнего
процесса может исказиться. Эти системы
часто проектируются для частного применения,
например, для управления технологическим
процессом.
Конкретная ОС может обеспечить
выполнение как определенного вида
задания (пакетной обработки, разделения
времени или реального времени), так и
всех заданий одновременно. Например,
системы разделения времени и системы
реального времени обычно выполняют пакетные
задания в фоновом режиме, когда нет работы
"в линию".
Классификация операционных систем
Операционная система составляет
основу программного обеспечения ПК.
Операционная система представляет
комплекс системных и служебных
программных средств, который обеспечивает
взаимодействие пользователя с компьютером
и выполнение всех других программ.