Помощь в написании студенческих работ
Антистрессовый сервис

Модульная структура операционной системы Windows 95

РефератПомощь в написанииУзнать стоимостьмоей работы

Plug and Play — так называется спецификация, созданная совместно фирмами Microsoft, Intel, Phoenix Technologies (разработчик BIOS), Compaq и некоторыми другими. Цель ее создания состояла в сведении к минимуму проблем, связанных с настройкой и конфигурированием аппаратных средств. Теперь пользователю совершенно необязательно знать, например, что такое IRQ (уровень запроса прерывания) или адрес… Читать ещё >

Модульная структура операционной системы Windows 95 (реферат, курсовая, диплом, контрольная)

Операционной системой (ОС) называют совокупность программных и аппаратных средств, осуществляющих управление ресурсами ЭВМ, запуск прикладных программ и их взаимодействие с внешними устройствами и другими программами, а также обеспечивающих диалог пользователя с ЭВМ.

Основным принципом построения ОС является модульность. Модуль ОС — это функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами.

Под архитектурой ОС понимают ее структурную организацию на основе различных программных модулей. Обычно в состав ОС входят:

  • — исполняемые и объектные модули форматов
  • — библиотеки разных типов;
  • — модули иcходного текста;
  • — программные модули специального формата (например, загрузчик ОС, драйверы ввода-вывода);
  • — конфигурационные файлы;
  • — файлы документации;
  • — модули справочной системы и т. д.

При простейшей структуризации все модули ОС разделяют на две группы:

Ядро, т. е. модули, выполняющие основные функции ОС.

· Модули, выполняющие вспомогательные функции ОС.

Модули ядра выполняют:

  • 1) базовые функции, такие как:
    • — управление процессами
    • — управление памятью
    • — управление устройствами ввода-вывода и т. д.
  • 2) внутрисистемные функции организации вычислительного процесса, такие как:
    • — загрузка/выгрузка страниц памяти;
    • — обработка прерываний.

Эти функции недоступны для приложений.

3) функции поддержки приложений, создающие прикладную программную среду. Приложения могут обращаться к ядру с запросами (системными вызовами) для выполнения тех или иных действий, например, для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т. д. Функции ядра, вызываемые приложениями, образуют интерфейс прикладного программирования API — совокупность программных средств, обеспечивающая прикладной программе на некотором традиционном языке программирования доступ к системам баз данных, поддерживаемым в среде конкретной СУБД. Реализация API представляет собой интерфейс уровня вызовов. Она включает библиотеку функций и процедур, обеспечивающих коммуникации прикладной программы и СУБД.

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

Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотеки процедур и выполняют полезные, но менее обязательные функции. Так как некоторые компоненты ОС оформлены как обычные приложения, то есть в виде исполняемых модулей стандартного формата, то часто бывает очень сложно провести четкую грань между ОС и приложениями.

Вспомогательные модули разделяют на следующие группы:

  • 1) утилиты-программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных и т. д.
  • 2) системные обрабатывающие программы — текстовые и графические редакторы, компиляторы, компоновщики, отладчики и т. д.
  • 3) библиотеки процедур различного назначения, упрощающие разработку приложений, например, библиотека математических функций, функций ввода-вывода и т. д.
  • 4) программы предоставления пользователю дополнительных услуг:
    • — специальный вариант пользовательского интерфейса,
    • — калькулятор
    • — игры

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

Для надежного управления ходом выполнения приложений ОС имеет по отношению к ним определенные привилегии, например, для того, чтобы:

  • — никакое некорректно работающее приложение не должно вмешиваться в работу ОС, чтобы исключить, например, часть ее кодов;
  • — выполнять роль арбитра в споре приложений за ресурсы компьютера в мультипрограммном режиме;
  • — ни одно приложение не должно иметь возможности без ведома ОС получать:
    • а) дополнительную область памяти;
    • б) занимать процессор дольше разрешенного ОС периода времени;
    • в)непосредственно управлять совместно используемыми внешними устройствами и т. д.

