- •Общие сведения, ос 90-х годов.
- •Рабочие станции
- •Цели проекта Windows nt: расширяемость и переносимость.
- •Расширяемость
- •Переносимость
- •Цели проекта Windows nt: надежность, совместимость и производительность.
- •Совместимость
- •Производительность
- •Модели Windows nt: клиент-сервер.
- •Объектная модель. Симметричная мультипроцессорная обработка.
- •Защищенные подсистемы. Исполнительная система.
- •Исполнительная система
- •Основные понятия: сессия регистрации, подсистемы среды.
- •Сессия регистрации
- •Подсистемы среды
- •Базовые сервисы: объекты, объекты в памяти.
- •Объекты
- •Объекты размещаются в памяти ос.
- •Ввод-вывод и файловые системы
- •Интернационализация, регионы, Unicode.
- •Интернационализация
- •Регионы
- •Структурная обработка исключений.
- •Удержание объектов
- •Учет использования ресурсов
- •Методы объектов.
- •Защита объектов. Маркеры доступа.
- •Маркеры доступа
- •Списки контроля доступа. Общий принцип работы.
- •Как все это работает вместе
Сетевое Математическое Обеспечение (СМО)
вопросы к экзамену
Общие сведения,
цели и задачи:
Общие сведения, ос 90-х годов.
В начале 1989 года были сформулированы основные требования, предъявляемые рынком к новой ОС:
Переносимость. Новшества в аппаратном обеспечении возникают быстро и часто непредсказуемо. Например, RISC-процессоры существенно отличаются от традиционных CISC. Написание NT на переносимом языке позволило бы быстро переходить от одной архитектуры к другой.
Мультипроцессорная обработка и масштабируемость. Необходимо, чтобы приложения могли использовать преимущества множества разновидностей компьютеров, известных в настоящее время. Например, компьютеры с несколькими процессорами появляются на рынке регулярно, но лишь немногие из существующих ОС могут в полной мере использовать их возможности. Создание NT как масштабируемой многопроцессорной ОС позволило бы запускать одно и то же приложение как на однопроцессорных, так и на многопроцессорных машинах. В предельном случае несколько приложений выполнялось бы одновременно с максимальной скоростью, а приложения, требующие большого объема вычислений, могли бы повысить свою производительность, распределяя работу между несколькими процессорами.
Распределенные вычисления. В связи с тем, что в 80-е годы персональные компьютеры стали более доступными, характер вычислений необратимо изменился. Там, где раньше одна большая ЭВМ обслуживала всю фирму, теперь появились персональные компьютеры для рядовых служащих. Улучшенные возможности работы в сети позволили малым компьютерам связываться друг с другом, зачастую совместно используя аппаратные или вычислительные ресурсы (в форме файл-серверов, серверов печати и серверов вычислений). Учитывая эти изменения, разработчики NT планировали встроить функцию поддержки сети непосредственно в ОС и обеспечить приложениям возможность распределять работу между несколькими вычислительными системами.
Совместимость с POSIX. Во второй половине 80-х годов правительственные учреждения США стали определять POSIX в качестве стандарта программного обеспечения, поставляемого по правительственным контрактам. POSIX — сокращение, которое расшифровывается как "переносимый интерфейс операционных систем, основанный на UNIX" (portable operating system interface based on UNIX) — обозначает набор международных стандартов для интерфейсов ОС UNIX-типа. Стандарт POSIX (стандарт IEEE 1003.1-1988) поощряет фирмы, реализующие UNIX-подобные интерфейсы, делать их совместимыми, чтобы программисты могли легко переносить свои приложения с одной системы на другую. Чтобы удовлетворять требованиям к поставкам по заказам правительства, NT должна была обеспечивать среду исполнения приложений POSIX.
Защита от несанкционированного доступа в соответствии с требованиями правительства США. Кроме совместимости с POSIX, правительство США устанавливает правила защиты для приложений, используемых в гос. учреждениях. Прохождение правительственной сертификации делает ОС конкурентоспособной в данной сфере. Конечно, многие из требуемых правительством средств полезны в любой многопользовательской системе. Правила защиты включают обязательные требования, такие как защита ресурсов пользователя от других пользователей и возможность установления квот на системные ресурсы для предотвращения захвата одним пользователем всех системных ресурсов (например, памяти).
Изначально ставилось целью, чтобы система защиты NT имела так называемый уровень С2, определенный министерством обороны США как обеспечивающий "селективное назначение прав доступа владельцем и, путем включения возможностей аудита, учет субъектов и инициируемых ими действий". Это означает, что владелец системного ресурса может определять, кто имеет доступ к ресурсу, и что ОС в состоянии определить, когда и кем была осуществлена попытка доступа к ресурсу. Правительством США установлены уровни защиты от D (наименее строгий) до А (самый строгий), причем уровни В и С имеют несколько подуровней. Хотя первоначально NT создавалась для поддержки уровня защиты С2, расширения в будущих версиях могут обеспечить выполнение более строгих требований.
Из этих требований рынка и вытекала задача команды разработчиков NT. Первоначально предполагалось, что у NT будет пользовательский интерфейс по типу OS/2, а интерфейс прикладных программ (API) OS/2 станет основным интерфейсом программирования. Однако, когда разработка системы была где-то на половине пути, вышла Microsoft Windows 3.0, имевшая мгновенный успех, — в отличие от OS/2, количество пользователей которой было не слишком велико.
Учитывая требования рынка и сложность расширения и поддержки двух несовместимых ОС, Microsoft решила изменить курс и направить всю энергию на поддержку одной, последовательной стратегии развития ОС. Эта стратегия состоит в выпуске семейства Windows-подобных ОС для всех систем, начиная с малых портативных компьютеров и заканчивая мощными многопроцессорными рабочими станциями. Windows NT, как была названа Windows-система следующего поколения, заняла место во главе семейства Windows. Она имеет Windows-подобный графический интерфейс пользователя и является первой ОС корпорации Microsoft, предоставляющей Win32 API — 32-разрядный интерфейс программирования для разработки новых приложений. Win32 API предоставляет приложениям все возможности ОС высокого уровня при помощи таких средств, как многопоточные процессы, синхронизация, защита от несанкционированного доступа, ввод-вывод и управление объектами.
