Дипломная работа: Разработка программы контроллера автоматически связываемых объектов для управления конструкторской документацией в среде Windows 95/NT (дипломная работа)

С системой поставлялось большое количество драйверов для самых разных моделей устройств ввода-вывода, таких как видео­адап­теры и принтеры. Широчайшая аппаратная совместимость была од­ним из факторов успеха Windows. Комплект Windows 3.0 со­дер­жал несколько вариантов драйверов для разных моделей кла­виатур, мышей и видеоадаптеров и большое количество драйверов принте­ров. В Multimedia для Windows 3.0, а затем в Windows 3.1 появились драйверы звуковых карт, МIDI устройств и синтезато­ров. Количе­ство наименований поддерживаемых устройств быстро росло...


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 выполнял ап­паратно-независимые функции печати -несколько десятков мини-драйверов, поставляемых производите­лями, дополняли универсаль­ный драйвер функциями обходи­мыми специально для поддержки конкретных устройств и не по­вторяли уже написанный общий код.


1.1.3. Windows 95


В 1996 году фирмой Microsoft , была выпушена следующая версия операционной системы Windows. Которая была названа фирмой 32 разрядной многозадачной графической системой. / 1 /

Архитектура Windows 95.Что должна была сделать Microsoft, чтобы прийти к 32-раз­ряд­ной операционной системе с обеспечением вытесняющей мно­гоза­дачности, которая бы при этом оставалась полностью совмес­тима с прикладными программами для Windows 3.x и MS-DOS, не требо­вала бы для работы самой МS DOS и “умещалась” в четырех мега­байтах оперативной памяти ?

Фирмой Microsoft уже выпущены системы, удовлетворяю­щие самым серьезным требованиям к управлению памятью и про­цес­сами, - Windows NТ SERVER и Windows NТ workstation (выпущены версии 3.51 и готовятся к выпуску 3.52), Однако эти системы сами предъявляют серьезнейшие требования к аппаратуре, а заодно и к пользователю. Windows NТ SERVER предназначается не для десят­ков миллионов потребителей Windows, а для сетевого администри­рования. Windows NТ workstation нужна тем пользова­телям, которые используют приложения с высокой интенсивно­стью вычислитель­ной обработки, тем, кто нуждается в высокой степени безопасности данных, и тем, кто больше беспокоится о надежности системы, чем о совместимости с приложениями для MS DOS и Windows 3.x.

Всех остальных пользователей на порядок больше, и им нуж­нее “легкая” система.

Ядро Windows 95. Ядро Windows 95, как и во всех предыдущих версиях Win­dows, имеет трехуровневую структуру Kernel -User- GDI. Все эти модули должны бы быть 32-разрядными, но в действительности полностью 32-разрядной сделана только самая низкоуровневая часть ядра Windows 95 - Кегне1. Вполне понятно, что, объявляя о 32-разрядной сис­теме, Microsoft обязана была выполнить в 32-раз­рядном коде хотя бы такие базовые вещи, как функции ввода- вы­вода, управления памятью и процессами, поддержку сетевой и фай­ловой систем.

Что касается двух других модулей ядра, то расчеты показали, что полностью 32-разрядные USER и GDI вместе потребуют для ра­боты более 1 Мбайт памяти, Windows 95 использует 1б-разрядный код, когда он необходим для обеспечения совместимости или если 32-разрядное кодирование нецелесообразно, то есть увеличило бы расход памяти без заметного увеличения производительности.

Поэтому модуль User, остался в Windows 95 преимущест­венно 1б-разрядным, а его 32-разрядная часть используется для пе­реадреса­ции вызовов 32-разрядных приложений 16-разрядному блоку. Боль­шая часть функций ОВ1, включая подсистему буфериза­ции входных и выходных потоков, подсистему печати, растеризатор шрифтов True­Туре и основные операции рисования, перенесена в 32-разрядный мо­дуль, оставшийся 16-разрядный код описывает управление окнами. 16-разрядные функции ядра Windows 95 напи­саны преимущественно на ассемблере .Что же касается Kernel, то его 16-разрядная часть задей­ствуется только при загрузке Windows 95 и используется только для инициализации 32-разрядной части Kernel. Сам Kernel32 никогда не обращается к Kernel16. На рис.1.2. показано, для каких функций ис­пользуется 32-разрядный код, а для каких 16-разрядный код модулей ядра Windows 95.

Многозадачность. Анализируя выполнение под Windows 95 16-разрядных приложений для Windows 3.x и МS-DOS, мы видим по большей части знакомые, хотя и серьезно улучшенные методы Win­dows 3.x.

К-во Просмотров: 167
Бесплатно скачать Дипломная работа: Разработка программы контроллера автоматически связываемых объектов для управления конструкторской документацией в среде Windows 95/NT (дипломная работа)