Лекция № Архитектура Windows 95 Об архитектуре Windows 95



Скачать 78.79 Kb.
Дата29.12.2012
Размер78.79 Kb.
ТипЛекция

Лекция № ____ Архитектура Windows 95


Об архитектуре Windows 95

В этой статье Вы познакомитесь с типами программных компонентов, которые можно создавать для Microsoft® Windows 95, и узнаете, какие средства этой операционной системы они могут использовать.

Программные компоненты


Операционная среда Windows 95 состоит из аппаратных устройств компьютера и следующих программных компонентов:

• диспетчера виртуальных машин (Virtual Machine Manager, VММ);

• виртуальных устройств (Virtual Devices, VxDs);

• ПЗУ (ROM) базовой системы ввода/вывода (Basic Input and Output System, BIOS);

• устанавливаемых драйверов устройств (installable device drivers) и рези- дентных программ (Terminate and Stay Resident, TSRs);

• 16- и 32-разрядных динамически подключаемых библиотек (Dynamic-Link Libraries, DLLs) операционной системы Windows 95;

• программ Microsoft® MS-DOS;

• 16- и 32-разрядных Windows-приложений.

Диспетчер виртуальных машин


Диспетчер виртуальных машин (далее VMM) — 32-битная операционная система защищенного режима, действующая на уровне ядра Windows 95 и отвечающая главным образом за создание, запуск, отслеживание и завершение виртуальных машин. VММ предоставляет различные виды сервисов, управляющих памятью, процессами, прерываниями и исключениями (например, нарушениями общей защиты). Работая совместно с виртуальными устройствами — 32-разрядными модулями защищенного режима, он позволяет им генерировать прерывания и нарушения, что обеспечивает контроль за доступом приложений к аппаратным устройствам и программным компонентам, установленным на компьютере.

Как VMM, так и виртуальные устройства исполняются в едином 32-разрядном линейном адресном пространстве с нулевым уровнем привилегий (также называемым кольцом 0). Система создает два селектора глобальной таблицы дескрипторов (Global Descriptor Table, GDT) — один для кода, другой для данных — и использует их в сегментных регистрах CS, DS, SS и ES. Базовый адрес обоих селекторов равен нулю, а предельное значение ограничено 4 гигабайтами (Гб), поэтому все сегментные регистры указывают на один и тот же диапазон адресов. VMM и виртуальные устройства никогда не изменяют содержимое этих регистров.

VMM обеспечивает вытесняющую многозадачность (preemptive multitasking) с многопоточностью (multithreading). Он способен исполнять несколько приложений одновременно, распределяя процессорное время между виртуальными машинами, в которых собственно и исполняются эти приложения. Кроме того, следует отметить, что VMM нереентерабелен, т.е. виртуальным устройствам приходится синхронизировать свой доступ к сервисам VMM. А для этого в нем предусмотрены такие сервисы, как семафоры (semaphores) и события (events).

Подробнее о VMM (и описание сервисов, предназначенных для виртуальных устройств) см.
в документации из Microsoft Windows 95 DDK (Device Driver Kit).

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

Виртуальные устройства (VxDs) — это 32-разрядные программы, которые обеспечивают аппаратную независимость VMM, принимая на себя управление аппаратными устройствами и программными средствами компьютера. VxD поддерживают все аппаратные устройства обычного компьютера, включая программируемый контроллер прерываний (Programmable Interrupt Controller, PIC), таймер, устройство прямого доступа к памяти (Direct Memory Access, DMA), дисковый контроллер, параллельный и последовательные порты, клавиатуру и видеоадаптер. VxD необходим любому аппаратному устройству, способному работать в нескольких режимах или запоминающему данные на какой-то промежуток времени. Иными словами, если состояние аппаратного устройства может быть нарушено из-за переключения между несколькими виртуальными машинами или приложениями, значит, данному устройству необходимо соответствующее VxD.

Некоторые VxD поддерживают программные, а не аппаратные устройства. В целом, VxD могут предоставлять VММ и другим виртуальным устройствам любой сервис. Windows 95 позволяет устанавливать новые драйверы виртуальных устройств для поддержки дополнительных аппаратных устройств или какого-нибудь общесистемного программного сервиса.

Кроме того, в VxD может быть предусмотрен набор API-функций для приложений, исполняемых в виртуальном 8086-м или защищенном режиме. Такие функции обеспечивают приложениям прямой доступ к функциональным возможностям VxD.

В Windows 95 включен IOCTL-интерфейс устройств (Input and Output Control Interface — интерфейс управления вводом/выводом), позволяющий приложе- ниям на базе Microsoft® Win32® напрямую обращаться к VxD. Через этот интерфейс обычно вызывают отдельные системные функции MS-DOS, получают информацию о каком-то устройстве или выполняют операции ввода/вывода, недоступные через стандартные Win32-функции.
Драйверы устройств

