Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 19 декабря 2022 года; проверки требуют 12 правок.
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 19 декабря 2022 года; проверки требуют 12 правок.
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.
Первая независимая версия Microsoft Windows, версия 1.0, выпущенная 20 ноября 1985 года, не пользовалась большой популярностью. Первоначально его название было «Interface Manager», но Роуленд Хэнсон, глава отдела маркетинга Microsoft, убедил компанию, что имя Windows будет более привлекательным для потребителей. Windows 1.0 была не полноценной операционной системой, а скорее «операционной средой», расширяющей MS-DOS. Следовательно, он разделял врожденные недостатки и проблемы MS-DOS. Вторая версия Microsoft Windows, версия 2.0, была выпущена 9 декабря 1987 года и использовала модель памяти реального режима, которая ограничивала ее максимум 1 мегабайтом памяти. В такой конфигурации он мог работать под другой многозадачной системой, такой как DESQview, которая использовала защищенный режим 286. 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.[7] Microsoft наняла его в августе 1988 года для создания преемника OS/2, но Катлер вместо этого создал совершенно новую систему на основе своего проекта MICA в Digital. На своей конференции профессиональных разработчиков в 1991 году Microsoft объявила о своих намерениях разработать преемницу как Windows NT, так и замены Windows 3.1 (Windows 95 под кодовым названием Chicago), которая объединила бы их в одну операционную систему. Этот преемник получил кодовое имя Каир. Оглядываясь назад, Cairo оказался гораздо более сложным проектом, чем предполагала Microsoft, и в результате NT и Chicago не могли быть объединены до Windows XP[5] Microsoft hired him in August 1988 to create a successor to OS/2, but Cutler created a completely new system instead based on his MICA project at Digital.[6].
После Windows 3.11 Microsoft начала разрабатывать новую ориентированную на потребителя версию операционной системы под кодовым названием Chicago. Чикаго был разработан с поддержкой 32-битной вытесняющей многозадачности, которая была доступна в OS/2 и Windows NT, хотя 16-битное ядро оставалось для обратной совместимости. API Win32, впервые представленный в Windows NT, был принят в качестве стандартного 32-разрядного интерфейса программирования, при этом совместимость с Win16 была сохранена с помощью метода, известного как «thunking». Новый графический интерфейс изначально не планировался как часть выпуска, хотя элементы пользовательского интерфейса Cairo были заимствованы и добавлены, поскольку другие аспекты выпуска (особенно Plug and Play) ускользнули. Microsoft не изменила весь код Windows на 32-битный; его части остались 16-битными (хотя и не использовали напрямую реальный режим) по соображениям совместимости, производительности и времени разработки. Кроме того, было необходимо перенести проектные решения из более ранних версий Windows по причинам обратной совместимости, даже если эти проектные решения больше не соответствовали более современной вычислительной среде. Эти факторы сразу же начали сказываться на эффективности и стабильности операционной системы. Маркетинг Microsoft принял Windows 95 в качестве названия продукта для Чикаго, когда он был выпущен 24 августа 1995 года. Microsoft выпустила пять различных версий Windows 95: Windows 95 — оригинальный выпуск Windows 95 A - в установку включена Windows 95 OSR1. Windows 95 B - (OSR2) включает несколько основных улучшений, Internet Explorer (IE) 3.0 и полную поддержку файловой системы FAT32. Windows 95 B USB (OSR2.1) включает базовую поддержку USB. Windows 95 C (OSR2.5) включала все вышеперечисленные функции, а также IE 4.0. Это была последняя выпущенная версия Windows 95[7].
25 июня 1998 г. Microsoft выпустила Windows 98. Она включала новые драйверы оборудования и улучшенную поддержку файловой системы FAT32, что позволяет поддерживать разделы диска размером более 2 ГБ, принятый в Windows 95. Поддержка USB в Windows 98 была более надежной. чем базовая поддержка, предоставляемая OEM-версиями Windows 95.[10] Он также неоднозначно интегрировал браузер 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. (гамма) версия.
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).
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.[28] Некоторые операционные системы, которые были доступны одновременно с Windows 9x, являются либо многопользовательскими, либо имеют несколько учетных записей пользователей с разными правами доступа, что позволяет не изменять важные системные файлы (например, образ ядра) для большинства учетных записей пользователей. Напротив, хотя Windows 95 и более поздние операционные системы предлагают возможность иметь профили для нескольких пользователей, они не имеют понятия привилегий доступа, что делает их примерно эквивалентными однопользовательской операционной системе с одной учетной записью; это означает, что все процессы могут изменять все файлы в системе, которые не открыты, в дополнение к возможности изменять загрузочный сектор и выполнять другие низкоуровневые модификации жесткого диска. Это позволяет вирусам и другому тайно установленному программному обеспечению интегрироваться в операционную систему таким образом, что обычным пользователям будет трудно его обнаружить или отменить. Поддержка профилей в семействе Windows 9x предназначена только для удобства; если некоторые ключи реестра не изменены, доступ к системе можно получить, нажав «Отмена» при входе в систему, даже если все профили имеют пароль. Диалоговое окно входа в систему Windows 95 по умолчанию также позволяет создавать новые профили пользователей без предварительного входа в систему. Пользователи и программное обеспечение могут сделать операционную систему неработоспособной, удалив или перезаписав важные системные файлы с жесткого диска. Пользователи и программное обеспечение также могут изменять файлы конфигурации таким образом, что операционная система не может загружаться или функционировать должным образом. Программное обеспечение для установки часто заменяло и удаляло системные файлы, не проверяя должным образом, используется ли файл или имеет ли он более новую версию. Это создало феномен, который часто называют адом DLL. Windows Me представила защиту системных файлов и восстановление системы для решения распространенных проблем, вызванных этой проблемой.
Windows 9x обеспечивает безопасность управления доступом на уровне общих ресурсов для общего доступа к файлам и принтерам, а также управление доступом на уровне пользователей, если в сети доступна операционная система на базе Windows NT.[29] Напротив, операционные системы на основе 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.