АРХИТЕКТУРА КОМПЬЮТЕРНЫХ СИСТЕМ
Контрольные вопросы
Классификация ОС
Смешанные системы
Все рассмотренные подходы к построению ОС имеют свои преимущества и недостатки. В большинстве случаев современные операционные системы используют различные комбинации этих подходов.
Примером смешанного подхода может служить возможность запуска операционной системы с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляется монолитным ядром. Данный подход возник в результате попыток использовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра.
Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра переплетены в ядре Windows NT. Хотя Windows NT часто называют микроядерной ОС, это не совсем так. Микроядро NT слишком сложно и велико (более 1 Мб), чтобы носить приставку микро. Компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных ОС. В тоже время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно ОС с монолитным ядром. Кроме того, в Windows NT существует разделение между режимом ядра и режимом пользователя еще одна черта монолитного ядра. Причина всего этого проста. По мнению Microsoft, причина проста: чисто микроядерный дизайн коммерчески непрактичен, так как слишком неэффективен.
Таким образом, Windows NT можно с полным правом назвать гибридной ОС.
Существует несколько схем классификации ОС. Ниже приведена классификация по некоторым признакам с точки зрения пользователя:
1) Реализация многозадачности
По числу одновременно выполняемых задач ОС могут быть разделены на два класса:
а) многозадачные (Unix, OS/2, Windows).
б) однозадачные (например, MS-DOS)
Многозадачная ОС, решая проблемы распределения ресурсов и конкуренции, полностью реализует мультипрограммный режим.
Приблизительность классификации очевидна из приведенных примеров. Так в ОС MS-DOS можно организовать запуск дочерней задачи и одновременное сосуществование в памяти двух и более задач. Однако эта ОС традиционно считается однозадачной, главным образом из-за отсутствия защитных механизмов и коммуникационных возможностей.
2) Поддержка многопользовательского режима.
По числу одновременно работающих пользователей ОС делят на:
а) однопользовательские (MS-DOS, Windows 3.x);
б) многопользовательские (Windows NT, Unix).
Наиболее существенно отличие заключается в наличии у многопользовательских систем механизмов защиты персональных данных каждого пользователя.
3) Многопроцессорная обработка
Многопроцессорные системы состоят из двух или более центральных процессоров, осуществляющих параллельное выполнение команд. Поддержка мультипроцессирования является важным свойством ОС и приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорная обработка реализована в таких ОС, как Linux, Solaris, Windows NT и др.
Многопроцессорные ОС разделяют на симметричные и асимметричные. В симметричных ОС на каждом процессоре функционирует одно и то же ядро и задача может быть выполнена на любом процессоре, то есть обработка полностью децентрализована. В асимметричных ОС процессоры неравноправны. Обычно существует главный процессор (master) и подчиненные (slave), загрузку и характер работы которых определяет главный процессор.
4) Системы реального времени.
В разряд многозадачных ОС, наряду с пакетными системами и системами разделения времени, включаются также системы реального времени, не упоминавшиеся до сих пор.
Они используются для управления различными техническими объектами или технологическими процессами. Такие системы характеризуются предельно допустимым временем реакции на внешнее событие, в течение которого должна быть выполнена программа, управляющая объектом. Система должна обрабатывать поступающие данные быстрее, чем те могут поступать, причем от нескольких источников одновременно.
Столь жесткие ограничения сказываются на архитектуре систем реального времени, например, в них может отсутствовать виртуальная память, поддержка которой дает непредсказуемые задержки в выполнении программ.
1) Приведите структуру компьютерной системы
2) Приведите основные части программного обеспечения
3) Дайте определение операционной системе и приведите ее состав
4) Дайте определение управляющей программе и приведите ее состав
5) Для чего предназначены системные обрабатывающие программы и приведите их состав
6) Для чего предназначены пакеты прикладных программ и технического обслуживания
7) Приведите структуру однопроцессорной компьютерной системы
8) Для чего предназначен процессор, опишите его основные элементы
9) Для чего предназначена внутренняя память, опишите ее основных частей
10) Для чего предназначены устройства ввода, вывода, внешняя память
11) Приведите основные функции ОС
12) Опишите концепцию монолитного ядра
13) Опишите концепцию слоеных систем
14) Опишите концепцию виртуальной машины
15) Опишите концепцию микроядерной архитектуры
16) Приведите примеры смешанных систем
На лекции рассматриваются:
1) Классификация архитектур по параллельной обработке данных
2) SMP-архитектура
3) MPP-архитектура
4) Гибридная архитектура NUMA
5) PVP-архитектура
6) Кластерная архитектура
7) Проблемы выполнения сети связи процессоров в кластерной системе