Windows 9x

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Windows 9x
Изображение логотипа
Разработчик Microsoft
Семейство ОС DOS (MS-DOS)
Первый выпуск 24 августа 1995
Поддерживаемые платформы X86
Тип ядра Монолитное ядро
Лицензия Microsoft EULA
Состояние

Историческое[1]

Поддержка прекращена 11 июля 2006 года[2][3]
Предыдущая Windows 3.x
Следующая Windows NT

Windows 9x — серия компьютерных операционных систем Microsoft Windows, выпущенных с 1995 по 2000 год, которые были основаны на ядре Windows 95 и лежащей в его основе MS-DOS, обе из которых были обновлены в последующих версиях. Первой версией в серии 9x была Windows 95, за которой последовала Windows 98, а затем — Windows Me, которая была третьей и последней версией Windows в линейке 9x, пока эта серия не была заменена Windows XP. Windows 9x в основном известна тем, что используется на домашних компьютерах[4]. В 1998 году на долю Windows приходилось 82 % рынка операционных систем. Версии внутреннего выпуска для версий Windows 9x — 4.x. Внутренние версии для Windows 95, 98 и Me: 4.0, 4.1 и 4.9, соответственно. Предыдущие версии Windows для MS-DOS использовали номера версий 3.2 или ниже. Windows NT, предназначенная для профессиональных пользователей, таких как сети и предприятия, использовала аналогичный, но отдельный номер версии от 3.1 до 4.0. Все версии Windows, начиная с Windows XP и далее, основаны на кодовой базе Windows NT.

Windows до версии 95

[править | править код]

Первая независимая версия Microsoft Windows — 1.0, выпущенная 20 ноября 1985 года, не пользовалась большой популярностью. Первоначально его название было «Interface Manager», но Роуленд Хэнсон, глава отдела маркетинга Microsoft, убедил компанию, что имя Windows будет более привлекательным для потребителей. Windows 1.0 была не полноценной операционной системой, а, скорее, «операционной средой», расширяющей MS-DOS, из-за чего она разделяла все ограничения и недостатки DOS.

Windows 2.0 была выпущена 9 декабря 1987 года и использовала модель памяти реального режима, которая ограничивала её максимум 1 мегабайтом памяти. В такой конфигурации она могла работать под другой многозадачной системой, такой как DESQview, которая использовала защищенный режим Intel 80286.

Microsoft Windows добилась значительного успеха с Windows 3.0, вышедшей в 1990 году. Благодаря виртуальной памяти Windows стала лучше выполнять в многозадачном режиме старые программы для MS-DOS по сравнению с Windows / 386. Microsoft разработала Windows 3.1, которая включала несколько незначительных улучшений по сравнению с Windows 3.0, но в основном состояла из исправлений ошибок и поддержки мультимедиа. В этой версии поддержка реального режима была удалена, поэтому минимальным требованием к системе стало наличие процессора Intel 80286 или лучше. В ноябре 1993 года Microsoft также выпустила Windows 3.11, доработку Windows 3.1, которая включала все исправления и обновления, выпущенные после выпуска Windows 3.1 в начале 1992 года.

Тем временем Microsoft продолжала развивать Windows NT. Главным архитектором системы был Дэйв Катлер, один из главных архитекторов VMS в Digital Equipment Corporation. Microsoft наняла его в августе 1988 года для создания преемника OS/2, но Катлер вместо этого создал совершенно новую систему на основе своего проекта MICA, начатого ещё в DEC[5]. На своей конференции профессиональных разработчиков в 1991 году Microsoft объявила о своих намерениях разработать новую систему, которая заменила бы как Windows NT, так и Windows 3.1. Такой системой должен был стал проект под кодовым названием Cairo (по имени египетского города Каир), однако его реализация оказалась гораздо сложнее, чем предполагала Microsoft, и в результате NT и разрабатываемый проект Chicago не могли быть объединены вплоть до выхода Windows XP[6].

Логотип Windows 95