Драйвер устройства в Windows — это DLL, используемая операционной системой для взаимодействия с аппаратным устройством (например, видеоадаптером или клавиатурой). Избегая прямого доступа к аппаратным средствам, Windows загружает драйверы устройств и, чтобы заставить эти устройства выполнить те или иные действия, вызывает функции их драйверов. Каждый драйвер устройства экспортирует свой набор функций, благодаря которым Windows и вычерчивает окружности или преобразует скэн-коды. клавиатуры. Естественно, в функциях драйверов присутствует аппаратно-зависимый код, необходимый для управления конкретным устройством на самом низком уровне.

Windows требует драйверов устройств для видеоадаптера, клавиатуры и коммуникационных портов. Если в системе есть дополнительные устройства, для них тоже нужны свои драйверы.

Ресурсы, нужные независимым поставщикам аппаратных (Independent Hardware Vendors, IHVs) и программных средств (Independent Software Vendors, ISVs) для создания драйверов устройств и VxD, совместимых с операционной системой Windows 95, предоставляет Windows 95 DDK. К ним относятся конфигурируемая среда разработки, документация, инструментальные средства, а также заголовочные файлы и библиотеки для нескольких типов устройств. Windows 95 DDK содержит следующие компоненты:

• заголовочные файлы и библиотеки для разработки драйверов устройств и VxD;

• примеры исходного кода драйверов устройств и VxD;

• 16- и 32-разрядные версии инструментальных средств, предназначенных для разработки драйверов.
Динамически подключаемые библиотеки
Механизм динамического связывания позволяет подключать приложения к библиотекам функций в период выполнения (runtime). Библиотеки содержатся в собственных исполняемых файлах и не копируются в исполняемые файлы программ — как при статическом связывании. Они потому и "связываются динамически", что подключаются к программе не на стадии ее сборки, а при ее загрузке и исполнении. Когда приложение обращается к какой-нибудь DLL, операционная система загружает ее в память, преобразует ссылки на ее функции в соответствующие адреса (чтобы приложение могло вызывать эти функции) и выгружает DLL из памяти, как только необходимость в ней отпадает. Динамическое связывание может осуществляться явно (приложением) или неявно (операционной системой).

DLL-модули разрабатываются как источники ресурсов для приложений. Код в DLL могут использовать сразу несколько программ, а значит, в системе присутствует только один экземпляр этого кода. Кроме того, DLL можно обновлять, не меняя код приложений, использующих этот модуль, — если, конечно, не меняется интерфейс вызова его функций.

Разработчики программного обеспечения могут расширять Windows-среду, создавая DLL -модули с процедурами, позволяющими выполнять какие-либо операции и доступными Windows-приложениям (в дополнение к внутренним процедурам Windows). DLL-модули обычно хранятся как файлы с расширением DLL, но могут храниться и в файлах с другим расширением (ЕХЕ и др.).

Windows 95 поддерживает как 32-разрядные DLL, так и 16-разрядные (написанные для Windows версий З.x). 0 совместном использовании 16- и 32-разрядных компонентов в среде Windows 95 см. статью 32 "Компилятор шлюзов".
Программы МS-DOS
Windows 95 поддерживает и программы, написанные для MS-DOS. Любую из них можно запускать как в полноэкранном режиме, так и в окне (на рабочем столе Windows 95).

Операционная система способна выполнять сразу несколько программ MS- DOS. В этом случае для каждой программы она создает отдельную виртуальную машину (VM) и распределяет процессорное время между ними и системной VM (в которой исполняются все Windows-приложения). VM может исполнять программу MS-DOS либо в виртуальном 8086-м, либо в защищенном режиме.

Несмотря на то, что большинство программ MS-DOS прекрасно работают и в окне, и в полноэкранном режиме, с отдельными программами MS-DOS дело обстоит все же не так гладко. Поэтому, чтобы добиться абсолютной "преемственной" совместимости для всех программ MS-DOS, в Windows 95 предусмотрен особый режим их исполнения — MS-DOS mode (Режим MS-DOS). В этом режиме Windows 95 единовременно исполняет только одну программу MS-DOS, которой отдаются все ресурсы компьютера (такой режим иногда называют монопольным). Но ни одно Windows-приложение в монопольном режиме не работает; более того, в этом случае операционная система даже не загружает компоненты графического пользовательского интерфейса (Graphical User Interface, GUI).

Windows 95 поддерживает все системные функции и прерывания MS-DOS и предоставляет расширения, позволяющие программам MS-DOS использовать длинные имена файлов и такие функциональные возможности Windows 95, как монопольная блокировка дисковых томов, сервисы виртуальных машин и поддержка информационных файлов программ (PIF-файлов).

