Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
осс эл версия.doc
Скачиваний:
7
Добавлен:
01.03.2025
Размер:
713 Кб
Скачать
☆

Разделение времени и многозадачность

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

Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) — в пакетном режиме.

Разделение полномочий

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

Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).

Реальный масштаб времени

Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.

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

Файловые системы и структуры

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

Файловая система — способ хранения данных на внешних запоминающих устройствах.

Основные принципы построения ос

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

1.Частотный принцип.Основан на выделении в алгоритмах программ действий, и в обрабатываемых массивах - данных, приблизительно равных по частоте использования.

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

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

2.Принцип модульности. Под модулем в общем случае понимают функциональный элемент системы, который:

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

- имеет средства сопряжения с подобными элементами данной или другой системы.

По определению модуль предполагает легкий способ его замены на другой.

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

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

внутренние переменные. Разработка реентерабельных программ требует в общем случае применения специальных приемов программирования.

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

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

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

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

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

Принцип модульности существенно упрощает настройку ОС на требуемую конфигурацию.

5.Принцип функциональной избыточности. - обеспечивает возможность выполнения одной и той же функциональной операции различными средствами. НАПРИМЕР:в MS-DOS:

а)обеспечивается возможность доступа к файлу двумя методами:

- методом управляющего блока файла и

- методом дискриптора файла.

б)загрузка ОС может выполняться :

- либо с жесткого диска;

- либо с дискеты.

в)управлять ОС можно :

- либо с помощью командной стоки;

- либо с помощью командной оболочки(Norton Comander)

Этот принцип обеспечивает универсальность и гибкость ОС.

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

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

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

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

Принцип как правило распространяется и на модули ОС и на прикладные программы.

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

Защита программ должна гарантироваться как при их исполнении, так и в режиме хранения.

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

Основные механизмы защиты , используемые в ЭВМ.

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

В первом случае (программа ОС), могут выполнятся любые команды в том числе и такие (системные или привилегированные), которые непосредственно изменяют состояние всей системы ( например: запрет и разрешение прерываний; маскирование прерываний; изменения слова-состояния процессора и т.п.)

Во втором случае (пользовательские программы), необходимо гарантировать невозможность выполнения системных команд.

Это достигается введением в архитектуру ЭВМ двух режимов:

1.- привилегированный. В этом режиме могут выполнятся все команды включая и системные(в этом режиме работает большинство программ ОС); 2

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

9.Принцип независимости программ от внешних устройств.

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

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

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

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

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

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