После Windows 3.11 Microsoft начала разрабатывать новую ориентированную на потребителя версию операционной системы под кодовым названием Chicago (по имени американского города Чикаго), которая проектировалась с поддержкой 32-битной вытесняющей многозадачности, ранее встречавшейся в OS/2 и Windows NT, хотя 16-битное ядро оставалось для обратной совместимости. API Win32, впервые представленный в Windows NT, был принят в качестве стандартного 32-разрядного интерфейса программирования, при этом совместимость с Win16 была сохранена с помощью метода, известного как «thunking». Новый графический интерфейс изначально не планировался как часть выпуска, хотя были позаимствованы элементы пользовательского интерфейса Cairo.

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

Маркетинговый отдел Microsoft присвоил проекту коммерческое название Windows 95, и под таким названием система увидела свет 24 августа 1995 года. Впоследствии было выпущено несколько ревизий Windows 95: оригинальный выпуск Windows 95 Retail; Windows 95 Retail SP1 и соответствующий ему Windows 95 OSR1 («OEM Service Release», распространявшийся среди поставщиков аппаратного обеспечения для предустановки системы на новые компьютеры) с незначительными улучшениями оригинальной версии. Windows 95 OSR2 включал несколько основных улучшений, Internet Explorer 3 и полную поддержку файловой системы FAT32. В Windows 95 OSR2.1 появилась базовая поддержка USB, а Windows 95 OSR2.5 Internet Explorer был обновлён до версии 4. Это была последняя выпущенная версия Windows 95, доступная потребителям[7].

Логотип Windows 98

25 июня 1998 года Microsoft выпустила Windows 98. Она включала новые драйверы оборудования и улучшенную поддержку файловой системы FAT32, что позволяет поддерживать разделы диска размером более 2 ГБ, принятый в Windows 95. Поддержка USB в Windows 98 была более надежной. чем базовая поддержка, предоставляемая OEM-версиями Windows 95. Он также неоднозначно интегрировал браузер Internet Explorer 4 в графический интерфейс Windows и файловый менеджер Windows Explorer. 5 мая 1999 года Microsoft выпустила Windows 98 Second Edition, промежуточный выпуск, примечательными особенностями которого были добавление общего доступа к подключению к Интернету и улучшенная поддержка звука WDM и модема[8]. Совместное использование подключения к Интернету — это форма преобразования сетевых адресов, позволяющая нескольким компьютерам в локальной сети (LAN) совместно использовать одно подключение к Интернету. Второе издание Windows 98 имеет некоторые улучшения по сравнению с исходным выпуском. Увеличена поддержка оборудования через драйверы устройств. Было обнаружено и исправлено множество незначительных проблем, присутствующих в исходной версии Windows 98, что, по мнению многих, делает её наиболее стабильной версией семейства Windows 9x — до такой степени, что комментаторы говорили, что бета-версия Windows 98 была более стабильной, чем окончательная версия Windows 95. (гамма) версия.

Логотип Windows Me

14 сентября 2000 года Microsoft представила Windows Me (Millennium Edition), которая обновила Windows 98, добавив в неё расширенные мультимедийные и интернет-функции. Он также представил первую версию восстановления системы, которая позволяла пользователям возвращать состояние своей системы к предыдущей «заведомо хорошей» точке в случае сбоя системы. Также был представлен первый выпуск Windows Movie Maker. Windows Me была задумана как быстрый однолетний проект, который послужил промежуточным релизом между Windows 98 и Whistler (вскоре будет переименована в Windows XP). Многие из новых функций были доступны на сайте Центра обновления Windows в виде обновлений для более старых версий Windows. В результате Windows Me не была признана отдельной операционной системой по образцу 95 или 98 и часто включается в серию Windows 9x. Пользователи критиковали Windows Me за нестабильность и ненадежность из-за частых зависаний и сбоев. В статье PC World Windows Me была названа «Mistake Edition» и помещена на 4-е место в рейтинге «Худшие технические продукты всех времен». Неспособность пользователей легко загрузиться в MS-DOS в реальном режиме, как в Windows 95 и 98, привела к тому, что пользователи быстро научились взламывать свои установки Windows Me, чтобы восстановить необходимую функцию.

