Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Модуль 4. Требования и цели при разработке современных ОС.





Требования:

  1. Переносимость, т.е. написать ОС на переносимом языке, что позволит быстро переходить от одной архитектуре компьютера к другой
  2. Мультипроцессорная обработка и масштабируемость, т.е. создание ОС как масштабируемых и многопроцессорных позволит запустить одно и то же приложение как на однопроцессорных, так и на многопроцессорных машинах => повышается производительность компьютера за счет распределения работы между несколькими процессорами.
  3. Совместимость с POSIX (переносимый интерфейс ОС, основанный на UNIX). Это означает набор международных стандартов для интерфейсов ОС UNIX-типов. Стандарт POSIX (1988г) поощряет фирмы, реализующие UNIX-подобные интерфейсы, т.е. делающие их совместимыми, чтобы программисты могли легко переносить свои программы с одной системы на другую.
  4. Защита от несанкционированного доступа. Правила защиты включают обязательные требования - защиту ресурсов пользователя от других пользователей и возможность установления квот на системные ресурсы, для предотвращения захвата одним пользователем всех системных ресурсов.

Цели:

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


4.1. Модели, используемые при разработке ОС WinNT.

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

  • клиент-сервер. Служит, чтобы предоставить пользователям разные среды ОС (MS-DOS, OS/2, …, POSIX)
  • объектная. Служит для унификации управления системными ресурсами и выделения их пользователям
  • симметричная мультипроцессорная обработка (SMP). Она максимально использует возможности многопроцессорных машин.

Клиент-серверная модель ОС.

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

  1. Авария одного из серверов не нарушает работы остальных частей ОС.
  2. Повышается надежность работы ОС.
  3. Прекрасно соответствует сетевой модели вычислительных систем.

Исполнительная система - это части ОС (часть ядра), в которую входит набор компонентов, реализующих:

  1. Управление виртуальной памятью.
  2. Управление объектами (ресурсами).
  3. Управление вводом/выводом.
  4. Файловые системы.
  5. Взаимодействие между процессами.
  6. Защита от несанкционированного доступа.

Ядро выполняет функции ОС низкого уровня:

  1. Планирование потоков (процессов).
  2. Обработка прерываний.
  3. Многопроцессорная синхронизация.

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

  1. Доступ ОС к ресурсам и работа с ними унифицирована.
  2. Упрощается защита, т.к. для всех объектов она осуществляется одинаково.

Симметричная мультипроцессорная обработка (SMP).
Многозадачность в ОС - это техника, применяемая ОС для использования одного процессора несколькими потоками управления. Если у компьютера имеется больше, чем один процессор, то от модели многозадачности следует перейти к модели мультипроцессорной обработки.

В асимметричной мультипроцессорной модели обработки (ASMP) ОС и устройства ввода/вывода используют один из процессоров (A); другой полностью отдан под пользовательские потоки => нагрузка распределена неравномерно.
В симметричной модели (SMP) ОС выполняется на любом свободном процессоре или на всех процессорах одновременно; пользовательские потоки и устройства ввода/вывода также распределены между процессорами равномерно.
Преимущества SMP:

  1. Равномерно распределена системная нагрузка.
  2. Сокращается время простоя из-за неисправностей, т.к. при сбое одного процессора код ОС может использоваться на других.
  3. Данная модель переносима на другие типы процессоров.

Структура WinNT:


4.2. Защищенные подсистемы.

Термин "сервер" подразумевает, что каждая защищенная подсистема обеспечивает API (интерфейс прикладных программ), которые могут использовать прикладные программы.
Подпрограммы среды - это сервер пользовательского режима, реализующий API некоторой ОС.
Когда приложение вызывает функцию API, этот вызов доставляется с помощью LPC (локальный вызов процедур) подсистеме среды. Она использует этот вызов и возвращает результаты прикладному процессу, посылая другой LPC.
Самая важная подсистема среды - это подсистема Win32, которая предоставляет API прикладным программам графический интерфейс, управляет всем вводом пользователя и выводом приложений.
Исполнительная система.
Исполнительная система - это часть WinNT, использующаяся в режиме ядра.
Компоненты исполнительной системы:

  1. Диспетчер объектов: создает, поддерживает и уничтожает объекты исполнительной системы.
  2. Справочный монитор защиты - гарантирует выполнение политики защиты на локальном компьютере, оберегает ресурсы ОС, обеспечивает защиту объектов, т.е. ресурсов.
  3. Диспетчер процессов: создает, завершает процессы, приостанавливает и возобновляет их, хранит и выдает информацию о процессах.
  4. Средства локального вызова процедур (LPC): передают сообщения между клиентскими и серверными процессами, расположенными на одном и том же компьютере.
  5. Диспетчер виртуальной памяти (ДВП). Предоставляет каждому процессу большое, собственное адресное пространство и защищает его от других процессов.
    Если память используется слишком интенсивно, то ДВП переносит содержимое выбранного блока памяти на жесткий диск и загружает обратно, когда он снова понадобится (подкачка страниц).
  6. Ядро. Реагирует на прерывания, направляет потоки на выполнение.
  7. Система ввода/вывода. Состоит из групп компонентов, отвечающих за выполнение ввода/вывода на разнообразные устройства:
    • диспетчер ввода/вывода. Реализует средства ввода/вывода, независящие от типа устройства
    • файловая система - это драйверы, принимающие запросы файлового ввода/вывода и транслирующие их в запросы, привязанные к конкретному устройству
    • диспетчер кэша. Повышает производительность файлового ввода/вывода, сохраняя информацию, считанную с диска последней, в системной памяти
    • драйверы устройств. Это низкоуровневые драйверы, напрямую работающие с оборудованием для записи вывода или считывания ввода с физического устройства или из сети
    • сетевые драйверы - это драйверы файловой системы, передающие удаленные запросы ввода/вывода на машины в сети, и принимающие от них такие же запросы.

WinNT - это защищенная ОС, требующая, чтобы у каждого пользователя была своя учетная запись, и чтобы пользователь регистрировался в системе, прежде чем получить доступ к ней.
При включении компьютера загружается ОС, далее необходимо ввести пароль пользователя (1). Затем пароль передается подсистеме защиты, где он сравнивается с паролем, который находится в БД. Если он совпадает, то пользователь допускается к работе в системе (3). Если нет - на экран выводится диалоговое окно, где необходимо повторно ввести пароль.


4.3. Структура объектов (ресурсов).

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

Имя объекта делает его видимым другим процессам для совместного использования.
Каталог объекта обеспечивает иерархическую структуру, в которой хранятся имена объектов.
Дескриптор защиты определяет кто и каким образом может использовать данный объект.
Расход квоты - задает квоту на использование ресурсов, которая списывается с процесса, когда тот открывает описатель данного объекта.
Счетчик открытых описателей дает сведения о том, кто в данный момент использует объект.
БД открытых описателей дает сведения о том, кто ранее работал с данными объектами.





Поделиться с друзьями:


Дата добавления: 2017-04-15; Мы поможем в написании ваших работ!; просмотров: 208 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2460 - | 2139 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.