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

Операционные системы Windows.

Предпосылки – потребности пользователей. Компьютер фирмы Макентош. Впервые появился в виде оболочки для MS DOS.

Программная реализация ОС Windows.

Компоненты:

  1. ядро KERNEL.exe управление системными ресурсами

  2. USER.exe создание и управление окнами пиктограммы, курсор, управление мышью

  3. GDI.exe поддержка графического интерфейса

  4. модули взаимодействия с ресурсами

SYSTEM.DRV

KEYBOARD.DRV

MOUSE.DRV

Взаимодействий этих модулей.

Ядро функции:

- управление модулями

- управление памятью

- для работы с сегментами

- для работы с операционной системой

- функции управления задачами

- управление ресурсами

- для работы со строками

- функции для работы с файлами инициализации (WIN INI, SYSTEM INI)

- файлового ввода/вывода

- загрузки приложений

USER.exe

Категории функций

- функции работы с сообщениями (обработка сообщений в очереди приложения)

- создание окна

- ввод информации

- аппаратные функции, связанные с изменением состояния устройств ввода

- функции отрисовки подготовка окна к отображению информации (работа с панелями диалога, прокрутка изображения, работа меню)

- информационная

- системная

- работы с буфером обмена

- поддержки курсора

- функции поддержки экранного указателя

GDI.exe

- аппаратно – независимые функции отображения графических изображений. Функции реализуются через драйверы устройств.

Категории функций

- функции работы с контекстом устройства

- функции работы с графическими объектами

- работы с палитрами

- работы с растровыми изображениями

- установки атрибутов изображения

- вывода текста

- работы со шрифтом

- функции преобразования координат

- функции отображения

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

- работы с областями

- вывода на устройства печати

- отображения линий

Новое – графический интерфейс. В Windows управление событиями – основа работы ОС.

Операционные системы Windows nt.

Пир разработке использовать современные технологии об ориентации программы. Требования к современной архитектуре. При разработке архитектуры NT используют архитектуру ядра.

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

Структура Windows NT.

Может быть представлена двумя частями: привилегированной и в режиме пользователя.

  1. Часть, работающая в режиме ядра, называется исполнительной частью.

Компоненты исполнительной части:

-управление виртуальной памятью

- объектами (ресурсами)

- управление вводом/выводом

- файловой системой

- взаимодействием процессов

- частичное управление безопасностью

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

  1. В пользовательском режиме – серверы или защищенные подсистемы.

Каждый сервер выполняется в определенном процессе, память которого защищена от других процессов системой управления виртуальной памятью. Нет общей памяти, подсистемы общаются друг с другом с помощью посылки сообщений. Сообщения могут быть между двумя серверами, а так же между клиентом и сервером. Все сообщения проходят через исполнительную часть Windows NT. Исполнительная часть всегда находится в оперативной памяти.

Компоненты:

  1. менеджер объектов, создает, удаляет и управляет объектами – абстрактные типы данных, используемые для представления ресурсов системы.

  2. монитор безопасности – устанавливает правила защиты на локальном компьютере, защиту и регистрацию объектов.

  3. менеджер процессов – создает, приостанавливает, возобновляет и завершает процессы и нити, хранит информацию о них.

  4. менеджер виртуальной памяти

  5. подсистема ввода/вывода

Подсистема ввода/вывода:

- менеджер ввода/вывода – предоставляет средства ввода/вывода независимо от устройств

- файловая система

- сетевой редеректор

- сетевой сервер

- драйверы устройств

- менеджер кеша

Исполнительная часть основана на службах предоставляемых ядром.

Функции ядра:

- планирование процессов

- обработка исключительных ситуаций и прерываний

- синхронизация процессора для многопроцессорных систем

- восстановление системы после сбоя.

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

Цель разработчика