Windows 95 смогла значительно уменьшить роль MS-DOS в Windows, чем это было сделано в Windows 3.1x и более ранних версиях. По словам разработчика Microsoft Рэймонда Чена, MS-DOS в Windows 95 выполняла две функции: в качестве загрузчика и в качестве уровня 16-разрядного устаревшего драйвера устройства. Когда запустилась Windows 95, MS-DOS загрузилась, обработала CONFIG.SYS, запустила COMMAND.COM, запустила AUTOEXEC.BAT и, наконец, запустила WIN.COM. Программа WIN.COM использовала MS-DOS для загрузки диспетчера виртуальных машин, чтения SYSTEM.INI, загрузки драйверов виртуальных устройств, а затем выключения всех запущенных копий EMM386 и переключения в защищенный режим. В защищенном режиме драйверы виртуальных устройств (VxD) передавали всю информацию о состоянии из MS-DOS в диспетчер 32-разрядной файловой системы, а затем отключали MS-DOS. Эти VxD позволяют Windows 9x напрямую взаимодействовать с аппаратными ресурсами, предоставляя низкоуровневые функции, такие как 32-битный доступ к диску и управление памятью. Все будущие операции с файловой системой будут перенаправляться на менеджер 32-битной файловой системы. В Windows Me win.com больше не выполнялся во время запуска; вместо этого он перешел непосредственно к выполнению VMM32.VXD из IO.SYS. Вторая роль MS-DOS (как уровня 16-разрядного устаревшего драйвера устройства) заключалась в обеспечении обратной совместимости для запуска программ DOS в Windows. Многие программы MS-DOS и драйверы устройств взаимодействовали с DOS на низком уровне, например, путем исправления низкоуровневых прерываний BIOS, таких как int 13h, низкоуровневое прерывание дискового ввода-вывода. Когда программа выполняла вызов int 21h для доступа к MS-DOS, вызов сначала направлялся к менеджеру 32-разрядной файловой системы, который пытался обнаружить такого рода исправления. Если он обнаружит, что программа пыталась подключиться к DOS, она вернётся к 16-битному коду, чтобы запустить перехватчик. 16-битный драйвер с именем IFSMGR.SYS ранее загружался с помощью CONFIG.SYS, задача которого заключалась в том, чтобы сначала перехватить MS-DOS, прежде чем другие драйверы и программы получат шанс, а затем перейти от 16-битного кода обратно к 32-битному. -битный код, когда программа DOS завершила работу, чтобы менеджер 32-битной файловой системы мог продолжить свою работу. По словам разработчика Windows Рэймонда Чена, «MS-DOS была всего лишь чрезвычайно сложной приманкой. Любые 16-разрядные драйверы и программы могли исправлять или перехватывать то, что они считали настоящей MS-DOS, но на самом деле это была просто приманка. Менеджер 32-битной файловой системы обнаружил, что кто-то купил приманку, и приказал приманке крякать».

Windows 95 и Windows 98 также предлагают регрессивную поддержку приложений DOS в виде возможности загрузки в собственном «режиме DOS» (MS-DOS можно загрузить без загрузки Windows, без перевода ЦП в защищенный режим). Благодаря диспетчерам памяти Windows 9x и другим усовершенствованиям после выхода DOS общая производительность и функциональность системы улучшаются. Это отличается от эмуляции, используемой в операционных системах на базе Windows NT. Некоторые старые приложения или игры могут работать неправильно в окне DOS в Windows и требуют реального режима DOS. Наличие режима командной строки за пределами графического интерфейса также дает возможность исправлять определённые системные ошибки без входа в графический интерфейс. Например, если вирус активен в графическом режиме, его часто можно безопасно удалить в режиме DOS, удалив его файлы, которые обычно блокируются при заражении в Windows. Точно так же поврежденные файлы реестра, системные файлы или загрузочные файлы можно восстановить из командной строки. Windows 95 и Windows 98 можно запустить из режима DOS, введя «WIN» <enter> в командной строке. Однако консоль восстановления для Windows 2000, которая, как и версия Windows NT, играла аналогичную роль в удалении вирусов. Поскольку DOS не была предназначена для многозадачности, версии Windows, такие как 9x, основанные на DOS, не имеют безопасности файловой системы, например прав доступа к файлам. Кроме того, если пользователь использует 16-разрядные драйверы DOS, Windows может работать нестабильно. Ошибки жесткого диска часто досаждают сериям Windows 9x.

