- •Операционные системы
- •Владимирского государственного университета
- •Оглавление
- •1 Операционные системы. Общие понятия 5
- •2 Однопользовательские операционные системы 11
- •3 Сетевые операционные системы 13
- •4 Управление локальными ресурсами 17
- •5 Современные концепции и технологии проектирования операционных систем 43
- •Введение
- •1Операционные системы. Общие понятия
- •1.1Понятие и функции операционной системы
- •1.1.1Ос как расширенная машина
- •1.2Этапы развития ос
- •1.3Классификация ос
- •1.3.1Особенности алгоритмов управления ресурсами
- •Поддержка многозадачности
- •Поддержка многопользовательского режима
- •Вытесняющая и невытесняющая многозадачность
- •Поддержка многонитевости
- •Многопроцессорная обработка
- •1.3.2Особенности аппаратных платформ
- •1.3.3Особенности областей использования
- •1.3.4Особенности методов построения
- •2Однопользовательские операционные системы
- •2.1Структура однозадачной операционной системы
- •2.2Структура многозадачной операционной системы
- •3Сетевые операционные системы
- •3.1Структура сетевой операционной системы
- •3.2Одноранговые сетевые ос и ос выделенных серверов
- •4Управление локальными ресурсами
- •4.1Понятие ресурса
- •4.1.1Свойства и классификация ресурсов
- •4.1.2Действия над ресурсами
- •4.2Управление процессами
- •4.2.1Состояние процессов
- •4.2.2Алгоритмы планирования процессов
- •4.2.3Вытесняющая и невытесняющая многозадачность
- •4.2.4Нити
- •4.2.5Взаимодействие процессов Разделяемая память
- •Программные каналы
- •Системы, управляемые событиями
- •4.2.6Средства синхронизации процессов Проблема синхронизации
- •Критическая секция
- •4.3Управление памятью
- •4.3.1Типы адресов
- •4.3.2Методы распределения памяти без использования дискового пространства
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •4.3.3Методы распределения памяти с использованием дискового пространства Понятие виртуальной памяти
- •Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •Свопинг
- •4.3.4Иерархия запоминающих устройств. Принцип кэширования данных
- •4.4Управление вводом-выводом
- •4.4.1Физическая организация устройств ввода-вывода
- •4.4.2Организация программного обеспечения ввода-вывода
- •Обработка прерываний
- •Драйверы устройств
- •Независимый от устройств, слой операционной системы
- •Пользовательский слой программного обеспечения
- •4.5Файловая система
- •4.5.1Имена файлов
- •4.5.2Типы файлов
- •4.5.3Логическая организация файла
- •4.5.4Физическая организация и адрес файла
- •4.5.5Права доступа к файлу
- •4.5.6Общая модель файловой системы
- •4.5.7Отображаемые в память файлы
- •4.5.8Современная архитектура файловой системы
- •5Современные концепции и технологии проектирования операционных систем
- •5.1Требования, предъявляемые к ос нового поколения
- •5.2Пользовательский интерфейс
- •5.2.1Интерфейс cli
- •5.2.2Интерфейс gui
- •5.3Операционная система Windows nt
- •5.3.1История создания
- •5.3.2Особенности Windows nt версий 4.0 и 5.0
- •5.3.3Требования к аппаратуре
- •5.3.4Области использования Windows nt
- •5.3.5Микроядерная структура Windows nt
- •5.3.6Планирование процессов и нитей
- •5.3.7Управление памятью
- •5.3.8Файловые системы Windows nt
- •Файловая система fat
- •Файловая система ntfs Структура ntfs
- •Короткие имена
- •Надежность ntfs
- •5.3.9Управление вводом-выводом в Windows nt
- •5.3.10Встроенная сетевая поддержка в Windows nt
- •5.3.11Доменная справочная служба Windows nt
- •5.3.12Служба каталогов Active Directory Общие сведения о службе каталогов
- •Архитектура Active Directory
- •Модель данных
- •Логическая структура
- •Модель защиты данных
- •Модель управления
- •Свойства Active Directory
- •Интеграция dns
- •Именование объектов
- •Доступ к Active Directory
- •Виртуальные контейнеры
- •Глобальный каталог
- •Безопасность
- •Репликация
- •Деревья и лес
- •Логическая структура
- •Публикация
- •Литература
2.1Структура однозадачной операционной системы
Структура однопользовательской однозадачной операционной системы (на примере MS DOS) приведена на рисунке 2.1.
Рис. 3.1. Структура однопользовательской однозадачной операционной системы
Однопользовательская однозадачная операционная система MS-DOS состоит из трех основных модулей.
Модуль «Базовая система ввода-вывода» индивидуален для каждой вычислительной системы и поставляется ее изготовителем. В этом модуле содержатся аппаратно-зависимые драйверы таких устройств как дисплей, клавиатура, последовательный канал связи и т.д. Ядро ОС взаимодействует с драйверами устройств с помощью пакетов запросов, драйверы переводят эти запросы в различные команды для аппаратных контроллеров.
«Ядро ОС» включает набор аппаратно независимых сервисных программ, называемых системными функциями. К ним относятся следующие функции:
управление файлами и записями;
управление памятью;
символьно-ориентированное устройство ввода-вывода;
доступ к часам реального времени;
порождение других задач и т.д.
Прикладные программы могут обращаться к системным функциям путем загрузки регистров параметрами функций и последующей передачи управления операционной системе с помощью программного прерывания.
«Командный процессор» (или оболочка) – это интерфейс пользователя с операционной системой. Он отвечает за анализ синтаксиса и выполнение команд пользователя, включая загрузку и выполнение других программ.
2.2Структура многозадачной операционной системы
Структура однопользовательской многозадачной операционной системы (на примере OS/2) приведена на рисунке 2.2
Рис. 2.2. Структура однопользовательской многозадачной операционной системы.
Структуру однопользовательской многозадачной операционной системы OS/2 можно разделить на четыре основных уровня:
программируемый интерфейс прикладных программ;
уровень подсистем;
ядро системы;
драйверы устройств.
Основные функции системы, необходимые всем программам, находятся в ядре ОС: управление памятью, диспетчеризация, управление устройствами. Поддержка работы аппаратуры содержится в драйверах устройств. Средства высокого уровня выделены в подсистемы, а доступ ко всем функциям ОС осуществляется через программируемый интерфейс прикладных программ (API).
3Сетевые операционные системы
3.1Структура сетевой операционной системы
Сетевая операционная система составляет основу любой вычислительной сети. Каждый компьютер в сети в значительной степени автономен, поэтому под сетевой операционной системой в широком смысле понимается совокупность операционных систем отдельных компьютеров, взаимодействующих с целью обмена сообщениями и разделения ресурсов по единым правилам – протоколам. В узком смысле сетевая ОС – это операционная система отдельного компьютера, обеспечивающая ему возможность работать в сети.
Современные сетевые ОС чаще всего многопользовательские, т.е. включают средства защиты информации каждого пользователя от несанкционированного доступа других пользователей.
Структура сетевой ОС представлена на рисунке 3.1.
В сетевой операционной системе ЭВМ машины можно выделить несколько частей (см. рис. 3.1):
средства управления локальными ресурсами компьютера или локальную ОС, в функции которой входит распределение оперативной памяти между процессами, планирование и диспетчеризации процессов, управление процессорами в мультипроцессорных машинах, управления периферийными устройствами и т.д.;
средства предоставления собственных ресурсов и услуг в общее пользование – серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, что необходимо для их совместного использования, ведение справочников имен сетевых ресурсов, обработку запросов удаленного доступа к собственной файловой системе и базе данных, управление очередями запросов удаленных пользователей к своим периферийным устройствам и т.п.;
средства запроса доступа к удаленным ресурсам и услугам и их использования – клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей, при этом запрос поступает от приложения в локальной форме, а передается в сеть в другой форме, соответствующей требованиям сервера. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо;
коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию сообщений, выбор маршрута передачи сообщения по сети, надежность передачи и т.п., то есть является средством транспортировки сообщений.
В зависимости от функций, возлагаемых на конкретный компьютер, в его операционной системе может отсутствовать либо клиентская, либо серверная части.
На рисунке 3.2 показано взаимодействие сетевых компонентов. Здесь ЭВМ 1 выполняет роль «чистого» клиента, а ЭВМ 2 – роль «чистого» сервера, соответственно на первой машине отсутствует серверная часть, а на второй – клиентская. Взаимодействие осуществляется следующим образом. Редиректор ЭВМ 1 перехватывает все запросы, поступающие от приложений, и анализирует их. Если выдан запрос к ресурсу локальной ЭВМ, то он переадресовывается соответствующей подсистеме локальной ОС, если же это запрос к удаленному ресурсу, то он переправляется в сеть. При этом осуществляется преобразование запроса из локальной формы в сетевой формат и передача его транспортной подсистеме, которая отвечает за доставку сообщений указанному серверу. Серверная часть операционной системы ЭВМ 2 принимает запрос, преобразует его и передает для выполнения своей локальной ОС. После того, как результат получен, сервер обращается к транспортной подсистеме и направляет ответ клиенту, т.е. в данном случае ЭВМ 1. Клиентская часть ЭВМ 1 преобразует результат в соответствующий формат и адресует его тому приложению, которое сформировало запрос.
На практике сложилось два подхода к построению сетевых операционных систем (см. рис. 3.3).
Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную ОС встраивался минимум сетевых функций, необходимых для работы сетевой оболочки, которая выполняла основные сетевые функции. Примером такого подхода является использование на каждой машине сети операционной системы MS DOS (у которой начиная с ее третьей версии появились такие встроенные функции, как блокировка файлов и записей, необходимые для совместного доступа к файлам).
Более эффективным является подход разработки операционных систем, изначально предназначенных для работы в сети. Сетевые функции у ОС такого типа глубоко «встроены» в основные модули системы, что обеспечивает их логическую стройность, простоту эксплуатации и модификации, а также высокую производительность. Примером такой ОС является система Windows NT фирмы Microsoft, которая за счет встроенности сетевых средств обеспечивает более высокие показатели производительности и защищенности информации по сравнению с сетевой ОС LAN Manager той же фирмы (совместная разработка с IBM), являющейся надстройкой над локальной операционной системой OS/2.