Дисковые утилиты и прочие программы, напрямую модифицирующие структуры файловой системы (скажем, элементы каталогов), прежде чем вносить в них какие-то изменения, должны требовать монопольного использования тома. А для этого в Windows 95 предусмотрен набор IOCTL-функций. Монопольное использование тома позволяет избежать случайного изменения состояния файловой системы каким-нибудь приложением в тот момент, когда его модифицирует дисковая утилита.

Сервисы виртуальных машин позволяют программам MS-DOS задействовать преимущества Windows 95 при выполнении в окне. Эти программы могут считывать и устанавливать заголовок своего окна. Кроме того, сервисы виртуальных машин дают возможность программам MS-DOS периодически проверять состояние внутреннего флага — признака закрытия и завершать свою работу, если этот флаг установлен. Windows 95 устанавливает этот флаг, когда пользователь выбирает команду Close (Закрыть) из системного меню окна, в котором выполняется программа MS-DOS. В этом случае пользователь получает альтернативный способ выхода из программы и закрытия ее окна.
Приложения могут создавать, просматривать и модифицировать PIF-файлы. Эти файлы содержат подробную информацию, необходимую операционной системе для подготовки виртуальных машин, исполняющих программы MS- DOS. Программы установки и прочие приложения могут открывать PIF-файлы и разрешать пользователю редактировать их содержимое.
Windows-приложения
Windows 95 поддерживает как 16-разрядные программы, написанные для Windows версий З.х, так и 32-разрядные приложения, использующие API-интерфейсы Win32 или Microsoft® Win32s®. Для 16-разрядных приложений Windows 95 реализует ту же модель кооперативной многозадачности (cooperative multitasking), что и в Windows З.х, т.е. все такие программы совместно используют одно виртуальное адресное пространство, одну очередь сообщений (message queue) и один поток исполнения. В то же время у каждого 32- разрядного Windows-приложения свое адресное пространство, своя очередь сообщений и свои один или несколько потоков исполнения. Кроме того, каждый 32-битный поток работает в условиях вытесняющей многозадачности.

Любые новые приложения должны быть 32-разрядными и использовать Win32 API.




Похожие:

Лекция № Архитектура Windows 95 Об архитектуре Windows 95 iconMicrosoft уже разрабатывает Windows 8 и Windows 9
Проекты отдела Research & Development включают в себя 128-битную архитектурную совместимость с ядром Windows 8 и планом проекта Windows...
Лекция № Архитектура Windows 95 Об архитектуре Windows 95 iconРуководство по установке и настройке клиентских модулей у пользователя
Особенности установки на ос windows Vista, Windows 7, Windows 2008 Server,Windows 2008 R2 5
Лекция № Архитектура Windows 95 Об архитектуре Windows 95 icon«Создание загрузочной дискеты для Windows nt и сравнение ос windows 98 и Windows xp»
При установке Windows nt создаются 3 аварийные дискеты. Эти дискеты помогают загрузить компьютер в следующих случаях
Лекция № Архитектура Windows 95 Об архитектуре Windows 95 iconЛабораторная работа № Общая структура Windows xp и методы атак
Архитектура функционирования ос windows xp состоит из двух частей: привилегированного режима ядра и пользовательского непривилегированного...
Лекция № Архитектура Windows 95 Об архитектуре Windows 95 iconРуководство программиста москва 2005
Подразумевается, что читатель имеет навыки программирования на одном, или нескольких языках для операционных систем Windows nt /...
Лекция № Архитектура Windows 95 Об архитектуре Windows 95 iconРуководство Oracle Июль 2007 г. Архитектура Oracle Database 11 g для Windows
В 1993 г компания Oracle первой выпустила реляционную базу данных для Windows nt. Компания Oracle внесла специальные изменения в...
Лекция № Архитектура Windows 95 Об архитектуре Windows 95 iconЗагрузчик ос windows Vista/7
Одно из них — способ управления загрузчиком Windows, программой, которая обеспечивает хранение более одной операционной системы на...
Лекция № Архитектура Windows 95 Об архитектуре Windows 95 iconОперационная система Windows. (Ос windows) Теоретический материал
Ос windows является графической ос. Это значит, что все объекты операционной системы представлены на экране в виде графических объектов:...
Лекция № Архитектура Windows 95 Об архитектуре Windows 95 iconИнструкция по смене пароля пользователя в домене для Windows xp и Windows Vista, Windows 7
Сменить пароль доменного пользователя можно только на компьютере, входящем в домен
Лекция № Архитектура Windows 95 Об архитектуре Windows 95 iconБезопасность Windows в Интернет
В настоящее время стало очень модно полагать, что опеpационные системы Windows nt и Windows 95 имеют кучу ошибок в защите пpи pаботе...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org