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, как и во всех предыдущих версиях Windows, имеет трехуровневую структуру 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, мы видим по большей части знакомые, хотя и серьезно улучшенные методы Windows 3.x.
Как показано на рис. 1.3., 16-разрядные приложения для Windows (“приложения win16”) выполняются в общем пространстве адресов в пределах системной виртуальной машины. Такие варианты, как выполнение каждого приложения win16 в отдельной виртуальной машине (что возможно в ОS/2) или полная эмуляция Windows 3.x в пределах операционной системы (как это делается в Windows NТ).
32-разрядные приложения, созданные с учетом требований Windows 95 (“приложения win32”), выполняются в режиме “подлинной” вытесняющей многозадачности. Кроме того, Windows 95 поддерживает многопоточные приложения, способные запускать параллельно несколько процессов.
Для каждого win32-приложения и для области адресов приложений win1б используются отдельные очереди сообщений. Таким образом, приложения win16 фактически изолированы от остальных процессов. Кроме того, в Windows 95 примененные методы очистки и восстановления системы в случае ошибок. Если ошибка в программе, выполняющейся под Windows 3.x, могла запросто “обрушить всю” систему, то ошибка в одном из приложений под Windows 95 обычно не влияет на выполнение остальных программ. Низкоуровневые компоненты операционной системы изолированы от прикладных программ, поскольку пользуются сервисом другого уровня защиты микропроцессора 80386.
Использование памяти. Для разработчиков программного обеспечения 1ВМ РС долгие годы оставалась камнем преткновения сегментированная модель памяти 1б-разрядных микропроцессоров 8088/86 и 80286.
Сегментом является непрерывная область памяти, адресуемая 16-разрядными числами ( 64 Кбайт ). Для того чтобы использовать более б4 Кбайт памяти, пришлось разработать систему адресации памяти при помощи двух чисел - адреса начала сегмента и 1б-разрядного смещения внутри сегмента. Микропроцессоры 80386, способные оперировать 32-разрядными адресами, могли бы без всяких премудростей ( и отнимающих время вычислений! ) адресовать до 4 Гбайт, оперативной памяти, Но МS-DOS и Windows 3.x вынужденно продолжали использовать устаревшую сегментированную модель памяти.
Для win32-приложений доступна плоская ( несегментированная) модель памяти Windows 95. Система полностью использует адресуемую память 38б-х процессоров, при этом прикладные программы могут работать с объемом памяти до 2 Гбайт, остальные 2 Гбайт Windows 95 использует для собственных нужд. Файл виртуальной памяти Windows 95 имеет динамический размер, ограниченный только объемом жесткого диска и не зависящий от фрагментации.
Использование системных ресурсов. Под системными ресурсами в терминологии Windows понимают области памяти, используемые модулями USER и GDI. В ресурсах GDI располагается информация о графических объектах, используемых системой в данный момент. Ресурсы USER включают информацию об окнах, меню и так далее. Для того чтобы максимально ускорить процедуру обращения к ресурсам USER и GDI, в Windows 3.x их объемы ограничили сегментами по б4 Кбайт. Каждое порожденное системой окно отнимало примерно 2% системных ресурсов, а когда процент свободных системных ресурсов падал до 20%, загрузка новых приложений становилась невозможной.
Большая часть ресурсов Windows 95 хранится в областях памяти с 32-разрядной адресацией, Соответственно объем ресурсов Windows 95 практически неограничен. Те из старых Windows -программ, которые непосредственно обращаются к системным ресурсам, могут использовать их под Windows 95 так же, как и прежде.
Файловая система. Одно из самых назойливых ограничений систем МS-DOS и Windows 3.x - имена файлов, состоящие не более чем из 11 (8+3) символов. Новая файловая система позволяет win32-приложениям пользоваться длинными (до 255 символов) именами файлов и при этом остается полностью совместимой с FAT. Разумеется, пользоваться такими именами файлов гораздо удобнее.
Некоторые компоненты новой файловой системы были использованы еще в Windows 3.11 для рабочих групп - драйвер устанавливаемых файловых систем, 32-разрядный драйвер FАТ, 32-разрядное кэширование жесткого диска. Все эти черты получили дальнейшее развитие в Windows 95. Кроме того, появились 32-разрядный драйвер CD-ROM, более мощная подсистема блокового ввода-вывода и другие черты.
Поддержка драйверов устройств. аиболее громоздкие МS-DOS драйверы, занимавшие больше всего места в базовой памяти или UMB, теперь не нужны при использовании оболочки защищенного режима. Согласно документации Microsoft система Windows 95 обеспечивает:
полную поддержку разделения доступа к файлам, заменяя резидентную программу SНАRЕ.ЕХЕ;
полную поддержку разнообразных звуковых плат, СD-ROM приводов и других мультимедиа-устройств, не требуя при этом установки МS-DOS драйверов;
поддержку файловой системы СD-RОМ дисков, заменяя MSCDЕХ.ЕХЕ;
кэширование дисков, заменяя SMARTDrive;
работу с мышью не только в графической среде, но и с MS-DOS-программами, заменяя драйвер мыши для MS-DOS;
динамическое сжатие данных, заменяя DRVSpace.BIN (DBLSPACE.BIN);
полную поддержку работы станции в локальных сетях MS-NЕТ и Novell Netware, заменяя все резидентные программы, которые приходилось загружать для работы в этих сетях.
Windows 95 поддерживает текущую версию протокола Plug-and-Play. При установке дополнительного устройства, подключаемого на основе Plug-and-Play, система сама заботится о его конфигурировании.
Достаточно удобно использовать Windows 95 и без аппаратной поддержки Plug-and-Play - система чрезвычайно много знает о том, какие существуют внешние устройства и как идентифицировать, включая СD дисководы, звуковые карты модемы, мыши и многое другое.
Графическая оболочка Windows 95. Интерфейс Windows 95 соответствует требованиям самых придирчивых пользователей, дизайнеров и специалистов по эргономике. На мой взгляд, интерфейс Windows 95 великолепен, и перейти на эту систему стоило бы даже в том случае, если бы новым в ней был только интерфейс.
Современный пользовательский интерфейс. Облик оболочки Explorer, основанный на полноценном воплощении метафоры рабочего стола и папок, удобен и нагляден. Панель задач дает полный обзор приложений, выполняемых системой в данный момент. Доступ ко всем объектам, будь то программы, документы, сетевые ресурсы или инструменты настройки системы, унифицирован. Имена любых объектов могут содержать до 255 символов.
Богатый сервис. Оболочка Windows 95 предоставляет пользователю богатый и разнообразный выбор рабочих инструментов. В качестве примера назову возможность создания так называемых ярлыков для быстрого доступа к необходимым приложениям и документам, весьма удачное средство поиска документов и встроенную программу быстрого просмотра документов различных форматов. Выполнение многих действий, включая установку аппаратных компонентов, отправку почтовых и факсимильных сообщений, установление связи между компьютерами, автоматизировано при помощи специальных программ-мастеров .
Широкие возможности настройки. Windows 95 можно настроить сотнями способов, причем доступ к средствам настройки пользование ими весьма просты.
Удобство работы с документами. Windows 95 - это следующий шаг к интеграции различных прикладных программ одну рабочую среду. Можно легко создавать документы средствами оболочки, переносить данные из документа на рабочий стол и в другой документ, выбрасывать в “мусорную корзину” фрагменты текста, документы или целые папки, а при необходимости - возвращать их.
Усовершенствованная справочная система. Справочная система Windows стала удобнее и гибче. Многие разделы справки составлены в виде пошаговых руководств с возможностью выполнения тех или иных рекомендуемых действий непосредственно из системы помощи.
“Эмуляция” MS-DOS.MS-DOS 7.0 + Windows 4.0.Покинуть оболочку Windows 95 для работы с МS-DOS программами в реальном режиме можно, только инициировав перезагрузку или отключение системы или же перейдя в режим эмуляции МS-DОS (МS-DOS mode) с возможностью возврата в графическую оболочку по команде ЕХIТ. Похоже, что нормальным состоянием Windows 95 действительно является графический интерфейс, который всегда находится где-то под рукой, в памяти компьютера. Но это не так.
В действительности “режим эмуляции МS-DOS” представляет собой классическую МS-DOS, работающую в реальном режиме и адресующую 640 Кбайт оперативной памяти. Графическая система Windows 95 со всеми своими преимуществами по-прежнему является оболочкой защищенного режима для MS-DOS. Даже новейшие 32-разрядные графические приложения для Windows 95 продолжают использовать для выполнения отдельных операций функции МS-DOS и базовую область памяти.
Таким образом, определение Microsoft Windows 95 как операционной системы, не требующей отдельной копии МS-DOS, основано на том, что Windows 95 включает в себя все, что ей нужно от МS-DOS. Ничто лучше МS-DOS не поддержит MS-DOS-приложения, именно в МS-DOS лучше всего чувствуют себя те 16-разрядные драйверы устройств, которые все-таки приходится загружать (например, драйверы сканеров).
При этом весь комплекс сделан так, что обычному пользователю вроде бы и незачем что-то знать о МS-DOS, а квалифицированный пользователь, напротив, сможет применять как новые, так и старые, испытанные методы работы с системой.
... самом деле включает в себя только данные и их структуру. Таким же образом как и структура OLE клиента, должна выглядеть структурная схема той части контроллера автоматически связываемых объектов, которая отвечающая за взаимодействие с механизмом связывания и внедрения Windows 95. Поскольку, по сути, контроллер должен являться клиентом практически для всех приложений присутствующих в системе, ...
0 комментариев