- •Общие сведения, ос 90-х годов.
- •Рабочие станции
- •Цели проекта Windows nt: расширяемость и переносимость.
- •Расширяемость
- •Переносимость
- •Цели проекта Windows nt: надежность, совместимость и производительность.
- •Совместимость
- •Производительность
- •Модели Windows nt: клиент-сервер.
- •Объектная модель. Симметричная мультипроцессорная обработка.
- •Защищенные подсистемы. Исполнительная система.
- •Исполнительная система
- •Основные понятия: сессия регистрации, подсистемы среды.
- •Сессия регистрации
- •Подсистемы среды
- •Базовые сервисы: объекты, объекты в памяти.
- •Объекты
- •Объекты размещаются в памяти ос.
- •Ввод-вывод и файловые системы
- •Интернационализация, регионы, Unicode.
- •Интернационализация
- •Регионы
- •Структурная обработка исключений.
- •Удержание объектов
- •Учет использования ресурсов
- •Методы объектов.
- •Защита объектов. Маркеры доступа.
- •Маркеры доступа
- •Списки контроля доступа. Общий принцип работы.
- •Как все это работает вместе
Цели проекта Windows nt: надежность, совместимость и производительность.
Третьей целью проекта Windows NT была надежность. Под надежностью подразумеваются два взаимосвязанных момента. Во-первых, ОС должна быть устойчивой, дающей предсказуемый отклик на ошибочные состояния, даже если они вызваны сбоями аппаратуры. Во-вторых, ОС должна активно защищать себя и своих пользователей от вреда со стороны пользовательских программ, случайного или умышленного.
Структурная обработка исключений (structured exception handling) — это метод перехвата ошибочных состояний и унифицированной их обработки. Она является основным способом защиты Windows NT от программных или аппаратных ошибок. Всякий раз, когда возникает ненормальное событие, ОС или процессор возбуждают исключение; код обработки исключений, присутствующий по всей системе, вызывается в таком случае автоматически, гарантируя, что пользовательским программам и самой системе не будет нанесен вред из-за не обнаруженной ошибки.
Повышению устойчивости способствуют и другие свойства ОС:
• Модульная структура, разделяющая исполнительную систему на группы хорошо организованных пакетов. Отдельные компоненты системы взаимодействуют друг с другом через тщательно разработанные программные интерфейсы. Какой-либо компонент, например, диспетчер памяти, можно извлечь и заменить другим диспетчером памяти, реализующим те же самые интерфейсы.
• Для Windows NT разработана новая файловая система, называемая файловой системой NT (NT file system, NTFS). NTFS способна к восстановлению после всех типов дисковых ошибок, включая ошибки в критически важных секторах диска. Для обеспечения восстанавливаемости в ней используется избыточное хранение данных и обработка транзакций.
Перечисленные ниже средства защищают Windows NT от внешнего вторжения:
• Архитектура защиты от несанкционированного доступа, основанная на требованиях правительства США, которая предоставляет разнообразные механизмы защиты: регистрация пользователей в системе, квоты на ресурсы и защита объектов.
Виртуальная память (virtual memory), предоставляющая каждой программе большой объем адресного пространства. При обращении программы по виртуальным адресам диспетчер памяти отображает (транслирует) их в настоящие адреса памяти. Так как ОС управляет расположением в памяти каждой программы, она предотвращает чтение или изменение одним пользователем памяти, занимаемой другим пользователем, если только они явно не объявили ее совместно используемой.
Совместимость
Совместимость программного обеспечения — четвертая цель проекта Windows NT. В основном под совместимостью понимают способность ОС выполнять программы, написанные для другой ОС или для предыдущих версий той же самой системы. В Windows NT совместимость имеет несколько форм.
Существует разница между двоичной совместимостью и совместимостью на уровне исходных текстов приложений. Двоичная совместимость достигается тогда, когда можно взять некоторый исполняемый файл и успешно запустить его в другой ОС. Совместимость на уровне исходных текстов требует предварительной перекомпиляции программы.
Будет ли новая ОС двоично совместима со старой или совместима с ней на уровне исходных текстов, зависит от нескольких факторов. Главный среди них — это архитектура процессора новой системы. Если новый процессор использует тот же набор команд (возможно, с расширениями) и ту же адресацию, что и старый, то может достигаться двоичная совместимость.
Добиться двоичной совместимости между двумя процессорами разных архитектур не столь просто. Каждая процессорная архитектура обычно несет с собой новый машинный язык. Это означает, что двоичная совместимость достигается только при помощи программы-эмулятора, преобразующей один набор машинных команд в другой. При отсутствии эмулятора все приложения, переносимые со старой архитектуры, должны быть заново скомпилированы и скомпонованы (и, вероятно, вновь отлажены).
При помощи защищенных подсистем Windows NT предоставляет среду для выполнения приложений, которые используют API — интерфейс, отличный от ее основного интерфейса программирования Win32. При работе на процессорах Intel защищенные подсистемы Windows NT обеспечивают двоичную совместимость приложениям для существующих ОС Microsoft, включая MS-DOS, 16-разрядную Windows, OS/2 и LAN Manager. На RISC-процессорах MIPS совместимость на двоичном уровне достигается для приложений MS-DOS, 16-разрядной Windows и LAN Manager (используется эмулятор). Кроме того, Windows NT обеспечивает совместимость на уровне исходных текстов для приложений POSIX, которые используют POSIX-интерфейсы ОС, определенные стандартом IEEE 1003.1.
Для обеспечения совместимости 16-разрядных приложений для Windows на компьютерах с RISC-процессорами используется эмуляция работы процессоров Intel. До версии 3.51 включительно эмулировался режим работы 286-го процессора, что не позволяло исполнять многие 16-разрядные приложения (например, Word for Windows 6.0). Начиная с версии 4.0 обеспечивается эмуляция работы 486—го процессора, что достаточно для выполнения большинства 16-разрядных программ для Windows.
В дополнение к совместимости по программным интерфейсам, Windows NT поддерживает ряд существующих файловых систем, включая файловую систему MS-DOS (FAT), высокопроизводительную файловую систему (HPFS) OS/2, файловую систему для компакт-дисков (CDFS), а также новую, восстанавливаемую файловую систему NT (NTFS).