Для обеспечения ОС необходимых привилегий (полномочий) используются специальные аппаратные средства. Аппаратура компьютера должна поддерживать как минимум два режима работы:

  • 1) пользовательский режим для работы приложений
  • 2) привилегированный режим для режима ядра (режим супервизора) или некоторых модулей ОС.

Реестр Реестр — это иерархическая база данных, в которой централизовано хранится вся информация об аппаратных средствах и о конкретных приложениях Windows'95 и о настройках пользователя интерфейсной части ОС.

Оболочка Windows 95 — это 32-разрядное приложение, которое обеспечивает взаимодействие пользователя и системы. Она объединяет функции диспетчера программ, диспетчера файлов и диспетчера задач в одном приложении.

Графическая оболочка Windows 95 соответствует требованиям самых придирчивых пользователей, дизайнеров и специалистов по эргономике.

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

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

Внутри системной VM выполняются приложения Win16 и Win32. Большая часть кода операционной системы и данных также размещается здесь. Приложения Win32 работают на основе алгоритма вытесняющей многозадачности в отдельных адресных пространствах. Все приложения Win16 выполняются как единый процесс в общем адресном пространстве на основе алгоритма невытесняющей многозадачности. Библиотеки динамической компоновки USER, USER32, GDI, GDI32, KERNEL и KERNEL32, которые предоставляют системные сервисы всем приложениям, загружаются в системную VM и отображаются в адресные пространства каждого прикладного процесса. Это повышает производительность за счет устранения затрат времени на переходы между кольцами защиты при вызове системных функций. Однако с другой стороны, это также ставит под угрозу целостность системы, открывая доступ к частям ОС для прикладных программ.

Приложения Win32 представляют собой 32-разрядные приложения Windows, использующие 32-разрядную модель процессоров 80 386 и выше и подмножество интерфейса прикладного программирования. Каждое приложение Win32 имеет свое адресное пространство, недоступное другим приложениям.

32-разрядные приложения, созданные с учетом требований Windows 95, выполняются в режиме «подлинной» вытесняющей многозадачности. Кроме того, Windows 95 поддерживает многопоточные приложения, способные запускать параллельно несколько процессов.

Приложения Win16 представляют собой старые 16-разрядные приложения Windows 3.1. Эти приложения делят между собой единое адресное пространство и не могут управляться в соответствии с принципом многозадачности.

16-разрядные приложения для Windows выполняются в общем пространстве адресов в пределах системной виртуальной машины. Такие варианты, как выполнение каждого приложения win16 в отдельной виртуальной машине или полная эмуляция Windows 3. x в пределах операционной системы.

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

В Windows 95 примененные методы очистки и восстановления системы в случае ошибок. Если ошибка в программе, выполняющейся под Windows 3. x, могла запросто «обрушить всю» систему, то ошибка в одном из приложений под Windows 95 обычно не влияет на выполнение остальных программ. Низкоуровневые компоненты операционной системы изолированы от прикладных программ, поскольку пользуются сервисом другого уровня защиты микропроцессора 80 386.

Виртуальные машины MS DOS обеспечивают выполнение программ MS DOS под управлением Windows 95. Пользователь может запустить несколько виртуальных машин MS DOS.

На виртуальных DOS-машинах (VDM) выполняются DOS-программы. Они работают в режиме вытесняющей многозадачности.

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

Подсистема системного сервиса уровня API (Application Program Interface) — интерфейса прикладного программирования — обеспечивает совместимость с API Windows 3.1, а также поддержку 32-разрядного интерфейса прикладного программирования Компоненты ядра Windows'95.

Ядро Windows 95, как и во всех предыдущих версиях Windows, имеет трехуровневую структуру KernelUserGDI.

User управляет вводом с клавиатуры, от мыши и других координатных устройств, а так же выводом через интерфейс пользователя. В Windows'95 используется модель асинхронного ввода;

User — модуль Windows, который является диспетчером окон и занимается созданием и управлением отображаемыми на экране окнами, диалоговыми окнами, кнопками и другими элементами пользовательского интерфейса.

Kernel обеспечивает базовые функциональные возможности операционной системы (поддержку файлового ввода/вывода, управление виртуальной памятью, планирование задач), загружает exeи dll-файлы при запуске программы, обрабатывает исключения, обеспечивает взаимодействие 16-разрядного и 32-разрядного кодов;