Архитектура

[править | править код]

Части пользовательского режима Windows 9x состоят из трех подсистем: подсистемы Win16, подсистемы Win32 и MS-DOS. Windows 9x/Me выделила два блока областей памяти по 64 КБ для GDI и ресурсов кучи. Запуск нескольких приложений, приложений с многочисленными элементами GDI или запуск приложений в течение длительного промежутка времени может привести к исчерпанию этих областей памяти. Если свободные системные ресурсы упадут ниже 10 %, Windows станет нестабильной и, вероятно, выйдет из строя.

Режим ядра

[править | править код]

Части режима ядра состоят из диспетчера виртуальных машин (VMM), диспетчера устанавливаемой файловой системы (IFSHLP), диспетчера конфигураций, а в Windows 98 и более поздних версиях — диспетчера драйверов WDM (NTKERN) . В 32-разрядной операционной системе пространство виртуальной памяти составляет 4 ГБ, разделенное на нижние 2 ГБ для приложений и верхние 2 ГБ для ядра на процесс.

Как и Windows NT, Windows 9x хранит пользовательские настройки и параметры конфигурации в большой информационной базе данных, называемой реестром Windows. Параметры оборудования также хранятся в реестре, и многие драйверы устройств используют реестр для загрузки данных конфигурации. В предыдущих версиях Windows для сохранения настроек конфигурации использовались такие файлы, как AUTOEXEC.BAT, CONFIG.SYS, WIN.INI, SYSTEM.INI и другие файлы с расширением .INI. По мере того, как Windows становилась более сложной и включала в себя больше функций, файлы .INI становились слишком громоздкими для ограничений текущей файловой системы FAT. Обратная совместимость с файлами .INI сохранялась до тех пор, пока Windows XP не сменила линии 9x и NT. Хотя Microsoft не рекомендует использовать файлы .INI в пользу записей реестра, большое количество приложений (особенно 16-разрядных приложений для Windows) по-прежнему используют файлы .INI. Windows 9x поддерживает файлы .INI исключительно для совместимости с этими приложениями и соответствующими инструментами (такими как программы установки). Файлы AUTOEXEC.BAT и CONFIG.SYS также все ещё существуют для совместимости с системными компонентами реального режима и позволяют пользователям изменять определённые системные настройки по умолчанию, такие как переменная среды PATH. Реестр состоит из двух файлов: User.dat и System.dat. В Windows Me был добавлен Classes.dat.

Диспетчер виртуальных машин (VMM)

[править | править код]

Это 32-разрядное ядро защищенного режима, лежащее в основе Windows 9x. Его основной обязанностью является создание, запуск, мониторинг и завершение работы виртуальных машин. VMM предоставляет службы, которые управляют памятью, процессами, прерываниями и ошибками защиты. VMM работает с виртуальными устройствами (загружаемые модули ядра, которые состоят в основном из 32-битного кода кольца 0 или кода режима ядра, но могут включать и другие типы кода, такие как 16-битный сегмент инициализации реального режима), чтобы позволить этим виртуальным устройствам перехватывать прерывания и сбои, чтобы контролировать доступ, который приложение имеет к аппаратным устройствам и установленному программному обеспечению. И VMM, и драйверы виртуальных устройств работают в одном 32-разрядном адресном пространстве плоской модели с уровнем привилегий 0 (также называемым кольцом 0). VMM обеспечивает многопоточную вытесняющую многозадачность. Он запускает несколько приложений одновременно, распределяя время ЦП (центрального процессора) между потоками, в которых работают приложения и виртуальные машины. VMM также отвечает за создание сред MS-DOS для системных процессов и приложений Windows, которые по-прежнему должны работать в режиме MS-DOS. Это замена WIN386.EXE в Windows 3.x, а файл vmm32.vxd представляет собой сжатый архив, содержащий большую часть основного VxD, включая сам VMM.vxd и ifsmgr.vxd (который облегчает доступ к файловой системе без необходимости вызвать код файловой системы реального режима ядра DOS).

