1.1.2. Windows 3.Х


С точки зрения массового пользователя, не избалованного OS/2, Windows 3.0 была действительно передовой средой. Она ис­пользовала весь объем памяти, адресуемой микропроцессорами 80286, 80386 и выше. С 32-разрядными микропроцессорами (80386 и выше) и при наличии не менее 2 Мбайт памяти Windows 3.0 могла использовать виртуальную память, то есть работать с некото­рым пространством на жестком диске как с продолжением опера­тивной памяти компьютера, размещая в нем данные и код про­грамм.

Windows имела многозадачные возможности с кооператив­ным использованием процессорного времени “одновременно” работающими приложениями. Кооперативную

многозадачность можно назвать многозадачностью “второй сту­пени” поскольку она использует более передовые методы, чем .простое переключение задач, реализованное многими извест­ными программами (например, МS-DOS shell из МS-DOS 5.0 при про­стом переключении активная программа получает все процессор­ное время, а фоновые приложения полностью замо­раживаются. При кооперативной многозадачности приложение может захва­тить фактически столько процессорного времени, сколько оно считает нужным. Все приложения делят процес­сорное время, периодически опрашивая друг друга.

С другой стороны, режим кооперативной многозадачности менее совершенен, чем режим разделения времени, называемый также вытесняющей многозадачностью. При вытесняющей много­задачности программы потребляют ровно столько процессорного времени, сколько им положено, а не сколько заблагорассудится. За выделение процессорного времени тому или иному приложе­нию отвечает только операционная система, руководствуясь теку­щими приоритетами. Благодаря этому при вытесняющей многоза­дачности можно в любой момент переключиться на любой процесс, в отличие от кооперативной многозадачности, при которой для пе­реключения между программами может потребоваться существен­ная пауза. При вытесняющей многозадачности кажется, что про­цессы действительно работают одновременно, хотя это на самом деле и не так, - во всяком случае, на компьютере с одним микро­процессором, каким является обычный IВМ РС.

С апреля 1992 года Windows 3.1 официально именуется опе­ра­ционной системой. Интерфейс ее был несколько улучшен, в част­ности были усилены возможности управления экранными объек­тами мышью (Drag - and - drop метод перетаскивания). Windows стала непосредст­венно поддерживать динамический обмен данными между приложе­ниями (DDЕ - Dynamic Data Exchange ). В систему вошли средства мультимедиа, ранее поставлявшиеся отдельно в па­кете Windows Multimedia Extension. Для расширения издательских возможностей в Windows была встроена поддержка системы мас­штабирования шриф­тов TrueType.

Windows 3.11 for Workgroups (“для рабочих групп”) пози­цио­нировалась как самостоятельная сетевая операционная система для одно-ранговой локальной сети, а также как сетевой клиент для сервера Windows NТ. В остальном Windows 3.11 для рабочих групп являлась слегка улучшенной модификацией Windows 3.1, работаю­щей только в 386-м Расширенном режиме на 32-разрядных микропроцессорах.

А теперь мы постараемся разобраться в том, как устроена Win­dows.

Режимы работы Windows 3.X Чтобы запустить мотор Windows на полную мощность, ко­нечно, нужны прежде всего мегабайты и мегабайты оперативной памяти. Но их невозможно использовать на микропроцессорах 8088/86. Не слиш­ком удачным решением был и защищенный режим 80286: для того чтобы использовать на компьютере приложения для новой операци­онной среды вместе с МS-DOS приложениями, при­ходилось переклю­чать микропроцессор из защищенного режима в реальный и обратно.

Здесь уместно вспомнить о том, что фирма Microsoft весьма тесно сотрудничала с Intel во время разработки микропроцессора i80386. Microsoft фактически навязала инженерам Intel собственную концепцию режима виртуального микропроцессора 8086-V86, наи­бо­лее удобную для разработки операционной системы, использую­щей МS-DOS приложения вместе с программами защищенного ре­жима. Поскольку в 1990 году рынок еще не был готов к полному переходу на операционную систему для микропроцессора 80386, Windows 3.О могла функционировать в трех режимах, в каждом из которых микро­процессор и память использовались по-разному.

В реальном режиме работы Windows система функциониро­вать даже на компьютере с микропроцессором 8088 или 8086, обо­рудо­ванном только обычной памятью для работы приложений в ре­альном режиме Windows 3.0 использовалась только обычная па­мять МS-DOS и отображаемая память.

Стандартный режим Windows 3.0 требовал для работы микро­процессор 80286 и всего 1 Мбайт памяти - 640 Кбайт стандартной и 384 Кбайт дополнительной (настоящая работа начиналась при объ­еме памяти 4 Мбайт). Для приложений Windows использовалась расши­ренная память (ХМS). Для программ МS-DOS, загружаемых из-под Windows, применялась обычная память и переключение микропроцес­сора из защищенного режима в реальный.

Более полно использовал аппаратные ресурсы 386-й Расши­рен­ный режим Windows . В этом режиме версии Windows 3.0 и 3.1 рабо­тали с виртуальной памятью, имевший примерно втрое боль­ший объем, чем физическая оперативная память. Приложениям МS DOS в 386-м Расширенном режиме отводилась произвольная об­ласть памяти, которая в виртуальном режиме 8086 размечалась как обычная память MS DOS . По умолчанию МS-DOS программы за­гружались занимая, как обычно, весь экран, но могли быть переве­дены в графическое окно - стандартное окно Windows. Приложения МS-DOS, запущенное из-под Windows в 386-м Расширенном ре­жиме, работало в виртуаль­ной машине, иными словами, считало себя загруженным на своем соб­ственном компьютере и знать не знало о существовании Windows.

Разумеется, для работы в 386-м Расширенном режиме требо­вался компьютер с микропроцессором не ниже 80386. Объявленные требования к объему памяти (2 Мбайт) опять-таки не стоило при­ни­мать всерьез. Минимумом являлись 4 Мбайт памяти, а для бо­лее или менее серьезной работы требовались 8 Mбайт или больше.

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

Ядро Windows состоит из трех компонентов Kernel ,User и GDI. При помощи дополнительных DLL-файлов (динамически за­гру­жаемых библиотек) поддерживаются отображением стандарт­ных диалоговых окон, протоколы DDЕ (динамического связывания дан­ных) и ОLЕ (связывания и встраивания объектов), взаимодейст­вие с драйверами устройств ввода-вывода и другие черты Windows. Win­dows -драйверы устройств бывают, кстати, двух видов - “обычные” DLL-драйверы и 386драйверы, последние предназна­чены опять-таки для работы только в 386-м Расширенном режиме Windows.

Наиболее низкоуровневой частью ядра Windows является мо­дуль Kernel, управляющий распределением памяти, процессами, фай­ловым вводом-выводом и так далее. В разных режимах работы Win­dows 3.О функции Kernel выполняли различные файлы: ker­nel.ЕХЕ для Реального режима krnl286.Еxe для Стандартного ре­жима, КrnlЗ86.ЕХЕ для 38б-го Расширенного режима.

Так что Windows 3.0 была разработана как операционная система, имеющая три разных ядра. Когда был упразднен Реальный режим работы, из комплекта поставки Windows 3.1 и исчез файл Kernel.dll. Следующий шаг был сделан, Windows 3.11 для рабочих групп - эта система работала только в 386-м Расширенном режиме. Модуль User (user.ЕХЕ) служит для работы с клавиатурой, мышью, таймером и портами, а также выполняет функции отображения эле­ментов графического интерфейса (окон, меню). Он управляет та­кими драйверами, как, например, различные драйверы клавиатуры и мыши.

Наконец, модуль GDI (интерфейс графических устройств, файл GDI.ЕХЕ) поддерживает графические процедуры - прорисовку линий, закрашивание, отображение шрифтов (начиная с Windows 3.1 - все операции со шрифтами TrueType) и взаимодействует с драйве­рами графических устройств - дисплея и принтера. С Windows 3.1 поставля­лось более десятка драйверов видеоадаптеров. Для под­держки прин­теров в Windows 3.1 впервые была применена архитек­тура мини-драй­веров. Универсальный драйвер принтера NIDRV.DLL выполнял ап­паратно-независимые функции печати -несколько десятков мини-драйверов, поставляемых производите­лями, дополняли универсаль­ный драйвер функциями обходи­мыми специально для поддержки конкретных устройств и не по­вторяли уже написанный общий код.



Информация о работе «Разработка программы контроллера автоматически связываемых объектов для управления конструкторской документацией в среде Windows 95/NT (дипломная работа)»
Раздел: Информатика, программирование
Количество знаков с пробелами: 135709
Количество таблиц: 1
Количество изображений: 0

Похожие работы

Скачать
112819
1
11

... самом деле включает в себя только данные и их структуру. Таким же образом как и структура OLE клиента, должна выглядеть структурная схема той части контроллера автоматически связываемых объектов, которая отвечающая за взаимодействие с механизмом связывания и внедрения Windows 95. Поскольку, по сути, контроллер должен являться клиентом практически для всех приложений присутствующих в системе, ...

0 комментариев


Наверх