Kernel — модуль Windows, который поддерживает низкоуровневые функции по работе с файлами и управлению памятью и процессами. Этот модуль обеспечивает сервис для 16- и 32-разрядных приложений.

GDI — (Graphics Device Interface, GDI). это графическая система, управляющая всем что появляется на экране дисплея, и поддерживающая графический вывод на принтер и другие устройства.

GDI (Graphics Device Interface) — модуль Windows, обеспечивающий реализацию графических функций по работе с цветом, шрифтами и графическими примитивами для дислея и принтеров.

Все эти модули должны бы быть 32-разрядными, но в действительности полностью 32-разрядной сделана только самая низкоуровневая часть ядра Windows 95 — Kernel. Вполне понятно, что, объявляя о 32-разрядной системе, Microsoft обязана была выполнить в 32-разрядном коде хотя бы такие базовые вещи, как функции вводавывода, управления памятью и процессами, поддержку сетевой и файловой систем.

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

Одной из проблем Windows 3.1 является способность приложения вызвать крах системы, вынудив сделать перезагрузку. В Windows 95 осталось много старого кода, с помощью которого осуществляется выполнение приложений. Например, такие критические компоненты операционной системы, как USER и GDI, которые соответственно обеспечивают управление окнами и предоставляют средства графического интерфейса, являются по-прежнему 16-разрядными и работают в том же адресном пространстве, что и 16-разрядные приложения. Поэтому 16-разрядное приложение, содержащее ошибки, может потенциально «подвесить» виртуальную машину, на которой работают подсистемы USER и GDI, что может привести к краху всей ОС.

Часть системы, работающая в режиме ядра, обеспечивает собственно управление ресурсами: памятью, процессами и т. д.

Управлениение памятью. Для разработчиков программного обеспечения IВМ РС долгие годы оставалась камнем преткновения сегментированная модель памяти 1б-разрядных микропроцессоров 8088/86 и 80 286.

Сегментом является непрерывная область памяти, адресуемая 16-разрядными числами (64 Кбайт). Для того чтобы использовать более б4 Кбайт памяти, пришлось разработать систему адресации памяти при помощи двух чисел — адреса начала сегмента и 1б-разрядного смещения внутри сегмента. Микропроцессоры 80 386, способные оперировать 32-разрядными адресами, могли бы без всяких премудростей (и отнимающих время вычислений!) адресовать до 4 Гбайт, оперативной памяти, Но МS-DOS и Windows 3. x вынужденно продолжали использовать устаревшую сегментированную модель памяти.

Для win32-приложений доступна плоская (несегментированная) модель памяти Windows 95 (Рис. 2.2). Система полностью использует адресуемую память 38б-х процессоров, при этом прикладные программы могут работать с объемом памяти до 2 Гбайт, остальные 2 Гбайт Windows 95 использует для собственных нужд. Файл виртуальной памяти Windows 95 имеет динамический размер, ограниченный только объемом жесткого диска и не зависящий от фрагментации.

Для своей загрузки ОС Windows 95/98 используют операционную систему MS-DOS 7.0, распределение памяти в которой такое же, как и в предыдущих версиях DOS. Однако при загрузке GUI-интерфейса перед загрузкой ядра Windows 95 процессор переключается в защищенный режим работы и начинает распределять память с помощью страничного механизма.

Использование плоской модели памяти, при которой все возможные сегменты, которые может использовать программист, совпадают друг с другом и имеют максимально возможный размер, определяемый системными соглашениями данной ОС, приводит к тому, что с точки зрения программиста память получается неструктурированной. За счет представления адреса как пары (номер страницы, смещение) память можно трактовать и как двумерную («плоскую»), но при этом ее можно трактовать и как линейную, и это существенно облегчает создание системного ПО и прикладных программ с помощью соответствующих систем программирования.

Таким образом, в системе фактически действует только страничный механизм преобразования виртуальных адресов в физические. Программы используют классическую малую (small) модель памяти. Каждая прикладная программа определяется 32-битными адресами, в которых сегмент кода имеет то же значение, что и сегменты данных. Единственный сегмент программы отображается непосредственно в область виртуального линейного пространства, который в свою очередь, состоит из 4-килобайтных страниц.

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

