Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS1.doc
Скачиваний:
1
Добавлен:
21.09.2019
Размер:
104.96 Кб
Скачать

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

1946 -ENIAC - полное отсутствие, какого- либо ПО, программирование путем коммутации устройств

Усложнение процесса выполнения программ:

1. Загрузка нужного транслятора

2. Запуск транслятора и получение программы в машинных кодах

3. Связывание программы с библиотечными подпрограммами

4. Запуск программы на выполнение

5. Вывод результатов работы на печатающее или другое устройство

1.2 Что такое мультипроцессорная обработка, чем она отличается от мультипрограммирования?

Мультипроцессорная обработка - одновременное выполнение двух и более процессов (программ) несколькими процессорами вычислительной системы. Мультипроцессорная обработка предполагает наличие независимых потоков команд: разных процессов или потоков (нитей) одного процесса.

Эта концепция известна с начала 70-х, но до середины 80-х доступных многопроцессорных систем не существовало. Однако к настоящему времени стало обычным включение нескольких процессоров в архитектуру даже ПК (пример - сопроцессор). Более того, многопроцессорность теперь является одним из необходимых требований, предъявляемых к компьютерам, используемым в качестве центрального сервера более-менее крупной сети.

Не путать мультипрограммную и мультипроцессорную обработки! В мультипрограммных системах параллельная работа разных устройств позволяет одновременно вести обработку разных программ, но при этом в процессоре в каждый момент времени выполняется только одна программа, т.е. несколько задач выполняются попеременно на одном процессоре. Здесь лишь видимость параллелизма.В мультипроцессорных системах несколько задач выполняются одновременно, т.к. имеется несколько обрабатывающих устройств - процессоров. Мультипроцессорная организация системы приводит к усложнению всех алгоритмов управления ресурсами. Планировать задачи для нескольких процессоров значительно сложнее, чем для одного. Кроме того, кто именно из процессоров будет это делать? Есть и другие сложности - возникают конфликтные ситуации при обращении к УВВ, ОП, памяти данных и т.д. Всё это решается путём синхронизации процессов, введения очередей, при помощи системы приоритетов (процессоров или процессов) и планирования ресурсов, но всё предусмотреть непросто. В наши дни общепринято вводить в ОС функции поддержки мультипроцессорной обработки данных. Такие функции имеются во всех популярных ОС:Microsoft Windows NT;Novell NetWare 4.x;IBM OS/2;Sun Solaris 2.x;Santa Cruz Operations Open Server 3.x.

2.1 Принципы разработки архитектур ос. Достоинства и недостатки различных архитектур. Архитектуры операционных систем

Принципы построения ОС:

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

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

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

4.) Принцип функциональной избыточности: Этот принцип учитывает возможность проведения одной и той же работы различными средствами.

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

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

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

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

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

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

В построении ОС осуществляются различные подходы:

Монолитное ядро Операционная система это обычная программа, поэтому было бы логичным и организовать его так же, как устроено большинство программ, то есть составить из процедур и функций. В этом случае компоненты операционной системы являются не самостоятельными модулями, а составными частями одной большой программы. Такая структура операционной системы называется монолитным ядром (monolithic kernel).

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

Слоеные системы (Layered systems) Можно разбить всю вычислительную систему на ряд более мелких уровней с хорошо определенными связями между ними, так чтобы объекты уровня N могли вызывать только объекты из уровня N-1. Нижним уровнем в таких системах обычно является hardware, верхним уровнем интерфейс пользователя. Чем ниже уровень, тем более привилегированные команды и действия может выполнять модуль, находящийся на этом уровне. Впервые такой подход был применен при создании системы THE (Technishe Hogeschool Eindhoven) Дейкстрой и его студентами в 1968 г.

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

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

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

Смешанные системы Cовременные ОС используют различные комбинации этих подходов.

Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра переплетены в ядре Windows NT. Хотя Windows NT часто называют микроядерной операционной системой, это не совсем так. Микроядро NT слишком сложно и велико (> 1 Мб), чтобы носить приставку микро. Компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных операционных системах. В тоже время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром. Кроме того, в Windows NT существует разделение между режимом ядра и режимом пользователя еще одна черта монолитного ядра.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]