- •2 Пара. Архитектура ос. Организация ядер в Windows и Unix, уровни ос Архитектура компьютерной системы
- •Архитектура операционной системы
- •Основные компоненты ос
- •3. 1. Ядро и вспомогательные модули ос
- •3. 2. Ядро и привилегированный режим
- •3. 3. Многослойная структура ос
- •3. 6. Микроядерная архитектура
- •Типы архитектур ядер операционных систем
- •Монолитное ядро
- •Модульное ядро
- •Гибридное ядро
- •Микроядро
- •Экзоядро
- •Наноядро
- •Архитектура ядра Windows nt 5.0
- •Архитектура системы
- •Режим ядра
- •Исполняемая часть
- •Подсистемы среды и библиотеки dll
- •Архитектура unix
- •Архитектура операционной системы unix
- •Ядро операционной системы unix
- •Ядро в Linux
- •-Обработка прерываний в ядре
2 Пара. Архитектура ос. Организация ядер в Windows и Unix, уровни ос Архитектура компьютерной системы
Рис. 4.1. Архитектура компьютерной системы.
Компьютерная система имеет модульную структуру. Для каждого устройства (память, внешние устройства) в системе имеется специальное устройство управления (иначе говоря, специальный процессор), называемый контроллером устройства. Все модули (центральный процессор, память и контроллер памяти, внешние устройства и их контроллеры) соединены между собой системной шиной (system bus), через которую они обмениваются сигналами. Работой каждого контроллера управляет драйвер - специализированная низкоуровневая программа, являющаяся частью ОС.
Преимущество описанного модульного подхода к аппаратуре в том, что центральный процессор, память и внешние устройства могут функционировать параллельно. Работой каждого устройства управляет специальный контроллер.
Вот типичная структура современной настольной или портативной компьютерной системы, с указанием наиболее распространенных типов устройств и их характеристик.
Центральный процессор
Оперативная (основная) память, или просто память
Системная шина
Порты
Порты COM (communication ports)
Порт LPT (от line printer), или параллельный порт
Порты SCSI и SCSI-устройства.
Порт VGA (Video Graphic Adapter)
IEEE 1394 (FireWire)
HDMI (High Definition Multimedia Interface)
Bluetooth
Инфракрасный порт (IrDA)
Архитектура операционной системы
Большинство современных операционных систем представляют собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой-либо единой архитектуры ОС не существует, но существуют универсальные подходы к структурированию ОС. Сложную систему без хорошей структуры чаще проще разработать заново, чем модернизировать.
Основные компоненты ос
Рис. 3.1 Обобщенная структура управляющей программы.
В состав операционной системы входят следующие подсистемы:
Управление процессами.
Управление основной памятью.
Управление внешней памятью.
Управление устройствами ввода/вывода.
Управление файлами.
Защита системы.
Сетевая поддержка.
Командный интерфейс системы.
Графическая оболочка.
Управление процессами
Процесс - это программа в стадии выполнения. Процессу необходимы определенные ресурсы, включая процессорное время, память, файлы и устройства ввода/вывода для выполнения своих задач. ОС отвечает за следующие действия в связи с управлением процессами:
создание и удаление процессов;
приостановку и возобновление процессов;
обеспечение механизмов для синхронизации процессов;
обеспечение механизмов для взаимодействия процессов.
Управление основной памятью
Память представляет собой большой массив слов или байт, каждый из которых имеет собственный адрес. Это хранилище данных, к которым обеспечивается быстрый доступ, распределенный между процессором и устройствами ввода/вывода. Основная память - энергозависимое устройство, которое теряет содержимое в случае выключения системы. ОС отвечает за следующие действия в связи с управлением памятью:
ведет учет того, какая часть памяти в настоящий момент занята;
принимает решение о загрузке процессов при освобождении пространства ОП;
распределяет и освобождает пространство ОП в соответствии с действующими стратегиями.
Управление внешней памятью
Поскольку основная память (первичная память) энергозависима и слишком мала для размещения всех данных и программ постоянно, ВС должна обеспечить вторичную память для сохранения основной памяти. Большинство современных ВС используют диски как средство оперативного хранения как программ, так и данных. ОС отвечает за следующие действия в связи с управлением внешней памятью:
управление свободным пространством;
распределение памяти;
управление диском.
Подсистема управления устройствами ввода/вывода
Подсистема ввода/вывода состоит из:
системы кэширования - буферирования;
общего интерфейса драйверов устройств;
драйверов специализированных устройств.
Подсистема управления файлами
Файл представляет собой набор взаимосвязанной информации, определенной при создании. Кроме собственно данных, файлы представляют программы, как в исходном, так и в объектном виде.
Подсистема ОС отвечает за следующие действия в связи с управлением файлами:
создание файлов;
создание и удаление подкаталогов;
поддержку операций для манипулирования с файлами и подкаталогами;
представление файлов во внешней памяти;
выгрузку файлов на другие внешние устройства.
Защита системы
Защита системы предполагает наличие механизма для управления доступом программ, процессов и пользователей к системным и пользовательским ресурсам.
Механизм защиты должен:
различать авторизованное и не авторизованное использование;
определить элементы управления, которые будут задействованы;
обеспечить средства реализации.
Сетевое обеспечение
Распределенная система - набор процессоров, которые не распределяют память или каждый процессор имеет свою локальную память. Процессоры в системе соединены посредством компьютерной сети и обеспечивают пользователям доступ к различным системным ресурсам, позволяющим:
увеличить скорость вычислений;
увеличить объем доступной информации;
повысить надежность.
Система поддержки командного интерпретатора.
Любая операционная система поддерживает командный язык (или набор командных языков), состоящих из пользовательских команд, выполняемых с пользовательского терминала (из пользовательской консоли). Типичные команды – это получение информации об окружении, установка и смена текущей рабочей директории, пересылка файлов, компиляция и выполнение программ, получение информации о состоянии системы и выполнении своих процессов и др. В системе Windows для выполнения команд по традиции используется окно пользовательской консоли MS DOS, в системе Linux – специальное окно "Термиинал" (Start / System Tools / Terminal). Наиболее мощные командные процессоры имеются в системах типа UNIX (UNIX, Solaris, Linux и др.). Их командные языки позволяют писать скрипты – командные файлы, содержащие часто используемые последовательности команд ОС. В UNIX это наиболее удобно. Что касается Windows, сравнительно недавно в ней появился мощный командный интерпретатор PowerShell, который и рекомендуется к использованию.
Графическая оболочка
подсистема ОС, реализующая графический пользовательский интерфейс пользователей и системных администраторов с операционной системой. Разумеется, использование одного лишь командного языка и системных вызовов неудобно, поэтому простой и наглядный графический пользовательский интерфейс с ОС необходим. Имеется много известных графических оболочек для операционных систем, причем их возможности очень похожи друг на друга - настолько, что подчас не вполне понятно, какая именно ОС используется. Среди графических оболочек, используемых в системах типа UNIX, можно назвать KDE, GNOME. ОС Windows и MacOS имеют собственные, весьма удобные графические оболочки.