В Windows 95 каждая 32-разрядная прикладная программа выполняется в своем собственном адресном пространстве, но все они используют совместно один и тот же 32-разрядный системный код. Доступ к чужим адресным пространствам в принципе возможен. Другими словами, виртуальные адресные пространства не используют всех аппаратных средств защиты, заложенных в микропроцессор. В результате неправильно написанная 32-разрядная прикладная программа может привести к аварийному сбою всей системы. Все 16-битовые прикладные программы Windows разделяют общее адресное пространство, поэтому они также уязвимы друг перед другом, как и в среде Windows 3.х.

Системный код Windows 95 размещается выше границы 2 Гбайт. В пространстве с отметками 2 и 3 Гбайт находятся системные библиотеки DLL, используемые несколькими программами. В 32-битовых микропроцессорах семейства i80×86 имеются 4 уровня защиты, именуемые кольцами с номерами 0.3. Кольцо с номером 0 является наиболее привилегированным, то есть максимально защищенным. Компоненты системы Windows 95, относящиеся к кольцу 0, отображаются на виртуальное адресное пространство между 3 и 4 Гбайт. К этим компонентам относится ядро Windows, подсистема управления виртуальными машинами, модули файловой системы и виртуальные драйверы (VxD).

Область памяти между 2 и 4 Гбайт адресного пространства каждой 32-разрядной прикладной программы совместно используется всеми 32-разрядными прикладными программами. Такая организация позволяет обслуживать вызовы API непосредственно в адресном пространстве прикладной программы и ограничивает размер рабочего множества. Однако при этом снижается надежность. Программа, содержащая ошибку, может произвести запись в адреса, принадлежащие системным DLL, и вызвать крах всей системы.

В области 2 и 3 Гбайт также находятся все запускаемые 16-разрядные прикладные программы Windows. С целью обеспечения совместимости эти программы выполняются в совместно используемом адресном пространстве.

Адреса памяти ниже 4 Мбайт также отображаются в адресное пространство каждой прикладной программы и совместно используются всеми процессами. Благодаря этому становится возможной совместимость с существующими драйверами реального режима, которым необходим доступ к этим адресам. Это делает еще одну область памяти незащищенной от случайной записи. К самым нижним 64 Кбайт этого адресного пространства 32-разрядные прикладные программы обращаться не могут, что дает возможность перехватывать неверные указатели, но 16-разрядные программы, которые, возможно содержат ошибки, могут записывать туда данные.

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

Управление процессами. Windows 95 обеспечивает вытесняющую многозадачность, то есть разделение процессорного времени между двумя и более процессами и нитями. Однако, поскольку часть кода ядра ОС заимствована из Windows 3. x и является нереентерабельной, прерывания активного процесса возможны не в любой момент времени. Для совместимости с заимствованным нереентерабельным кодом в Windows 95 введены специальные модули-переходники, которые, во-первых, преобразуют 32-разрядный API в 16-разрядный, а, во-вторых, блокирует совместное использование нереентерабельной части ядра.

Планирование процессов выполняется с динамическим перевычислением приоритетов. Механизм управления процессами обеспечивается двумя модулями:

  • — основной диспетчер, который перевычисляет приоритеты через каждые 20 мсек (этот интервал называется квантом);
  • — диспетчер квантования, который распределяет время внутри кванта.

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

Всего имеется 32 градации приоритетов. Правила изменения приоритетов следующие:

  • — внешнее событие (нажатие клавиши или кнопки мыши) повышает приоритет;
  • — повышенный таким образом приоритет постепенно снижается до исходного (если не наступает новое событие);
  • — приоритет процесса, который захватывает монопольный ресурс (например, дисковый ввод-вывод) повышается, это повышение отменяется, когда ресурс освобождается

Базовая система включает в свой состав ряд важнейших подсистем.

Подсистема управления файлами Windows 95 (Рис. 2.3) работает в нулевом кольце защиты и обрабатывает все вызовы, связанные с вводом-выводом. Большинство вызовов обрабатывается в защищенном режиме, но некоторые по-прежнему приводят к переключению в режим Virtual 86, и обрабатываются в реальном режиме DOS.

