Тема 10. ОС семейства Windows




10.1. История развития ОС семейства Windows.

История развития версий Windows (по данным Microsoft) изображена на рис.1. Многие из версий ОС Windows имеют несколько реализаций, в частности существует 64-разрядное издание Windows XP, предназначенное для работы на 64-разрядном процессоре Intel. Для этого издания потребовалось полностью переписать HAL, переработать зависимый от ЦП код ядра, и менеджер памяти. Тем не менее была объявлена полная переносимость исходных текстов 32-разрядных приложений.

Кроме того, существует линия встроенных ОС: Windows CE (версии 2, 3, Net, Mobile), Windows XP Embedded, Windows NT Embedded. Windows Microsoft CE –, масштабируемая 32-разрядная платформа Windows для широкого диапазона устройств связи, развлечений и карманных ЭВМ различных производителей. К таким устройствам относятся: промышленные контроллеры, связные концентраторы, кассовые терминалы, бытовая техника типа камер, приборов Internet и интерактивного телевидения. Большое внимание при разработке этой ОС было уделено требованиям РВ (предсказуемость времени обработки системных вызовов и прерываний). Для разработчиков приложений предоставляется подмножество Win32, а также система программирования eMbedded Visual C++, использующая MFC.

В отличие от обычной Windows XP (NT), Windows XP (NT) Embedded имеет модульную структуру (т.е. включает двоичные файлы, ключи регистрации и другие ресурсы) и может компоноваться для формирования средств, необходимых для обеспечения функциональных возможностей конкретного устройства.

10.2. ОС Windows 98/Ме

10.2.1. Обзор реестра

Центральная информационная БД Windows 98 называется registry. Она хранит все данные по настройкам ОС и делает ее более адаптивной. В частности, данные по оборудованию и под­держки компонент Plug and Play.

10.2.2. Менеджер виртуальных машин

Виртуальная чашина (Virtual machine – VM) создается в опера­тивной памяти так, что она выглядит как отдельная ЭВМ со всеми ре­сурсами, имеющимися на реальном РС. Менеджер виртуальных машин (Virtual Machine Manager – VMM) предос­тавляет каждому приложению все необходимые ему систем­ные ресурсы. В Windows 98 есть одна VM (System VM), на кото­рой выполняются системные процессы. Каж­дое 32-разрядное приложение работает на своей VM. Все 16-разрядные приложе­ния разделяет ресурсы одной VM. Каж­дое приложение MS-DOS работает на своей собст­венной VM (рис.2).

Virtual Machine Manager – это 32-разрядная ОС в ядре Windows 95/98. Она отвечает за создание, выполнение, контроль и завершение ВМ. VMM обеспечи­вает управление па­мятью, процессами, пре­рыва­ниями. VMM взаимодействует с виртуальными устройствами (ВУ) – про­грамм­ными модулями, предназначенными для обра­ботки прерываний (когда приложения пы­таются обратиться в внешним устройствам и BIOS).

Сама VMM и ВУ выполняются в едином адресном пространстве с наивысшим уровнем привилегий.

VMM обеспечивает мультипотоковое приоритетное диспетчеризация. Код VMM не реентерабельный, по­этому ВУ должны синхронизовать между собой доступ к службам VMM. Для этого VMM предоставляет объ­екты синхронизации, такие как семафоры и события.

Virtual Machine Manager управляет ресурсами для каждого приложения и системного процесса. Virtual Machine Manager создает и поддерживает операционную среду виртуальных машин, на которых выполня­ются приложения и системные процессы – управляет памятью, задачами, прерываниями и защитой памяти.

Три основные функции Virtual Machine Manager:

-Диспетчеризация процессов

-Свопинг памяти

-Поддержку режима MS-DOS

Поддержка режима MS-DOS.Некоторые приложения MS-DOS требуют исключитель­ного доступа к системным ресурсам. VMM создает для них специальное операционное окружение – режим MS-DOS Mode. Когда приложения MS-DOS работают в таком режиме, они монополизируют эти ресурсы и никакие другие приложения не смогут их использовать

10.2.3. Диспетчеризация и мультизадачность