Поддержка программного обеспечения

[править | править код]

Частичную поддержку Unicode можно установить в Windows 9x через Microsoft Layer для Unicode.

Файловые системы
[править | править код]

Windows 9x изначально не поддерживает NTFS или HPFS, но существуют сторонние решения, которые позволяют Windows 9x иметь доступ только для чтения к томам NTFS. Ранние версии Windows 95 не поддерживали FAT32. Как и Windows for Workgroups 3.11, Windows 9x обеспечивает поддержку 32-разрядного доступа к файлам на основе IFSHLP.SYS, и, в отличие от Windows 3.x, Windows 9x поддерживает файловую систему VFAT, позволяя именам файлов содержать не более 255 символов вместо с именами файлов 8.3.

Регистрация и отслеживание событий
[править | править код]

Кроме того, нет поддержки ведения журнала событий и отслеживания или отчетов об ошибках, которые есть в операционных системах семейства Windows NT, хотя программное обеспечение, такое как Norton CrashGuard, можно использовать для достижения аналогичных возможностей в Windows 9x.

Безопасность

[править | править код]

Windows 9x спроектирована как однопользовательская система. Таким образом, модель безопасности гораздо менее эффективна, чем в Windows NT. Одной из причин этого являются файловые системы FAT (включая FAT12/FAT16/FAT32), которые являются единственными, официально поддерживаемыми Windows 9x, хотя Windows NT также поддерживает FAT12 и FAT16 (но не FAT32), а Windows 9x может быть расширена для чтения и записывать тома NTFS с помощью сторонних драйверов устанавливаемой файловой системы. Системы FAT имеют очень ограниченную безопасность; каждый пользователь, имеющий доступ к диску FAT, также имеет доступ ко всем файлам на этом диске. Файловые системы FAT не предоставляют списков контроля доступа и шифрования на уровне файловой системы, как NTFS. Некоторые операционные системы, которые были доступны одновременно с Windows 9x, являются либо многопользовательскими, либо имеют несколько учётных записей пользователей с разными правами доступа, что позволяет не изменять важные системные файлы (например, образ ядра) для большинства учётных записей пользователей. Напротив, хотя Windows 95 и более поздние операционные системы предлагают возможность иметь профили для нескольких пользователей, они не имеют понятия привилегий доступа, что делает их примерно эквивалентными однопользовательской операционной системе с одной учётной записью; это означает, что все процессы могут изменять все файлы в системе, которые не открыты, в дополнение к возможности изменять загрузочный сектор и выполнять другие низкоуровневые модификации жесткого диска. Это позволяет вирусам и другому тайно установленному программному обеспечению интегрироваться в операционную систему таким образом, что обычным пользователям будет трудно его обнаружить или отменить. Поддержка профилей в семействе Windows 9x предназначена только для удобства; если некоторые ключи реестра не изменены, доступ к системе можно получить, нажав «Отмена» при входе в систему, даже если все профили имеют пароль. Диалоговое окно входа в систему Windows 95 по умолчанию также позволяет создавать новые профили пользователей без предварительного входа в систему. Пользователи и программное обеспечение могут сделать операционную систему неработоспособной, удалив или перезаписав важные системные файлы с жёсткого диска. Пользователи и программное обеспечение также могут изменять файлы конфигурации таким образом, что операционная система не может загружаться или функционировать должным образом. Программное обеспечение для установки часто заменяло и удаляло системные файлы, не проверяя должным образом, используется ли файл или имеет ли он более новую версию. Это создало феномен, который часто называют адом DLL. Windows Me представила защиту системных файлов и восстановление системы для решения распространенных проблем, вызванных этой проблемой.

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

Поддержка устройств

[править | править код]

