Операционные системы Windows 9x Краткая историческая справка
В те годы, когда появилась первая система Windows, а это произошло в ноябре 1985 года, наибольшее распространение имели компьютеры на базе процессора i80286. Этот процессор хотя и имел средства для организации мультизадачного режима работы (в нем компания Intel впервые реализовала защищенный режим работы, поддержку виртуальной памяти с сегментным механизмом, кольца защиты со шлюзованием для доступа к сегментам кода и многое другое), но аппаратная поддержка была слишком слаба и несовершенна. Только с широким распространением 32-разрядных процессоров (i80386 и все последующие) появилась возможность со временем отказаться в системах Windows от поддержки 16-разрядного защищенного режима работы процессоров и в качестве основного выбрать полноценный 32-разрядный защищенный режим. Как известно, микропроцессор i80386 появился в том же 1985 году. Возможности этого микропроцессора, заложенные в него специально для организации полноценных мультизадачных операционных систем, мы рассмотрели в главе 4. Однако первые несколько лет этот микропроцессор исполь-зовался просто как более быстродействующий 16-разрядный микропроцессор i8086 или i80286 (благо он поддерживал такую возможность), поскольку для него долгое время не существовало полноценной 32-разрядной операционной системы.
После первой системы Windows, которая себя только обозначила, компания Microsoft в течение нескольких лет принимала активное участие в работах по созданию операционной системы OS/2. Кстати, операционная система Windows NT «выросла» из проекта OS/2, который имел версию 3.0. Однако проблемы во взаимоотношениях между этими фирмами и желание стать первыми в создании новых мультизадачных операционных систем, имеющих графический интерфейс, привели к тому, что компания Microsoft продолжила работу над Windows вопреки существовавшей договоренности, а в последующем даже разорвала отношения с IBM. Было выпущено несколько версий Windows, пока наконец в 1990 году вышла одна из самых популярных систем того времени — система Windows 3.0. Это была операционная система, предназначенная для работы на процессорах i80386, однако прикладные программы, которые могли выполняться под ее управлением, рассчитывались на интерфейс Win 16 API. Само собой, обеспечивалось выполнение DOS-приложений, которые на тот момент доминировали. Для своего запуска эта операционная система требовала наличия среды MS DOS. При запуске программы WIN.COM последняя переводила микропроцессор в защищенный режим работы и начинала загружать ядро Windows. Часть драйверов заменялась новыми, а часть могла остаться от MS DOS. После загрузки Windows 3.0 на компьютере можно было параллельно выполнять несколько приложений.
После системы Windows 3.0 появилась система Windows 3.1 и, наконец, сетевая операционная система Windows 3.11 for Workgroups. Все эти операционные системы, хотя и были популярны, имели определенные недостатки, в частности, нельзя было задействовать более 16 Мбайт памяти, не обеспечивались должные надежность и производительность, поскольку не использовались все те возможности 32-раз-
364 Глава 11. Операционные системы Windows
рядного защищенного режима работы микропроцессора, которые этот режим предоставлял.
Первой операционной системой от компании Microsoft, которая должна была исправить существовавшее положение вещей, была Chicago. Она вышла в свет в августе 1995 года и получила известное всему миру название Windows 95. Операционная система Windows 95, по сути дела, произвела революцию в персональных компьютерах. И это несмотря на появившуюся еще в 1992 г. великолепную 32-разрядную операционную систему OS/2 версии 2.0, которая к 1995 году «доросла» уже до версии 2.2 и имела существенно более совершенный графический интерфейс. К сожалению, большинство пользователей почти ничего не знали о существовании этой полноценной, надежной и эффективной операционной системы, поскольку фирма IBM мало беспокоилась об этом. Да и предыдущая (первая) версия операционной системы с тем же названием OS/2 себя не зарекомендовала. В противоположность той позиции, которую заняла IBM, компания Microsoft задолго до появления своей операционной системы Windows 95 серьезно занималась ее продвижением. Пользователи хорошо знали возможности 16-разрядной системы Windows 3.x, они умели с ней работать. Правильно организованная рекламная кампания успешно делала свое дело, и пользователи ждали новую 32-разрядную операционную систему с нетерпением.
Появление операционной системы Windows 95 сопровождалось выходом большого числа соответствующего прикладного программного обеспечения и, что немало-важно, выпуском так необходимых всем книг, в которых излагались принципы работы с новой операционной системой и создания для нее прикладных программ. Многие фирмы, занимающиеся разработкой программного обеспечения, стали выпускать для Windows 95 различные пакеты прикладных программ, системы управления базами данных, системы программирования и другие программы. Все это вместе взятое стало мощнейшим стимулом, обеспечившим победу операционной системе Windows 95, несмотря на то что по своей архитектуре и возможностям она почти по всем параметрам уступала операционной системе OS/2. Операционная система Linux в те годы еще только начинала о себе заявлять.
Затем в 1996 году вышла вторая редакция операционной системы Windows 95 (это был проект Nashville), которая получила название Windows 95 OSR 2 (OEM Service Release 2). В этой операционной системе были улучшены система управления файлами (введена поддержка файловой системы FAT32), а также средства для работы с мультимедиа и Интернетом.
Далее в 1998 году компания Microsoft обновила свою операционную систему еще раз, дав ей имя Windows 98. Эта операционная система имела еще больше именно 32-разрядного собственного кода, обладала большей стабильностью и производительностью, поскольку был устранен почти весь прежний 16-разрядный код, выполнявшийся достаточно часто и имевший все характерные для него недостатки. В частности, была введена новая модель 32-разрядных драйверов WDM (Windows Driver Model)1,
1 Новая модель многоуровневой организации драйверов для систем Windows, которая пришла на смену прежней.
Операционные системы Windows 9x______________________________________365
которая позволяет использовать драйверы, создаваемые для операционных систем семейства Windows NT. Важной для успеха этой операционной системы была также полноценная поддержка интерфейса USB (Universal Serial Bus — универсальная последовательная шина). Обнаруженные в системе ошибки были исправлены во второй редакции этой операционной системы. Нынче операционная система Windows 98 SE1 является одной из самых распространенных в мире.
Наконец, в канун начала нынешнего тысячелетия2 Microsoft выпустила свою последнюю версию операционной системы, которая также была основана на архитектуре системы Windows 95. Это была Windows Millennium Edition3 (ME). Выпуская Windows ME, Microsoft преследовала несколько первоочередных целей: превратить потребительскую операционную систему в полноценную мультимедийную (не только игровую) платформу; максимально упростить обслуживание системы; обеспечить удобные средства создания домашних сетей; обеспечить доступ ко всему богатству ресурсов Интернета. Основным, принципиальным моментом (и основным недостатком, как это ни покажется странным) был отказ от поддержки сеансов DOS, что позволяет потенциально немного увеличить надежность организуемых вычислений. Операционная система Windows ME была предназначена для использования на домашних компьютерах, и это обстоятельство, вкупе с невозможностью организовать выполнение программ, требующих открытия сеансов DOS, не позволило ей получить широкое распространение. Тем более что вскоре для потребительских целей Microsoft стала продавать новую операционную систему Windows XP Home Edition, которая уже относится к системам типа Windows NT.
Общие сведения
Операционные системы Windows 9x создавались для работы только на IBM-совместимых персональных компьютерах. Они не являются переносимыми и на других платформах (на процессорах, не совместимых с архитектурой ia32) не работают. Как и для всего остального программного обеспечения от Microsoft, исходные коды операционных систем закрыты, поэтому подробного описания ее архитектуры практически нет; имеются только многочисленные публикации о том, как следует использовать эти системы.
Операционные системы семейства Windows 9x предназначены, главным образом, для домашнего, а не корпоративного применения. Уже многие годы они являются самыми распространенными в мире. Хотя они допускают возможность работы с компьютером нескольких пользователей (естественно, по очереди, поскольку системы являются однотерминальными), в них не поддерживается механизм учетных записей, как в остальных 32-разрядных операционных системах. Каждый пользователь может иметь свое собственное рабочее окружение, то есть свои вид рабочего стола (desktop), состав панели задач (taskbar) и меню Пуск (Start), параметры настройки используемых программ и многое другое. Это собственное рабо-
' SE означает «Second Edition» — вторая редакция.
2 Эта система вышла осенью 2000 года.
3 Слово «millennium» как раз и означает канун тысячелетия.
366_______________________________ Глава 11. Операционные системы Windows
чее окружение называется профилем (profile), и при включении такой возможности в системном каталоге образуется вложенный каталог1 с именем Profiles, в котором и размещаются профили пользователей. Независимо от того, имеет каждый пользователь свой профиль или не имеет, он должен зарегистрироваться, если система сконфигурирована для работы в вычислительной сети. Для выполнения процедуры аутентификации используются файлы с расширением pwl, к которым, к сожалению, имеется свободный доступ, в результате узнать пароль того или иного пользователя не составляет большой проблемы для злоумышленника.
Для облегчения работы с компьютером все эти системы поддерживают механизм автоматического обнаружения подключенных к нему устройств (так называемый механизм Plug and Play — «включай и работай»). Эту задачу выполняет специальный модуль — диспетчер конфигурации (Configuration Manager). Он гарантирует, что каждое устройство, входящее в состав персонального компьютера, сможет использовать линии IRQ (Interrupt Request — запрос на прерывание), адреса портов ввода-вывода, каналы прямого доступа к памяти и прочие ресурсы без конфликтов с другими устройствами. Кроме того, диспетчер конфигурации отслеживает текущие изменения в конфигурации компьютера. Поскольку операционные системы Windows 9x получили самое широкое распространение, все выпускаемое периферийное оборудование имеет необходимые драйверы, причем достаточно правильно написанные и успешно работающие. Поэтому серьезные проблемы на сегодняшний день с этим механизмом мало кто испытывает. Динамическое конфигурирование аппаратно-программной среды значительно упрощает использование операционной системы и позволяет без лишних операций ручной настройки работать на компьютере пользователям, не являющимся специалистами в вычислительной технике.
С точки зрения базовой архитектуры операционные системы семейства Windows 9x являются 32-разрядными и мультизадачными (многопоточными) системами с вытесняющей многозадачностью. Ядра у всех этих операционных систем построены по макроядерной архитектуре. Ядро состоит из трех основных компонентов: Kernel, User и GDI. Модуль Kernel обеспечивает основную функциональность операционной системы, в том числе: планирование процессов; поддержку потоков выполнения; синхронизацию объектов; работу с файлами, отображаемыми на память; управление памятью; файловый ввод-вывод; обработку исключений; работу консолей; взаимодействие 32-разрядного и 16-разрядного кода с преобразованием 16-разрядного формата кода и данных в 32-разрядный (и наоборот) посредством механизма шлюзования; некоторые другие функции. Компонент User управляет вводом с клавиатуры и координатных устройств (типа мыши) и выводом через пользовательский интерфейс. Когда то или иное устройство ввода генерирует прерывания, обработчик прерываний, используя модель асинхронного ввода, преобразует их в сообщения и посылает потоку необработанного ввода, который распределяет их по соответствующим очередям сообщений. Наконец, компонент ядра, называемый GDI (Graphical Device Interface — графический интерфейс устрой-
' Вместо термина каталог (directory) в системах с графическим интерфейсом гораздо чаще использу-ют термин папка (folder).
Операционные системы Windows 9x______________________________________ 367
ства), представляет собой графическую подсистему, которая отвечает за прорисовку графических примитивов, операции с растровыми изображениями и взаимодействие с аппаратно-независимыми графическими драйверами. 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). Он принимает запросы от файловых систем и загружает драйверы, обеспечивающие доступ к локальным дискам и дисковым устройствам.
Драйверы файловых систем являются компонентами кода с нулевым уровнем привилегий. Они поддерживают следующие файловые системы:
- VFAT (Virtual FAT) — файловые операции на дисковых устройствах и взаимо
действие с подсистемой блочного ввода-вывода;
- CDFS — работа с компакт-дисками;
- UDF (Universal Disk Format) — соответствует спецификациям, принятым организацией Optical Storage Technology Association, и предназначена для доступа к дискам DVD-ROM и CD-ROM (эта файловая система не поддерживается в Windows 95);
- сетевые редиректоры для обеспечения связи с серверами компаний Microsoft
и Novell (Netware).
Все эти файловые системы управляются диспетчером устанавливаемых файловых систем (IFS). Помимо перечисленных в операционную систему можно установить и иные файловые системы. Например, при работе с Windows 98 мы можем установить драйвер для доступа к дискам NTFS. Правда, реализация этого драйвера такова, что он игнорирует все расширенные атрибуты. В результате не работают разрешения NTFS для ограничения на доступ к файлам, которые и составляют одно из основных достоинств этой файловой системы.
По умолчанию системы Windows 98 и Windows ME позволяют работать с файловой системой FAT12 (для работы с дискетами), FAT16 и FAT32. Последняя является основной для этих операционных систем.
Операционные системы Windows 9x______________________________________ 369
Операционные системы Windows являются сетевыми. В дистрибутивы входит все необходимое системное сетевое программное обеспечение, которое легко и быстро устанавливается и конфигурируется. Используется программный интерфейс NetBIOS и технология SMB (Server Message Blocks). Системы главным образом предназначены для работы в составе рабочих групп, то есть для построения одноранговых вычислительных сетей, хотя операционные системы Windows 95 и Windows 98 допускают работу в составе домена в сетях клиент-сервер. Для этого они имеют все необходимые программные модули и интерфейсные экранные формы. Однако, поскольку в случае их использования в корпоративных сетях существенным образом начинает страдать информационная безопасность, делать это не рекомендуется.
Дата добавления: 2016-09-20; просмотров: 2231;