Планировщик (Process Scheduler) обеспечивает приложения системными ресурсами и диспетчеризацию процессов для обеспечения мультизадачности. Process Scheduler в Windows 98 использует два метода для диспетчеризации конкурирующих процессов – кооперативную мультизадачность и приоритетную мультизадачность.

В Windows 3.1 используется метод кооперативной мультизадачности – когда приложения должны периодически опрашивать очередь сообщений и по результатам опроса – отдавать управление другим вы­полняющимся приложениям. Приложения, которые не проверяют очередь сообщений, могут монополизи­ровать ЦП и не позволить выполняться другим приложениям. В целях совместимости Windows 98 поддер­живает кооперативную мультизадачность для приложений Win16.

Windows 98 использует приоритетную диспетчеризацию для приложений Win32. Приложение Win32 – это процесс, состоящий из одного или нескольких потоков. Поток – часть программного кода, который может получить временной квант ЦП для выполнения, т.е. диспетчеризуются – потоки.

VMM реализует приоритетную диспетчеризацию с квантованием времени для виртуальных машин (ВМ). ВМ с исполнительным приоритетом ниже, чем наивысший, не получает управление. VMM присваивает испол­нительный приоритет ВМ при ее создании. VMM и виртуальные устройства могут затем повышать и понижать ис­полнительные приоритеты.

Windows 3.1 не поддерживает мультипотоковых приложений.

10.2.4. Управление памятью

Windows 98, как и Windows NT, использует постраничную систему виртуальной памяти. Эта система бази­руется на линейном адресном пространстве с 32-разрядными адресами.

Каждому процессу выделяется виртуальное адресное пространство 4 Гб. Верхние 2Гб используются сис­темой, а нижние 2 – приложением. Это виртуальное адресное пространство разделено на равные блоки или стра­ницы.

Запрос страниц – это метод, при котором код и данные перемещаются страницами из физической памяти в об­ласть страничного обмена на диске. По мере необходимости (по запросу) эти страницы возвращаются об­ратно в физическую память

Memory Pager отображает вирт.адреса адресного пространства процесса в физические страницы памяти РС. Адресные пространства процессов защищены друг от друга.

Для поддержки обратной совместимости с 16-раз­рядной средой Windows 3.1 и MS-DOS, Windows 98 поддерживает сегментиро­ванную память (16-разряд­ный адрес сегмента и 16-разрядный адрес внутри сегмента – 64Кб).

Для Win32 Windows 98 ис­пользует 32-разрядную ад­ресацию – 4Гб.

10.2.5. Виртуальные устройства

ВУ (Virtual devices) это 32-разрядный исполнимый код, управляющий внешним устройством или ПО (ROM BIOS), с тем чтобы это устройство могло бы использоваться несколькими приложениями одновременно для поддержки мультизадачности Windows. ВУ вместе с ОС обеспечивают обработку прерываний и выполнение операций в/в в интересах конкретных приложений.

ВУ представляют все периферийное оборудование обычной ЭВМ, включая контроллер прерыва­ний, таймер, диски, последовательные и параллельные порты, клавиатура и дисплей. Если ресурсы реаль­ного устройства могут разделяться несколькими приложениями, то оно должно иметь соответствующее виртуальное устройство.

Реальные устройства вырабатывают прерывание в ходе обмена данными с ЭВМ. ВУ, как правило, перехва­тывают эти прерывания не напрямую, а через виртуальный контроллер прерываний (ВКП). ВУ включает в себя callback procedure, которую вызывает ВКП при наступлении аппаратного прерывания. Сallback procedure обслуживает устройство, вызвавшее прерывание, или переадресует прерывание через ВКП другому обра­ботчику.

Взаимодействие устройств с ЭВМ обычно происходит через регистры ввода/вывода. ВУ монопольно захва­тывают доступ к этим регистрам и эмулируют для приложений в/в данных. Если устройство использует бу­ферную память (например видео память для адаптеров дисплея), то ВУ захватывает эту память, чтобы предотвратить ее использование любым процессом, в т.ч. и системным.

10.2.5. Обработка прерываний