Самый верхний уровень файловой системы Диспетчер Инсталлируемой Файловой Системы (ISF — Installable File System), который обеспечивает интерфейс между запросами процессов и конкретной файловой системой. Диспетчер IFS играет роль абстрактной файловой системы. Конкретные файловые системы называются драйверами файловых систем (FSD — File System Driver). Драйверы FSD ответственны за семантику конкретных файловых систем. Каждый такой FSD поддерживает определенную организацию файловые системы и обслуживает запросы, которые передает ему Диспетчер IFS .

Диспетчер IFS обеспечивает также для FSD некоторые общие сервисные функции: управление памятью, управление событиями, синтаксический разбор имен файлов и т. п. Каждый FSD при своей инициализации регистрируется у Диспетчера IFS, выдавая специальный системный вызов монтирования (для тома) или регистрации (для сетевой файловой системы). В процессе регистрации FSD передает Диспетчеру IFS адреса своих входных точек. Эти входные точки однозначно соответствуют файловым системным вызовам из состава API. Таким образом, в самой ОС почти совсем отсутствует общая обработка системных вызовов, и основная функция IFS — опознание того FSD, которому следует переадресовать вызов. Опознание адресата Диспетчер IFS производит следующим образом:

  • -если одним из параметров вызова является полное имя файла, Диспетчер IFS использует идентификатор диска для определения соответствующего FSD по таблице томов;
  • -если одним из параметров вызова является манипулятор открытого файла, Диспетчер IFS использует манипулятор для определения соответствующего FSD по таблице открытых файлов;

если происходит запрос, с которым Диспетчер IFS не может разобраться, он поочередно вызывает все зарегистрированные FSD, пока один из них не примет запрос.

Подсистема ввода-вывода — IOS — выполняет две функции: управляющего модуля, который распределяет обращения, и сервисные функции для драйверов.

Драйвер отслеживания тома — VTD — контролирует смену носителей на устройствах.

Cпецифический дисковый драйвер — TSD — управляет всеми устройствами определенного типа и преобразует виртуальные адреса на устройстве в физические.

Драйверы независимых разработчиков — VSD — (необязательные) выполняют любую дополнительную обработку данных.

Драйвер порта — аппаратно-зависимый драйвер, выполняющий обмен данных с устройством на низком уровне.

В Windows 95 идея независимой от драйверов модификации данных реализована таким образом, что в ОС определено общее количество звеньев в цепочке обработки, которую проходят данные, — 32. IOS составляет уровень 0, драйвер порта — уровень 31. Между ними, следовательно, возможно еще 30 уровней, которые могут быть заняты драйверами VSD, при установке драйвера VSD можно выбрать уровень, на котором он будет включен в цепочку.

Что касается конкретной файловой системы, то файловые системы Windows 95 — VFAT (виртуальная FAT) и FAT-32. Их структура в принципе такая же, как и FAT-16. Одно из самых назойливых ограничений систем МS-DOS и Windows 3. x — имена файлов, состоящие не более чем из 11 (8+3) символов. Новая файловая система позволяет win32-приложениям пользоваться длинными (до 255 символов) именами файлов и при этом остается полностью совместимой с FAT. Разумеется, пользоваться такими именами файлов гораздо удобнее.

Некоторые компоненты новой файловой системы были использованы еще в Windows 3.11 для рабочих групп — драйвер устанавливаемых файловых систем, 32-разрядный драйвер FАТ, 32-разрядное кэширование жесткого диска. Все эти черты получили дальнейшее развитие в Windows 95. Кроме того, появились 32-разрядный драйвер CD-ROM, более мощная подсистема блокового ввода-вывода и другие черты. Файловая система Windows'95 характеризуется многоуровневой архитектурой, поддерживающей несколько файловых систем (на основе FAT, файловая система CD ROM, файловые системы от сторонних разработчиков).

Другая особенность — это динамическое кэширование, поддерживаемое файловой системой CD ROM. Это обеспечивает оптимальный баланс между памятью, необходимой приложению, и памятью, выделяемой под дисковый кэш.

Диспетчер конфигурации включает в свой состав подсистему поддержки самонастраивающейся аппаратуры Plug and Play, а также набор различных прикладных функций, например выдачи текущих даты и времени.

Впервые поддержка Plug and Play была включена в состав операционной системы Windows 95. Microsoft рассматривала Windows 95 и как возможность изменить существующее положение вещей на благо как конечных пользователей, так и производителей компьютеров. В этом смысле основополагающим, конечно же, явилось развитие аппаратных средств.

Plug and Play — так называется спецификация, созданная совместно фирмами Microsoft, Intel, Phoenix Technologies (разработчик BIOS), Compaq и некоторыми другими. Цель ее создания состояла в сведении к минимуму проблем, связанных с настройкой и конфигурированием аппаратных средств. Теперь пользователю совершенно необязательно знать, например, что такое IRQ (уровень запроса прерывания) или адрес порта ввода-вывода. Реализованная в Windows 95 система «plug and play» (дословно — «подключил и играй») автоматически устанавливает драйверы устройств, присваивает им номера прерываний и т. д. — раньше это приходилось делать вручную. В свою очередь, появление Windows 95 привело к появлению устройств, специально спроектированных под plug and play — например, они неактивны, пока система не присвоит им адреса и прерывания. На ранней стадии внедрения случались многочисленные ошибки распознавания оборудования, поэтому «plug and play» часто в шутку называли «plug and pray» — дословно «подключил и молись» .

Windows 95 поддерживает текущую версию протокола Plug-and-Play. При установке дополнительного устройства, подключаемого на основе Plug-and-Play, система сама заботится о его конфигурировании.

Достаточно удобно использовать Windows 95 и без аппаратной поддержки Plug-and-Play — система чрезвычайно много знает о том, какие существуют внешние устройства и как идентифицировать, включая СD дисководы, звуковые карты модемы, мыши и многое другое Сетевая подсистема представляет собой средство поддержки одноранговой сети, впервые появившееся в Windows 3.11. Система осуществляет доступ к удаленным файлам при помощи файловой подсистемы Windows 95.

Диспетчер виртуальной машины Подсистема управления виртуальными машинами (VMM) (Virtual Machine Manager) предоставляет низкоуровневые сервисные функции, например, планирование нитей и управление памятью. Сюда также относятся драйверы виртуальных устройств (VxD) для аппаратуры.

VMM выделяет ресурсы каждому приложению и системному процессу, выполняемому на компьютере.

Подсистема диспетчера ВМ (виртуальной машины) реализует все действия по управлению задачами, управлению памятью, загрузкой и завершением программ, а также обслуживанием виртуальных драйверов устройств.

Драйверы устройств Драйверэто специальная программа, ориентированная на управление внешним устройством. Драйверы обеспечивают единый интерфейс к различным устройствам и тем самым «отвязывая» пользовательские программы и ядро ОС от особенностей аппаратуры. Каждому типу, а иногда и классу ВУ сопоставляется свой драйвер.

Весь зависимый от устройства код помещается в драйвер устройства.

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

Драйверы стандартных устройств образуют в совокупности базовую систему ввода/вывода, которая часто заносится в ПЗУ системного блока ПЭВМ. Драйверы дополнительных устройств могут подключаться к ОС динамически при запуске машины.

Драйвер выполняет следующие функции:

  • — принимает запросы на обращение к ВУ;
  • — преобразует запросы в команды управления устройством с учетом всех деталей его конструкции и особенностей работы в реальном времени;
  • — обрабатывает прерывания от обслуживаемого ВУ.

Драйверы устройств могут быть самыми разнообразными, в том числе драйверами реального режима или виртуальными драйверами внешних устройств. Драйверы внешних устройств позволяют нескольким приложениям одновременно использовать одно устройство, например, экран дисплея В Windows'95 применяется архитектура «универсальный драйвер — минидрайвер».

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

Минидрайвер содержит небольшую часть кода, который обеспечивает работу конкретного устройства, принадлежащего данному классу.

Наиболее громоздкие М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, заменяя все резидентные программы, которые приходилось загружать для работы в этих сетях.
Показать весь текст
Заполнить форму текущей работой