– улучшение сетевых возможностей и производительности достигнуто разделением функций ядра и другими модулями. Передача данных в файловую систему и по сети производится быстрее в пространстве ядра, т.к. там выделен буфер для чтения и записи. Защищенная подсистема работает в пользовательском режиме и создаются при загрузке ОС. Среди защищенных подсистем выделяют подсистемы окружения, которые реализуют интерфейсы приложений АР. Другие подсистемы называются интегральные. Большая часть подсистем выполнена как интегральные. Наиболее важная подсистема окружения Win 32. Подсистема обеспечивает доступ 32 разрядных приложений, так же обеспечивает графический интерфейс с пользователем и управлением вводом/выводом данных пользователя. Каждая защищенная подсистема работает в режиме пользователя, вызывая системный сервис для выполнения привилегированных действий в режиме ядра. Сетевые серверы выполняются в режиме ядра и пользователя. Подсистемы связаны между собой путем передачи сообщений. Основное средство, объединяющее все подсистемы – механизм вызова локальных процедур LPC.

Локальная процедура – оптимизированный вариант удаленного вызова процедур RPC. Средства LPC поддерживают несколько способов передачи данных между клиентами сервера и пользователем:

- для передачи коротких сообщений

- длинных сообщений

- для Win 32

Windows NT используют подсистемы для решения:

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

  2. базовую операционную систему изолируют от изменений в программном интерфейсе

  3. объединить часть глобальных данных, которые требуются всем программным интерфейсам

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

  5. позволить операционной системе расширяться за счет новых программных интерфейсов

Микроядро.

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

Множественные прикладные среды.

При разработке Windows NT требовалось обеспечить поддержку существующих программных интерфейсов. В полной мере использовали опыт разработчиков МАС в которой клиентсерверные реализации отделены базовые механизмы от серверов программных интерфейсов. Windows NT поддерживает 5 прикладных сред след операционных систем MS DOS, Windows 16, OC 2, POSIX, 32 разрядный Windows.

Объектно-ориентированный подход.

Использовался при разработке Windows NT. Любой ресурс системы, который одновременно может быть использован более чем одним процессом, реализован в виде объекта и управляется набором функций. Разработчики решили использовать объект для представления системных ресурсов, т.к. объекты обеспечивают централизованные средства для выполнения важных задач ОС:

- поддержка воспринимаемых человеком имен системных ресурсов

- разделение ресурсов и данных между процессами

- защита ресурсов от несанкционированного доступа

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

В Windows NT входит менеджер объектов, он выполняет следующие функции:

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

Процессы и нити.

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

Характерные свойства процессоров NT.

  1. процессы реализованы в виде объектов, доступ к ним осуществляется с помощью службы объектов

  2. процесс имеет многонитьевую структуру

  3. объекты – процессы и объекты – нити имеют средства синхронизации

  4. менеджер процессов не поддерживает между процессами отношения типа родитель – потомок

Понятие процесс включает:

  1. исполняемый код

  2. собственные адресные пространства

  3. ресурсы системы, в которые назначены процессу операционной системой

  4. хотя бы одна выполняемая нить

В Windows NT процесс это объект создаваемый менеджером объектов, так же как он его удаляет. Объект – процесс содержит заголовок и атрибуты, а так же системный сервис, который может изменять эти атрибуты.

Число атрибутов объекта – процесса входят:

  1. идентификация процесса (уникальное имя)

  2. токен доступа (информация о безопасности)

  3. базовый приоритет

  4. процессорная совместимость

  5. предельное значение оперативной и дисковой памяти

  6. время исполнения – время для выполнения всех нитей процесса

Алгоритм планирования процессов и нитей.

В Windows NT реализована вытесняющая многозадачность Windows NT нить может одну из 6 состояний. Жизненный цикл нити начинается в момент когда программа создает новую нить, после инициализации нить проходит следующие состояния:

- готовность диспетчер просматривает очередь нитей и выделяет готовые нити

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

- выполнение

- ожидание (несколько способов)

1 ожидание некоторого объекта по своей инициативе – причина синхронизация выполнения с другими нитями

2 ожидание по инициативе ОС – окончание процедуры ввода/вывода

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

- завершение – выполнение нити закончилось нить может быть удалена, а может быть и нет

Приоритеты Windows NT

32 уровня приоритетов разделенных на два класса с 16 – 31 нити реального времени

Динамический приоритет – приоритет меняется во времени

Абсолютный приоритет – не меняется во времени