- •Общие сведения, ос 90-х годов.
- •Рабочие станции
- •Цели проекта Windows nt: расширяемость и переносимость.
- •Расширяемость
- •Переносимость
- •Цели проекта Windows nt: надежность, совместимость и производительность.
- •Совместимость
- •Производительность
- •Модели Windows nt: клиент-сервер.
- •Объектная модель. Симметричная мультипроцессорная обработка.
- •Защищенные подсистемы. Исполнительная система.
- •Исполнительная система
- •Основные понятия: сессия регистрации, подсистемы среды.
- •Сессия регистрации
- •Подсистемы среды
- •Базовые сервисы: объекты, объекты в памяти.
- •Объекты
- •Объекты размещаются в памяти ос.
- •Ввод-вывод и файловые системы
- •Интернационализация, регионы, Unicode.
- •Интернационализация
- •Регионы
- •Структурная обработка исключений.
- •Удержание объектов
- •Учет использования ресурсов
- •Методы объектов.
- •Защита объектов. Маркеры доступа.
- •Маркеры доступа
- •Списки контроля доступа. Общий принцип работы.
- •Как все это работает вместе
Основные понятия: сессия регистрации, подсистемы среды.
Сессия регистрации
Windows NT — это защищенная ОС, требующая, чтобы у каждого пользователя была учетная запись и чтобы пользователь регистрировался в системе, прежде чем получить доступ к ней. Учетная запись каждого пользователя связана с профилем защиты, который представляет собой набор информации, относящейся к контролю доступа и хранящейся в системной базе данных. Подсистема защиты, используя эту информацию, проверяет, действительно ли пользователи являются теми, за кого они себя выдают. Компоненты системы, участвующие в регистрации пользователя, показаны на рис. 2-8.
Процесс системы защиты, называемый процессом регистрации в системе (logon process), ожидает ввода от пользователя. Могут быть активны одновременно несколько таких процессов, каждый из которых работает со своим классом устройств регистрации —
Рис. 2-8. Регистрация в системе.
например, возможна комбинация мышь/клавиатура или сетевое соединение. Поток этого процесса обнаруживает попытку пользователя войти в систему и предлагает ему ввести идентификатор (имя учетной записи) и пароль.
Затем процесс регистрации посылает эту информацию подсистеме защиты, которая сличает ее с информацией в базе данных защиты. Если аутентификация прошла успешно, то подсистема создает объект, который уникальным образом определяет данного пользователя при всех его последующих действиях. Объект, называемый маркером доступа (access token), играет ключевую роль в системе защиты Windows NT: он определяет, к каким системным ресурсам имеют доступ потоки управления, созданные пользователем.
После того, как пользователь идентифицирован, подсистема защиты создает процесс, присоединяет к нему пользовательский маркер доступа и затем передает процесс подсистеме Win32, которая запускает в его адресном пространстве Диспетчер программ (Program Manager) Win32. Тем самым пользователь устанавливает сессию регистрации. Windows NT поддерживает как локальную, так и удаленную регистрацию, и у сетевого сервера, на котором установлена Windows NT, обычно активны много сессий одновременно.
После того, как интерактивный пользователь успешно зарегистрировался в системе, управление экраном дисплея получает подсистема Win32. В своей первой версии Windows NT похожа на Windows 3.1 и совместима с ней, как это изображено на рис. 2—9. В системе Windows NT пользователи могут запускать одновременно и одним способом программы Win32 и 16-разрядной Windows, а также программы MS-DOS, OS/2 и POSIX.
Рис. 2-9. Пользовательский интерфейс Windows NT.
Начиная с версии 4.0 система Windows NT внешне похожа на Windows 95.
Подсистемы среды
Подсистема среды Win32 реализует пользовательский интерфейс Windows NT. Она управляет не только дисплеем, но и клавиатурой, мышью и другими устройствами ввода, подключенными к машине. Кроме того, это сервер для приложений Win32, реализующий API Win32.
Но не все приложения являются приложениями Win32, и подсистема Win32 не управляет выполнением других приложений, отличных от Win32. Когда пользователь запускает подобное приложение, подсистема определяет его тип и вызывает для его исполнения другую подсистему либо код для инициализации среды MS-DOS, в которой оно будет выполняться (рис. 2-10).
Каждая из подсистем среды предоставляет API для своих клиентских приложений. Например, подсистема Win32 реализует функции API 32-разрядной Windows, а подсистема OS/2 - функции API OS/2. Приложения не могут одновременно использовать функции API разных подсистем, так как каждая подсистема среды работает по-своему. Описатель файла, созданный подсистемой Win32, не может быть преобразован, например, для подсистемы POSIX. Более того, подобные гибридные приложения не будут работать и в ОС MS-DOS/Windows, POSIX или OS/2.
Эмуляция MS-DOS и 16-разрядной Windows обеспечивается подсистемой среды, называемой виртуальной DOS-машиной (virtual DOS-machine, VDM), которая реализует среду машины MS-DOS. Приложения MS-DOS и 16-разрядной Windows работают в контексте процессов VDM, в отличие от других подсистем среды, в которых могут одновременно выполняться несколько процессов VDM .
Рис. 2-10. Подсистемы среды и приложения-клиенты.
Поскольку подсистема Win32 обрабатывает весь вывод на дисплей, то другие подсистемы должны перенаправлять видеовывод своих приложений системе Win32 для отображения. VDM, исполняющая приложения 16-разрядной Windows, транслирует вызовы видеовывода своих приложений в вызовы Win32 и посылает их в виде сообщения системе Win32. Подсистемы OS/2 и POSIX, равно как и VDM, в которых исполняются приложения MS-DOS, перенаправляют системе Win32 символьный вывод своих приложений, который последняя отображает в окнах символьного режима, называемых консолями (consoles).
Подсистема среды может поддерживать много клиентских приложений. Каждая подсистема отслеживает своих клиентов и поддерживает глобальную информацию, которую они используют совместно. Хотя одновременно могут выполняться несколько подсистем и VDM, Win32 является единственной подсистемой среды, видимой пользователю. С его точки зрения, все приложения выполняются системой Windows.
