Глава 1 - Общие вопросы функционирования ОС

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ. 4

Глава 1 - Общие вопросы функционирования ОС.. 7

1.2 Ресурсы, находящиеся под управлением ОС.. 8

1.3 Виды операционных систем. 9

1.4 Категории ОС.. 9

1.5 Типы операционных систем. 11

Глава 2 – Аппаратная часть ЭВМ (HardWare) и её влияние на ОС.. 13

Глава 3 – Организация операционных систем. 17

3.1 Структурная организация операционных систем. 17

3.2. Среда времени выполнения. 18

3.3 Структура среды выполнения. 21

3.4 Коммерческие версии микроядер. 33

Глава 4 – Процессы и примитивы.. 58

Глава 5 – Организация диспетчеров. 61

5.1 Диспетчирование и состояние процессов. 61

Глава 6 – Особенности реализации управления задачами в системах реального времени 66

6.1 Требования к ОС реального времени. 67

6.2 Обобщенная структура специализированной ОС реального времени. 69

6.3 Выбор приоритетов вычислительных процессов и их взаимосвязь с системой прерываний. 72

Словарь терминов. 76


ВВЕДЕНИЕ

Стремительное развитие технологии ЭВМ открыло новую эру в проектировании операционных систем. Постоянно появляются все новые и новые виды операционных систем, разнообразных по сложности и функциям.

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

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

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

1. ОС – [ набор программных средств] [организованная совокупность программ (систем)], предназначенная(ный) для управления ресурсами вычислительной системы и действует как интерфейс между аппаратурой и пользователями.

Иногда под назначением ОС подразумевают распределение и планирование ресурсов (или динамическое и статическое распределение ресурсов).

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

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

Рисунок 2 - Состав функций ОС

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

3. ОС является посредником (связующим звеном, интерфейсом) между ЭВМ, с одной стороны, и человеком (пользователем, программистом, оператором, инженером и т.д.) - с другой. Другими словами, ОС - логическое расширение функций аппаратуры в сторону человека. Она позволяет от "физического" уровня аппаратуры перейти к более высокому "логическому" уровню, который становится уровнем вычислительной системы и который более удобен для человека (рис.3).

Глава 1 - Общие вопросы функционирования ОС

1.1 Цели и свойства операционной системы

Операционная система не может предоставить всего всем!

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

Надежность. Система должна быть также надежна, как и аппаратура, на которой она работает. Она должна быть в состоянии производить определение и диагностирование ошибок, а также восстановление после большинства характерных ошибок, произошедших по вине пользователя. ОС должна защищать пользователей от их же собственных ошибок или, по крайней мере, минимизировать вред, который они могут оказать на все окружение.
Предсказуемость. Система должна отвечать на запросы пользователей предсказуемым образом. Время, необходимое для выполнения программ пользователя, не должно варьироваться слишком сильно. Результат выполнения команд пользователя должен быть одним и тем же вне зависимости от последовательности, в которой эти команды посылаются на исполнение (при соблюдении установленных в системе правил).
Защита. Система должна защищать выполняющие задачи пользователей от взаимного влияния друг на друга. Она должна минимизировать возможность порчи программ и данных одного пользователя другим пользователем. До некоторой степени система должна защищать как себя, так и пользователя от ошибок, сделанных пользователями.
Удобство. Система предлагается пользователям потому, что она немного облегчает их работу и освобождает от бремени задач по распределению и управлению ресурсами. Так как пользователь контактирует с ОС, она должна быть спроектирована с учетом основных факторов человеческой психологии
Эффективность. При распределении ресурсов система должна быть в достаточной степени эффективной. ОС должна максимально повысить использование системных ресурсов пользователями. Сама система не должна использовать большое количество ресурсов, так как эти ресурсы становятся недоступными для удовлетворения запросов пользователей
Общие системные услуги. Система обеспечивает пользователя именно тем обслуживанием, которое ему нужно. Пользователь не должен оказаться в невыгодном положении из-за того, что он не воспользовался дополнительными возможностями системных услуг, если они не подходящие для задачи. В то же время, если обслуживание системы не обеспечено возможностями, предоставляющими пользователю средства для выполнения необходимой ему работы, то такая система неприемлема
Гибкость. Системные операции могут настраиваться для согласования с поведением пользователя. Ресурсы могут быть увеличены (уменьшены) для того, чтобы улучшить эффективность и доступность
Расширяемость. В процессе эволюции к ОС могут добавляться новые средства. Так как пользователь нуждается в изменениях, никакое прикладное окружение не является статическим. Следовательно, для того чтобы оставаться жизнеспособным инструментом, должна изменяться также и ОС.
Ясность. Пользователь может оставаться в блаженном неведении относительно вещей, существующих ниже уровня интерфейсной системы. В то же время он должен иметь возможность узнать о системе столько, сколько он хочет. Большинство пользователей предпочитают золотую середину между этими крайностями

1.2 Ресурсы, находящиеся под управлением ОС

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

Основные категории ресурсов.

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: