Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 97
Текст из файла (страница 97)
Операционные системы Windowsчее окружение называется профилем (profile), и при включении такой возможности в системном каталоге образуется вложенный каталог' с именем Profiles, в котором и размещаются профили пользователей. Независимо от того, имеет каждыйпользователь свой профиль или не имеет, он должен зарегистрироваться, если система сконфигурирована для работы в вычислительной сети. Для выполнения процедуры аутентификации используются файлы с расширением pwl, к которым, к сожалению, имеется свободный доступ, в результате узнать пароль того или иногопользователя не составляет большой проблемы для злоумышленника.Для облегчения работы с компьютером все эти системы поддерживают механизмавтоматического обнаружения подключенных к нему устройств (так называемыймеханизм Plug and Play — «включай и работай»).
Эту задачу выполняет специальный модуль — диспетчер конфигурации (Configuration Manager). Он гарантирует,что каждое устройство, входящее в состав персонального компьютера, сможет использовать линии IRQ (Interrupt Request — запрос на прерывание), адреса портовввода-вывода, каналы прямого доступа к памяти и прочие ресурсы без конфликтов с другими устройствами. Кроме того, диспетчер конфигурации отслеживаеттекущие изменения в конфигурации компьютера. Поскольку операционные системы Windows 9x получили самое широкое распространение, все выпускаемоепериферийное оборудование имеет необходимые драйверы, причем достаточноправильно написанные и успешно работающие.
Поэтому серьезные проблемы насегодняшний день с этим механизмом мало кто испытывает. Динамическое конфигурирование аппаратно-программной среды значительно упрощает использование операционной системы и позволяет без лишних операций ручной настройкиработать на компьютере пользователям, не являющимся специалистами в вычислительной технике.С точки зрения базовой архитектуры операционные системы семейства Windows 9xявляются 32-разрядными и мультизадачными (многопоточными) системами свытесняющей многозадачностью.
Ядра у всех этих операционных систем построены по макроядерной архитектуре. Ядро состоит из трех основных компонентов:Kernel, Usern GDI. Модуль Kernel обеспечивает основную функциональность операционной системы, в том числе: планирование процессов; поддержку потоковвыполнения; синхронизацию объектов; работу с файлами, отображаемыми на память; управление памятью; файловый ввод-вывод; обработку исключений; работуконсолей; взаимодействие 32-разрядного и 16-разрядного кода с преобразованием16-разрядного формата кода и данных в 32-разрядный (и наоборот) посредствоммеханизма шлюзования; некоторые другие функции.
Компонент User управляетвводом с клавиатуры и координатных устройств (типа мыши) и выводом черезпользовательский интерфейс. Когда то или иное устройство ввода генерирует прерывания, обработчик прерываний, используя модель асинхронного ввода, преобразует их в сообщения и посылает потоку необработанного ввода, который распределяет их по соответствующим очередям сообщений. Наконец, компонент ядра,называемый GDI (Graphical Device Interface — графический интерфейс устрой1Вместо термина каталог (directory) в системах с графическим интерфейсом гораздо чаще используют термин папка (folder).Операционные системы Windows 9x36/ства), представляет собой графическую подсистему, которая отвечает за прорисовку графических примитивов, операции с растровыми изображениями и взаимодействие с аппаратно-независимыми графическими драйверами.
GDI управляет выводом на экран, принтеры и другие устройства.Все операционные системы Windows 9x централизованно хранят всю системную информацию об аппаратных средствах, установленном системном и прикладном программном обеспечении и его настройке, в том числе и индивидуальных параметрахкаждого пользователя. Такая централизованная информационная база данных называется реестром (registry). Реестр избавляет от необходимости иметь дело с множеством INI-файлов, как это было в системах Windows 3.x. Физически содержимое реестра определяется файлами system.dat и user.dat, которые располагаются в каталоге сфайлами операционной системы.
В режиме, когда каждый пользователь имеет собственный профиль, определяющий персональную настройку его рабочего окружения,в состав реестра включается еще файл user.dat того пользователя, который в этот момент работает на компьютере. Файлы с именем user.dat располагаются в профиляхпользователей и определяют права пользователей в операционной системе.В операционных системах Windows 9x для работы с периферийными устройствами используется архитектура универсальный драйвер—мини-драйвер.
Она позволяет упростить разработку драйверов для создателей нового оборудования. Операционные системы Windows 9x сами предоставляют базовые услуги для различныхклассов аппаратных устройств. Для этого существуют универсальные драйверы,которые включают большую часть кода, необходимого конкретному классу устройств для взаимодействия с компонентами операционной системы. Поэтому изготовителям оборудования необходимо написать относительно небольшой кодминидрайвера, который должен содержать какие-либо дополнительные функции,нужные для управления конкретным устройством и учитывающие именно его специфику.
Во многих случаях универсальные драйверы реализуют практически всефункции, которые необходимы для управления операциями ввода-вывода приобмене данными с периферийным устройством, и иметь дополнительный минидрайвер не требуется.Помимо этих драйверов, которые относятся к драйверам низкого уровня и непосредственно завязаны на аппаратуру, в Windows 9x используются драйверы виртуальных устройств. Эти драйверы предназначены для управления системными ресурсами, причем они позволяют разделять ресурс между несколькими процессами.Аббревиатура VxD (Virtual Device — виртуально устройство), которую мы можемвстретить при детальном знакомстве с этими операционными системами, означает, что речь идет именно о драйверах виртуальных устройств.
Вместо средней буквы х в названии драйвера виртуального устройства может стоять, например, латинская буква Р, которая означает, что речь идет о драйвере принтера. Если женазвание виртуального драйвера — VDD, то мы имеем дело с драйвером дисплея.Драйверы VxD поддерживают все основные устройства персонального компьютера, включая контроллеры на системной плате, контроллеры дисковых устройств,таймер, видеоконтроллеры, коммуникационные порты (параллельный и последовательный), принтеры, клавиатуры и многие другие. Они обеспечивают динами-368Глава 11. Операционные системы Windowsческую поддержку драйверов устройств, а виртуальное устройство отслеживаетсостояние соответствующего реального аппаратного устройства для любого процесса, которое им используется.
Поскольку системы Windows 9x обеспечиваютмультизадачный режим, передача устройства от одного процесса другому происходит очень часто. Каждое выполняемое приложение или системный процесс можетпрервать работу с устройством другого приложения. Поскольку такое вмешательство в принципе могло бы вызвать полный крах процессов управления вводомвыводом, драйвер виртуального устройства проверяет и соответственно изменяетсостояние устройства для любого приложения и/или системного процесса вводавывода. При этом, естественно, гарантируется, что устройство будет корректнофункционировать с каждым из процессов, запрашивающим ту или иную операцию ввода-вывода на этом устройстве. Некоторые драйверы виртуальных устройствпредназначены для управления программными компонентами операционной системы; они содержат код, который эмулирует определенные программные средстваили отслеживает, чтобы выполняющиеся процессы использовали только свои данные.
Во всех операционных системах Windows 9x в память загружаются только тедрайверы виртуальных устройств, которые необходимы в данный момент. Это позволяет экономить оперативную память компьютера.Одним из драйверов виртуальных устройств является системный драйвер, управляющий файловой системой защищенного режима и драйверами блочных устройств. Это супервизор ввода-вывода (Input/Output Supervisor, IOS). Он принимает запросы от файловых систем и загружает драйверы, обеспечивающие доступк локальным дискам и дисковым устройствам.Драйверы файловых систем являются компонентами кода с нулевым уровнем привилегий. Они поддерживают следующие файловые системы:Q VFAT (Virtual FAT) — файловые операции на дисковых устройствах и взаимодействие с подсистемой блочного ввода-вывода;Q CDFS — работа с компакт-дисками;Q UDF (Universal Disk Format) — соответствует спецификациям, принятым организацией Optical Storage Technology Association, и предназначена для доступа к дискам DVD-ROM и CD-ROM (эта файловая система не поддерживаетсяв Windows 95);Q сетевые редиректоры для обеспечения связи с серверами компаний Microsoftи Novell (Netware).Все эти файловые системы управляются диспетчером устанавливаемых файловыхсистем (IFS).
Помимо перечисленных в операционную систему можно установитьи иные файловые системы. Например, при работе с Windows 98 мы можем установить драйвер для доступа к дискам NTFS. Правда, реализация этого драйвера такова, что он игнорирует все расширенные атрибуты. В результате не работают разрешения NTFS для ограничения на доступ к файлам, которые и составляют одноиз основных достоинств этой файловой системы.По умолчанию системы Windows 98 и Windows ME позволяют работать с файловой системой FAT12 (для работы с дискетами), FAT16 и FAT32. Последняя является основной для этих операционных систем.Операционные системы Windows 9x369Операционные системы Windows являются сетевыми. В дистрибутивы входит всенеобходимое системное сетевое программное обеспечение, которое легко и быстро устанавливается и конфигурируется.