Драйверы устройств в Windows 9x могут быть драйверами виртуальных устройств или (начиная с Windows 98) драйверами WDM. VxD обычно имеют расширение имени файла .vxd или .386, тогда как драйверы, совместимые с WDM, обычно используют расширение .sys. 32-разрядный сервер сообщений VxD (msgsrv32) — это программа, способная загружать драйверы виртуальных устройств (VxD) при запуске, а затем обрабатывать связь с драйверами. Кроме того, сервер сообщений выполняет несколько фоновых функций, включая загрузку оболочки Windows (например, Explorer.exe или Progman.exe)[30]. Другим типом драйверов устройств являются драйверы .DRV. Эти драйверы загружаются в пользовательском режиме и обычно используются для управления такими устройствами, как мультимедийные устройства. Для обеспечения доступа к этим устройствам требуется библиотека динамической компоновки (например, MMSYSTEM.DLL). Windows 9x сохраняет обратную совместимость со многими драйверами, созданными для Windows 3.x и MS-DOS. Использование драйверов MS-DOS может ограничить производительность и стабильность из-за того, что они используют обычную память и должны работать в реальном режиме, что требует от ЦП переключения в защищенный режим и из него. Драйверы, написанные для Windows 9x/Windows Me, загружаются в то же адресное пространство, что и ядро. Это означает, что драйверы могут случайно или намеренно перезаписать критические разделы операционной системы. Это может привести к системным сбоям, зависаниям и повреждению диска. Неисправные драйверы операционной системы были источником нестабильности операционной системы. Другие монолитные и гибридные ядра, такие как Linux и Windows NT, также подвержены неисправностям драйверов, препятствующих работе ядра. Часто у разработчиков программного обеспечения драйверов и приложений не было достаточного опыта создания программ для «новой» системы, что приводило к множеству ошибок, которые пользователи обычно описывали как «системные ошибки», даже если ошибка не была вызвана частями Windows или ДОС. В результате Microsoft неоднократно перерабатывала архитектуру драйверов Windows с момента выпуска Windows 95.

Windows 9x не имеет встроенной поддержки гиперпоточности, предотвращения выполнения данных, симметричной многопроцессорной обработки или многоядерных процессоров. В Windows 9x нет встроенной поддержки адаптеров главной шины SATA (и не было ни в Windows 2000, ни в Windows XP) или USB-накопителей (кроме Windows Me). Однако существует множество контроллеров SATA-I, для которых существуют драйверы Windows 98/Me, а поддержка запоминающих устройств USB была добавлена в Windows 95 OSR2 и Windows 98 с помощью сторонних драйверов. Поддержка аппаратных драйверов для Windows 98/Me начала снижаться в 2005 году, особенно для чипсетов материнских плат и видеокарт. Ранние версии Windows 95 не поддерживали ускорение USB или AGP.

Примечания

[править | править код]
  1. Microsoft Support Lifecycle. Microsoft. Дата обращения: 12 апреля 2019. Архивировано 22 ноября 2012 года.
  2. Microsoft Support Lifecycle. Microsoft. Дата обращения: 12 апреля 2019. Архивировано 12 августа 2020 года.
  3. Microsoft Support Lifecycle. Microsoft. Дата обращения: 12 апреля 2019.
  4. Polsson, Ken Chronology of Microsoft Windows Operating Systems. www.islandnet.com (22 апреля 2008). Дата обращения: 20 апреля 2019. Архивировано 2 мая 2008 года.
  5. Zachary, G. Pascal. Showstopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft : [англ.]. — Open Road Media, 2014. — ISBN 978-1-4804-9484-8.
  6. Russinovich, Mark Windows NT and VMS: The Rest of the Story (декабрь 1998). Дата обращения: 16 декабря 2008. Архивировано из оригинала 12 января 2013 года.
  7. Anderson, Tim Windows 8: An awful lot of change for a single release. The Register (23 октября 2012). Дата обращения: 14 марта 2019. Архивировано 16 июня 2016 года.
  8. Windows 95 OSR2.x Support for External USB Hubs. Help and Support. Microsoft (31 октября 2003). Дата обращения: 6 октября 2019. Архивировано из оригинала 10 декабря 2005 года.