Студопедия

Главная страница Случайная страница

Разделы сайта

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






Обзор архитектуры






Обобщенная схема архитектуры ОС Windows представлена на слайде 7.

Замечание: не все компоненты.

Особенность: разделение всех исполняемых процессов на пользовательские и ядра.

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

В ОС Windows можно выделить следующие четыре типа пользовательских процессов:

1) фиксированные процессы поддержки системы (System Support Processes) – процессы, не являющиеся сервисами Windows (не запускаются диспетчером сервисов);

2) процессы сервисов (Service Processes) – выполняют задачи Windows сервисов;

3) пользовательские приложения (User Applications) – на момент написания книги различалось шесть типов:

а) 32-ращзрядный Windows;

б) 64-разрядный Windows;

в) 16-разрядный Windows 3.1;

г) 16-разрядный MSDOS.

д) 32-разрядный POSIX;

е) 32-разрядный OS/2;

4) процессы подсистемы окружения (Environment subsystem processes) – реализованы для поддержки пользователей по обращению к функциям ОС.

Изначально Windows поставлялась с тремя подсистемами окружения: Windows, POSIX, OS/2.

OS/2 была изъята в Windows 2000. В Windows XP поддерживается только подсистемы Windows, а поддержка POSIX реализована в продукте Services for Unix (можно найти на майкрософте).

5) DLL подсистемы. Пользовательские приложения, работающие в ОС Windows не могут вызывать некоторые сервисы ОС напрямую. DLL подсистемы являются посредником для обращения к выполнению функций ОС, т.е. трансляция API во внутренние вызовы системных сервисов ОС Windows.

Компоненты режима ядра:

1) исполнительная система (Executive system) содержит базовые сервисы ОС (управление процессами, потоками, памятью, вводом-выводом и другими ресурсами). Включает ядро (Kernel). Выполняет низкоуровневые функции ОС (планирование потоков, диспетчеризация прерываний исключений, синхронизация и др.). Предоставляет набор процедур и объектов более высокому уровню.

2) Драйверы устройств – драйверы аппаратной части ЭВМ.

3) Уровень абстрагирования от оборудования HAL (Hardware Abstraction Level) – изолирует ядро, драйверы и всю исполнительную систему в целом от специфики аппаратуры. Замечание: особенностью ОС Windows является то, что подсистема поддержки окон и графики выполняется в режиме ядра.

Основные системные файлы Windows изображены на слайде 8. NT SYS Kernel –, расширенная поддержка адресации памяти (до 64 ГБ).

Переносимость. Изначально Windows проектировалась на платформы фирмы Intel и платформы Risk-систем.

Первоначально поддерживались платформы X86 (Intel) и MIPS (Risk). Впоследствии была введена поддержка Alpha Dec.

В Windows NT 3.51 была введена поддержка четвертой платформы, которая называлась PowerPC.

Использование той или иной версии платформы мониторилось в связи с той или иной конъюнктурой рынка. Поэтому MIPS, Aplha и PowerPC были сняты.

В Windows 2000 осталась поддержка только X86 (Intel Architecture 32).

В дальнейшем в Windows XP и Windows 2003 Server была добавлена поддержка 64-разрядных процессоров: IA-64, AMD-64, EM64T (расширенная Intel Architecture).

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

Переносимость Windows обеспечивается следующими способами:

1) ОС имеет многоуровневую архитектуру: низкоуровневые части ОС вынесены в отдельные модули, высокоуровневая часть ОС таким образом не зависит от специфики аппаратной части. Ключевые компоненты, обеспечивающие переносимость – ядро (ntoskrnl.exe) и HAL (hal.dll). Функции, которые отличаются в зависимости от аппаратуры, реализованы в HAL. Функции, не зависящие от аппаратуры (переключение контекста потоков, диспетчеризация) реализованы в ядре.

2) язык ассемблера применяется, как правило, для той части, которая непосредственно связана с оборудованием. Примечание: ассемблерный код также имеется в некоторых других частях ОС.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.