VMM контролирует обработку всех прерываний для ВУ. VMM handler получает управления всякий раз, когда происходит аппаратное или программное прерывание (если приложение пытается обратиться к внешнему устройству) или нарушение защиты памяти. VMM handler вызывает callback procedures, предусмотренные ВУ, для обработки этого прерывания или нарушения защиты следующим образом:

-Приложение в ВМ генерирует программное прерывание или выполняет операцию, приводящую к нарушению защиты.

-ОС вызывает соответствующий VMM handler (как в системной таблице соответствия).

-VMM handler передает данные о прерывании соответствующей callback procedure(s).

-Сallback procedure может либо обработать, либо игнорировать прерывание. Но в любом случае управление возвращается к VMM handler. В большинстве случаев ВУ взводит некое событие и оп­ределяет процедуру его обработки для конкретного прерывания.

-После возврата управления в VMM handler, он проверяет наличие взведенных событий. При их об­наружении VMM вызывает процедуры их обработки.

-Если callback procedure для прерывания не предусмотрено, то VMM handler передает прерывание обратно в ВМ для стандартной системной обработки.

-После завершения обработки прерывания VMM возвращает управление приложению на ВМ.

10.3. ОС Windows NT/2000

Более подробно ОС Windows NT была рассмотрена в курсе «Системы реального времени». В Windows NT существуют два режима работы: пользовательский (user) режим и привилегированный (kernel) режим.

 

10.3.1. Пользовательский и привилегированный режим

В непривилегированном режиме выполняются прикладные процессы (например, программы Win32) и набор защищенных подсистем. Эти подсистемы называются защищенными, потому что каждому из них предоставляется его собственное защищенное виртуальное адресное пространство (рис.4). Наиболее важная подсистема - Win32, реализующая функциональные возможности Win32.

В привилегированном режиме программы имеют прямой доступ ко всей памяти, включая адресные пространства всех процессов непривилегированного режима и к аппаратным средствам. Этот режим называется иногда режим супервизора, защищенный режим или Кольцо 0. В привилегированном режиме работает сама ОС Windows NT и ее ядро. Исполнительная система (executive) реализует такие системные вызовы со стороны защищенных подсистем, как файловые операции, ввод-вывод и механизмы синхронизации. Выделение защищенных подсистем и исполнительной системы упрощает структуру ОС и позволяет расширить возможности защищенных подсистем без модификации ядра. Ядро обеспечивает SMP, диспетчеризацию и межзадачную синхронизацию.

 

10.3.2. Подсистема POSIX

Другая важная подсистема - подсистема POSIX (Portable Operating System Interface). Стандарт POSIX не ограничен средой UNIX и был реализован в ряде не-UNIX операционных систем, включая Windows NT. POSIX подсистема обеспечивает стандартизованные интерфейсы и упрощает переносить приложения в Windows из других ОС, соответствующих этому стандарту.

10.3.3. Отличия Windows NT/2000 и Windows 98

Несмотря на схожесть экранных интерфейсов, ОС Windows NT и Windows 98 имеют серьезные отличия, например:

- Windows NT мобильная ОС, т.е. может работать не только с процессорами Intel, но и MIPS, Alpha, PowwerPC (Windows – Pentium, Itanium64).

- Windows NT – многопроцессорная ОС (Windows 2000 – до 32 процессоров).

- Windows NT, в отличие от Windows 98, имеет реентерабельное ядро.

- Windows NT использует ФС NTFS, Windows 98 - FAT32.

- В Windows NT усовершенствована безопасность по классу защищенности С2 США.

==================================================================================

ВОПРОСЫ:

1.Линии развития и разновидности ОС Windows

2.Функции менеджера ВМ Windows 98

3.Понятие ВМ Windows 98

4.Алгоритмы диспетчеризации Windows 98

5.Назначение и распределение ВМ в Windows 98

6.Управление памятью в Windows 98

7.Виртуальные устройства Windows 98

8.Обработка прерываний в Windows 98

9.Пользовательский и привилегированный режимы Windows NT

10. Защищенные подсистемы Windows NT

11. Отличия Windows NT и Windows 98

 




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-05-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: