Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Microsoft Windows

Автор:   •  Май 16, 2019  •  Контрольная работа  •  4,469 Слов (18 Страниц)  •  335 Просмотры

Страница 1 из 18

Первые версии Microsoft Windows запускали программы вместе в одном адресном пространстве. Каждая программа должна была взаимодействовать, уступив процессор другим программам, чтобы графический пользовательский интерфейс (GUI) мог выполнять многозадачность и максимально реагировать. Все операции на уровне операционной системы были предоставлены базовой операционной системой: MS-DOS. Все услуги более высокого уровня были предоставлены библиотеками Windows «Библиотека динамических ссылок». API-интерфейс рисования, интерфейс графических устройств (GDI), был реализован в DLL под названием GDI.EXE, пользовательский интерфейс в USER.EXE. Эти дополнительные слои поверх DOS должны были быть доступны для всех запущенных программ Windows, а не только для того, чтобы Windows работала на машине с объемом мегабайта ОЗУ, но чтобы программы могли сотрудничать друг с другом. Код в GDI необходим для перевода команд рисования на операции с определенными устройствами. На дисплее ему пришлось манипулировать пикселями в буфере кадров. При рисовании на принтер вызовы API должны были быть преобразованы в запросы на принтер. Хотя возможно было бы обеспечить жесткую кодировку для ограниченного набора устройств (например, дисплея адаптера цветной графики, командного языка принтера HP LaserJet), Microsoft выбрала другой подход. GDI будет работать, загружая различные фрагменты кода, называемые «драйверами устройств», для работы с различными устройствами вывода.

Та же архитектурная концепция, которая позволила GDI загружать разные драйверы устройств, - это то, что позволило оболочке Windows загружать разные программы Windows, а для этих программ вызывать вызовы API из общих библиотек USER и GDI. Эта концепция была «динамической связью».

В обычной не-общей «статической» библиотеке разделы кода просто добавляются в вызывающую программу, когда ее исполняемый файл создается на этапе «связывания»; если две программы вызывают одну и ту же процедуру, подпрограмма включается в обе программы на этапе связывания двух. При динамической компоновке общий код помещается в отдельный отдельный файл. Программы, вызывающие этот файл, подключаются к нему во время выполнения, с операционной системой (или, в случае ранних версий Windows, OS-extension), выполняющей привязку.

Для ранних версий Windows (от 1.0 до 3.11) библиотеки DLL были основой для всего графического интерфейса. Таким образом, драйверы дисплея были просто DLL с расширением .DRV, которое предоставляло пользовательские реализации одного и того же API чертежа через интерфейс интерфейса устройства (DDI), а API-интерфейсы Drawing (GDI) и GUI (USER) - это просто вызовы функций, экспортированные через GDI и USER, системные DLL с расширением .EXE.

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

Другим преимуществом модульности является использование общих интерфейсов для плагинов. Может быть разработан единый интерфейс, который позволяет легко интегрировать старые и новые модули во время выполнения в уже существующие приложения без каких-либо изменений в самом приложении. Эта концепция динамической расширяемости доведена до предела с помощью Component Object Model, основы ActiveX.

В Windows 1.x, 2.x и 3.x все приложения Windows имеют одинаковое адресное пространство, а также одну и ту же память. DLL загружалась только один раз в это адресное пространство; с тех пор все программы, использующие библиотеку, обращались к ней. Данные библиотеки были доступны для всех программ. Это может использоваться как косвенная форма межпроцессного общения или может случайно испортить различные программы. С введением 32-битных библиотек в Windows 95 каждый процесс работает в своем собственном адресном пространстве. Хотя DLL-код может быть общим, данные являются частными, за исключением случаев, когда библиотека данных запрашивает данные об общих данных. Тем не менее, большие фрагменты Windows 95, Windows 98 и Windows Me были построены из 16-битных библиотек, что ограничивало производительность микропроцессора Pentium Pro при запуске и в конечном итоге ограничивало стабильность и масштабируемость версий Windows на основе DOS.

...

Скачать:   txt (59.1 Kb)   pdf (218.7 Kb)   docx (22 Kb)  
Продолжить читать еще 17 страниц(ы) »
Доступно только на Essays.club