Операционная система windows 9x поддерживает пользовательский интерфейс типа

Windows 9x — это общий термин, относящийся к серии компьютерных операционных систем Microsoft Windows, выпущенных с 1995 по 2000 год, которые были основаны на ядре Windows 95 и его базовой базе MS-DOS, оба из которых были обновлены в последующих версиях. Сюда входят все версии Windows 95 и Windows 98. Windows ME иногда включается.

Windows 9x в основном известна тем, что используется на настольных компьютерах. В 1998 году Windows составляла 82% доли рынка операционной системы.

Внутренние версии выпуска для версий Windows 9x — 4.x. На предыдущих версиях Windows на базе MS-DOS использовались версии версии 3.2 или ниже. Windows NT, которая была нацелена на профессиональных пользователей, таких как сети и предприятия, использовала аналогичный, но отдельный номер версии от 3,1 до 4,0.

Конечной версией Windows 9x была Windows ME, выпущенная в сентябре 2000 года с внутренним номером версии 4.9. Все будущие версии Windows, начиная с Windows XP, будут основываться на кодовой базе Windows NT.

История[]

Windows до 95[]

Первая независимая версия Microsoft Windows, версия 1.0, выпущенная 20 ноября 1985 года, достигла небольшой популярности. Первоначально его называли «Interface Manager», но Роуленд Хансон, глава отдела маркетинга в Microsoft, убедил компанию, что имя Windows будет более привлекательным для потребителей. Windows 1.0 не была полной операционной системой, а скорее «операционной средой», которая расширила 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, но в основном состояла из исправлений и поддержки мультимедиа. Он также исключил поддержку Real-режима и работал только на процессоре 80286 или выше. Позже Microsoft также выпустила Windows 3.11, касающуюся Windows 3.1, которая включала все исправления и обновления, которые после выпуска Windows 3.1 в 1992 году.

Между тем, Microsoft продолжала разрабатывать Windows NT. Главным архитектором системы был Дейв Катлер, один из главных архитекторов VMS в Digital Equipment Corporation (позже приобретенный Compaq, теперь входящий в Hewlett-Packard). Microsoft наняла его в августе 1988 года, чтобы создать преемника OS / 2, но Катлер создал совершенно новую систему.

Microsoft объявила о замене конференции (Windows 95 под кодовым названием Chicago), которая объединила бы их в одну операционную систему. Этот преемник был под кодовым названием Каир. Оглядываясь назад, Каир был гораздо более сложным проектом, чем ожидал Microsoft, и, как результат, NT и Chicago не будут объединены до Windows XP.

Windows 95[]

Логотип Windows 95

После Windows 3.11 Microsoft приступила к разработке новой ориентированной на потребителя версии операционной системы под кодовым названием Chicago. Чикаго был разработан для поддержки 32-битной упреждающей многозадачности, такой как OS / 2 и Windows NT, хотя 16-битное ядро оставалось бы ради обратной совместимости. Win32 API, впервые представленный с 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. Это была последняя версия 95.

OSR2, OSR2.1 и OSR2.5 не были опубликованы для широкой публики; скорее, они были доступны только для OEM-производителей, которые предварительно загружали бы ОС на компьютеры. Некоторые компании продали новые жесткие диски с предустановленной OSR2 (официально обосновывая это по мере необходимости из-за емкости жесткого диска).

Первый пакет дополнений Microsoft Plus! был продан для Windows 95.

Windows 98[]

Логотип Windows 98

25 июня 1998 года Microsoft выпустила Windows 98. Она включала новые аппаратные драйверы и улучшенную поддержку файловой системы FAT32, которая позволяет поддерживать дисковые разделы размером более 2 ГБ, принятые Windows 95. Поддержка USB в Windows 98 была более надежной, чем основная поддержка, оказываемая изданий ОЕМ Windows 95. Она также спорно интегрированный браузер Internet Explorer в файловый менеджер для Windows с графическим интерфейсом и Проводник Windows. Он также спорно интегрировал браузер Internet Explorer в графический интерфейс пользователя Windows и диспетчер файлов проводника Windows.

В 1999 году Microsoft выпустила Windows 98 Second Edition, промежуточную версию, чьими известными функциями были добавление общего доступа к подключению к Интернету и улучшенная поддержка аудио и модемов WDM. Общий доступ к подключению к Интернету — это форма преобразования сетевых адресов, позволяющая нескольким машинам в локальной сети (локальной сети) обмениваться одним подключением к Интернету. Windows 98 Second Edition имеет определенные улучшения по сравнению с исходным выпуском. Аппаратная поддержка драйверов устройств была увеличена. Многие незначительные проблемы, существующие в исходной Windows 98, были обнаружены и исправлены, что делает его, по мнению многих, самым стабильным выпуском семейства Windows 9x — в той мере, в какой комментаторы говорили, что бета-версия Windows 98 была более стабильной, чем финальная версия Windows 95 (гамма).

Windows ME[]

В сентябре 2000 года Microsoft представила Windows ME (Millennium Edition), которая обновила Windows 98 с помощью улучшенных функций мультимедиа и Интернета. Он также представил первую версию системы Restore, которая позволила пользователям вернуть состояние своей системы к предыдущей «хорошо известной» точке в случае сбоя системы. Также была представлена первая версия Windows Movie Maker.

Windows ME был задуман как быстрый однолетний проект, который стал промежуточным релизом между Windows 98 и Windows XP. Многие из новых функций были доступны на сайте Windows Update в качестве обновлений для старых версий Windows. В результате Windows ME не была признана отдельной операционной системой по линиям 95 или 98 и часто включается в серию Windows 9x.

Windows ME подвергся критике со стороны пользователей за ее нестабильность и ненадежность из-за частых зависаний и сбоев. Статья PC World назвала Windows ME «Mistake Edition» и поместила ее на 4-е место в своей функции «Worst Tech Products of All Time» (Худшие технические продукты за все время).

Неспособность пользователей легко загружаться в реальном режиме MS-DOS, как и в Windows 95 и 98, заставила пользователей быстро узнать, как взломать их установки Windows ME, чтобы предоставить необходимую услугу.

Спад[]

В выпуске Windows 2000 произошел сдвиг в работе пользователей между сериями Windows 9x и Windows NT. Windows NT 4 страдает от недостатка поддержки USB, Plug and Play и DirectX, не позволяя своим пользователям играть в современные игры. В Windows 2000 появился обновленный пользовательский интерфейс и улучшена поддержка Plug and Play и USB.

Выпуск Windows XP ознаменовал собой изменение направления для Microsoft, объединив операционные системы для потребителей и бизнеса.

К марту 2004 года было невозможно приобрести любые версии Windows 9x.

Конец срока службы[]

Microsoft продолжала поддерживать использование серии Windows 9x до 11 июля 2006 года, когда расширенная поддержка завершилась для Windows 98, Windows 98 Second Edition (SE) и Windows Millennium Edition (Me) (расширенная поддержка Windows 95 завершилась 31 декабря 2001).

Microsoft DirectX, набор стандартных игровых API, перестает быть обновленным в Windows 95 версии 8.0a. Последняя версия DirectX, поддерживаемая для Windows 98 и ME, — 9.0.

Поддержка Microsoft Internet Explorer также закончилась Windows 9x. Последней версией Internet Explorer для Windows 95 является Internet Explorer 5.5. Internet Explorer 6 с пакетом обновления 1 был последней версией, которую браузер мог обновить в Windows 98 и ME. Internet Explorer 7, первое крупное обновление для Internet Explorer 6 за полвека, было доступно только для Windows XP с пакетом обновления 2 (SP2) и Windows Vista.

Растущее количество важных обновлений, вызванных окончанием срока службы этих программных продуктов, медленно превратило Windows 9x еще менее практичным для повседневного использования. Сегодня даже проекты с открытым исходным кодом, такие как Mozilla Firefox, не будут работать в Windows 9x без переделки.

Дизайн[]

Ядро[]

Windows 9x — это серия гибридных 16/32-разрядных операционных систем.

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

Хотя 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 в 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.

Время на прочтение11 мин

Количество просмотров84K

Несколько дней назад в сеть просочился образ ранней версии Windows 11. Различные издательства провели тесты по производительности и пришли к неутешительному выводу: Windows 11 в среднем работает хуже, чем Windows 10. Но расстраиваться рано! Проблемы производительности могут быть связаны с «сыростью» слитого образа и нюансами совместимости с текущими программами. Так или иначе, 24 июня состоится официальная презентация нового поколения операционных систем Windows, которая, возможно, даст ответы на многие вопросы. Если сегодня у вас есть настроение для ностальгии, предлагаем вам окунуться в мир Windows: познакомиться с историей, как менялась ось и что у нее внутри.

История Windows

В начале 80 годов прошлого века компания IBM работала над персональным компьютером на базе процессора Intel 8088. С середины 70 годов компания Microsoft была основным поставщиком Basic для восьмибитных микрокомпьютеров. Когда IBM обратилась к Microsoft для лицензирования Basic для их нового компьютера IBM PC, Microsoft согласилась, а также посоветовала обратиться к компании Digital Research для лицензирования операционной системы CP/M. Но, получилось так, что глава Digital Research не нашел в своем графике времени для встречи для IBM, и IBM снова обратилась к Microsoft, теперь уже с просьбой решить вопрос операционной системы для IBM PC. Microsoft купила клон ОС CP/M у компании Seattle Computer Products и перенесла её на IBM PC. Итоговым названием получившейся ОС стало MS-DOS 1.0.

IBM PC

Первые продукты с названием «Windows» от Microsoft не были операционными системами. Это были графические среды для MS-DOS. На фоне успеха, в том числе и коммерческого, пользовательского интерфейса на Apple Lisa, компания решила реализовать графический интерфейс на IBM PC с MS-DOS. В отличии от относительно дешевых IBM PC, Apple Lisa стоили дорого (почти 10 тысяч долларов), и немногие покупатели могли позволить купить их. Microsoft решила занять нишу дешевых компьютеров с графическим интерфейсом. При этом низкая стоимость достигалась экономией на комплектующих и более низкая производительность, по сравнению с Lisa, избежать не получилось. Так, в 1985, 1987 и в 1990 выходят первые три версии Windows — 1.0, 2.0 и 3.0. Причем за первые шесть месяцев после релиза Windows 3.0 было продано более 1 миллиона экземпляров. Дальнейшее развитие Windows можно разделить на два направления — Windows на базе MS-DOS и Windows на базе NT.

Windows 1.01

Windows 9x

Windows на базе MS-DOS или Windows 9x не были первыми ОС от Microsoft, но они продолжали «старые традиции» и были построены на основе 16-битного кода MS-DOS. В августе 1995 года была выпущена Windows 95 — первая система семейства Windows 9x. Она уже была полноценной операционной системой с соответствующими возможностями.  Однако у системы были проблемы с безопасностью (например, не было «администратора») и с изоляцией приложений. Зависание 16-битного приложения приводило к блокировке всей системы. Проблемы со стабильностью достались и Windows 98 и Windows ME, которые отличались от выпуска 95 года рядом небольших обновлений.

Windows 95

Windows NT

В целом, к концу 80-х годов в Microsoft появилось понимание о необходимости разработки операционной системы не на базе MS-DOS. Параллельно с разработкой софта, связанного с MS-DOS, Microsoft наняла команду инженеров из компании DEC для разработки новой 32-битной операционной системы. Главой группы стал Дэйв Катлер — один из главных разработчиков ОС VMS. Новая система была названа NT — от сокращения New Technology. Основной упор при разработке NT делался на безопасность и надежность системы, а также на совместимость с Windows на MS-DOS. Так получилось, что опыт при разработке VMS повлиял на NT и сходство между ними стало причиной спора между DEC и Microsoft. По итогу спор был решен во внесудебном порядке. 

Дэйв Катлер

Первая система Windows называлась Windows NT 3.1 и была выпущена в 1993 году. Это была первая ОС от Microsoft. Индекс 3.1 был выбран для соответствия Windows 3.1 на MS-DOS. Эта версия не имела особого успеха. Для NT требовалось больше памяти, 32-разрядных приложений на рынке было мало, возникали проблемы с совместимостью драйвером. Достичь поставленных целей смогли в NT 3.5. А первым серьезным обновлением для NT стала версия 4.0 в 96 году. Теперь эта система была мощна, надежна и безопасна, а также обеспечивала тот же интерфейс, что и Windows 95 (которая к тому моменту была чрезвычайно популярной). 

Windows NT 3.1

В 2000 году вышла новая версия Windows — Windows 2000. Она развивала идеи, заложенные в системы NT. Был добавлена технология Plug-and-Play, управление электропитанием и улучшен интерфейс пользователя. 

Windows 2000

Успех Windows 2000 задал вектор развития для следующего поколения — Windows XP. В «хрюшке» Microsoft улучшила совместимость, интерфейс стал более дружелюбным. Стратегия Microsoft завоевывать аудиторию уже знакомыми системами дала плоды — за несколько лет Windows XP была установлена на сотнях миллионах ПК. Эпоха MS-DOS подошла к концу.

Windows XP

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

Первоначальные планы Microsoft по поводу Vista были настолько обширны, что через несколько лет после начала разработки проект пришлось сильно ограничить. Vista включала в себе 70 миллионов строк кода, часть которого составлял «причесанный» код XP. Неудача Vista отчасти с тем, что она вышла не в то время. На 2006 год пришелся бум недорогих компьютеров, которые не могли обеспечить достаточную для Vista производительность. 

Windows Vista

Проблемы Vista были учтены при разработке Windows 7. Microsoft уделила большее внимание тестированию и производительности новой системы. Windows 7 быстро вытеснила Vista, а затем и XP, став самой популярной версией Windows до появления Windows 10 (сейчас Windows 7 на втором месте по популярности).

Windows 7

Бум смартфонов в начале 2010-х подтолкнул Microsoft к созданию операционной системы, которую можно было бы развернуть на разных устройствах: на телефонах, планшетах, приставках и т. д. В результате этой работы мир узрел Windows 8. «Восьмерка» построена на модульном подходе MinWin для получения небольшого ядра ОС, которое можно было бы расширить на линейку других типов устройств. Но аудитория встретила холодно такой подход. Многие люди критиковали «смартфоноподобный» интерфейс на ПК, отсутствие кнопки пуск. Для решения многих проблем Microsoft выпустила обновление под названием Windows 8.1, которая, помимо исправления имеющихся ошибок, добавила новые функции. 

Windows 8.1

И вот, к 2015 году Microsoft выпускает Windows 10. При разработке Microsoft продолжала развитие идеи единой системы для разных устройств. В «десятке» появилась голосовая помощница Кортана, вернули меню «Пуск», улучшена системная безопасность. 

Технические аспекты

Чтобы осветить все технические аспекты и тонкости операционной системы Windows понадобится не менее 1000 страниц. Для особо любопытных советуем 7-е издание «Внутреннего устройства Windows« Марка Руссиновича, специалиста по внутреннему устройству Windows. Также можно почитать «Современные операционные системы« Эндрю Таненбаума и «Operating System Concepts«: в обеих книгах есть главы, посвященные Windows. Здесь же ограничимся рассмотрением инструментов взаимодействия приложений пользователя с операционной системой (Windows API) и архитектуры «оси». 

Архитектура 

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

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

Рассмотрим ключевые системные компоненты, формирующие архитектуру системы. На рисунке ниже представлена упрощенная схема, на которой опущены некоторые элементы, например, сетевые компоненты и различные уровни драйверов. Первое, на что стоит обратить внимание — это линия, разделяющая части пользовательского режима и режима ядра. Как упоминалось выше, потоки пользовательского режима выполняются в закрытом адресном пространстве процессов. На время выполнения в режиме ядра они получают доступ к системному пространству. Таким образом, системные процессы, пользовательские процессы, процессы служб и подсистемы среды обладают собственным закрытыми адресными пространствами. 

Упрощенная схема архитектуры Windows

Вторая линия разделяет компоненты режима ядра и гипервизор (Hyper-V). Гипервизор перехватывает многие привилегированные операции, выполняемые ядром, и эмулирует их таким образом, чтобы позволить на одной и той же машине одновременно работать нескольким операционными системам. Гипервизор работает на том же уровне привилегий процессора (0), что и ядро. Но из-за использования специализированных команд процессора (VT-x у процессоров Intel, SVM у АMD) он может изолироваться от ядра с сохранением контроля над ним и приложениями. Поэтому некоторые иногда применяют термин «кольцо -1».

Четыре базовых типа процессов пользовательского режима:

  • Пользовательские процессы. Эти процессы относятся к одному из следующих типов: 32- или 64-разрядные приложения Windows (приложения Windows Apps, работающие на базе среды Windows Runtime в Windows 8 и выше, включаются в эту категорию), 16-разрядные приложения Windows 3.1, 16-разрядные приложения MS-DOS, 32- и 64-разрядные приложения POSIX. Заметим, что 16-разрядные приложения могут выполняться только в 32-разрядных версиях Windows, а приложения POSIX в Windows 8 уже не поддерживаются. 
  • Процессы служб. В эту категорию входят процессы, являющиеся хостами для служб Windows (например, службы планировщика задач и диспетчер печати). Обычно к службам предъявляется требование независимости выполнения от входа пользователя. Многие серверные приложения Windows (например, Microsoft SQL Server и Microsoft Exchange Server) также включают компоненты, выполняемые как службы.
  • Системные процессы. Фиксированные процессы, такие как процесс входа или диспетчер сеансов, не являются службами Windows. Другими словами, они не запускаются диспетчером служб.
  • Серверные процессы подсистем среды. Такие процессы реализуют часть поддержки среды ОС, предоставляемой пользователю и программисту. Изначально в Windows NT было три подсистемы среды: Windows, POSIX и OS/2. Подсистема OS/2 включалась только до Windows 2000, подсистема POSIX в последний раз была включена в Windows XP.Ultimate- и Enterprise-выпуски клиента Windows 7. Все серверные версии Windows 2008 R2 включают поддержку расширенной подсистемы POSIX, называемой SUA (Subsystem for UNIX-based Applications). Сейчас подсистема SUA не поддерживается и уже не включается как необязательное часть в версии Windows (Windows 10 версии 1607 включает подсистему Windows для Linux — WSL, Windows Subsystem for Linux).

Обратим внимание на блок DLL подсистем под блоками Процессы служб и Пользовательские процессы. В Windows пользовательские приложения не вызывают низкоуровневые сервисные функции операционной системы напрямую. Вместо этого они проходят через одну или несколько динамических библиотек (DLL) подсистем. Их роль состоит в том, чтобы преобразовывать документированные функции в соответствующие внутренние (недокументированные) вызовы системных функций, реализованных в основном в Ntdll.dll. Преобразование может включать (а может не включать) отправку сообщения процессу, обслуживающему пользовательский процесс.

Компоненты режима ядра:

  • Исполнительная система. Она содержит базовые сервисные функции ОС: управление памятью, управление процессами и потоками, безопасность, ввод/вывод, сетевая поддержка и межпроцессные коммуникации.
  • Ядро Windows. Низкоуровневые функции ОС: планирование потоков, диспетчеризация прерываний и исключений и многопроцессорная синхронизация. Также ядро предоставляет набор функций и базовых объектов, которые используются исполнительной системой для реализации высокоуровневых конструкций.
  • Драйверы устройств. Сюда входят как драйверы физических устройств, преобразующие вызовы пользовательских функций ввода/вывода в конкретные запросы ввода/вывода к устройству, так и драйверы устройств, не относящихся к физическому оборудованию, например драйверы файловой системы или сетевые драйверы. 
  • Слой абстрагирования оборудования (HAL). Прослойка кода, изолирующее ядро, драйверы устройств и прочий исполняемый код Windows от платформенно-зависимых различий в работе оборудования, например различий между системными платами.
  • Оконная и графическая система. Реализация функций графического интерфейса (GUI), также известных как функции GDI: работа с окнами, элементы пользовательского интерфейса и графический вывод.
  • Уровень гипервизора. Включает всего-навсего один компонент: сам гипервизор. В этой среде нет ни драйверов, ни других модулей. При этом сам гипервизор состоит из нескольких внутренних уровней и служб: собственный диспетчер памяти, планировщик виртуальных процессов, управление прерываниями и таймером, функции синхронизации, разделы (экземпляры виртуальных машин) и внутрипроцессные коммуникации (IPC, Inter-Process Communication) и многие другие.

В таблице ниже представлены некоторые файлы некоторых базовых компонентов Windows:

Windows API

Windows API (Application Programming Interface) — это программный интерфейс пользовательского режима для Windows. До появления 64-разрядной версии операционной системы программный интерфейс 32-разрядных версий Windows назывался Win32 API в отличие от исходного 16-разрядного Windows API (программный интерфейс для исходных 16-разрядных версий Windows). На данный момент термин Windows API или Win32 API относят как к 32-разрядным, так и к 64-разрядным версиям.

В «доисторические времена» Windows API состоял только из функций в стиле C. Выбор языка C был обусловлен тем, что написанный на нем код также мог использоваться из других языков. Он являлся достаточно низкоуровневым для предоставления сервиса ОС. Но огромное количество функций в сочетании с недостаточной последовательностью выбора имен и отсутствием логических группировок (вроде пространств имен C++) привели к тому, что в некоторых новых API используется другой механизм — модель COM.

COM базируется на двух основных принципах. Во-первых, клиенты взаимодействуют с объектами (серверные объекты COM) через интерфейсы — четко определенные контракты с набором логически связанных методов, сгруппированных посредством механизма диспетчеризации по виртуальным таблицам. Такой же механизм, к слову, обычно применяется компиляторами C++ для реализации диспетчеризации виртуальных функций. Таким образом обеспечивается двоичная совместимость и снимаются проблемы с декорированием имен компилятором. Поэтому, такие методы могут вызываться из многих других языков и компиляторов, включая C, C++, VB, языки .NET, Delphi и т. д. Вторым принципом является динамическая загрузка компонентов (вместо статической компоновки с клиентом).

WinRT

В Windows 8 появился новый API и исполнительная среда поддержки Windows Runtime (WinRT). WinRT состоит из платформенных сервисов, предназначенных для разработчиков приложений Windows Apps (приложения Windows Apps подходят для устройств, начиная от миниатюрных IoT-устройств до телефонов, планшетов, десктопных систем, ноутбуков и даже Xbox One и Microsoft HoloLens).

С точки зрения API платформа WinRT строится на базе COM, добавляя в базовую инфраструктуру COM различные расширения. С архитектурной точки зрения она обладает намного большей целостностью: в ней реализованы иерархии пространств имен, последовательная схема назначения имен и паттерны программирования. На базовом двоичном уровне WinRT API все равно строится на основе унаследованных двоичных файлов и API Windows. Это не новый «машинный» API для системы: ситуация немного напоминает то, как .NET строится на основе традиционного Windows API. 

.NET Framework

.NET Framework является частью Windows. Он состоит из двух основных компонентов:

  • CLR (Common Language Runtime). Исполнительная среда .NET, включает JIT-компилятор для преобразования инструкций языка CIL в низкоуровневый язык машинных команд процессора, сборщик мусора, систему проверки типов, безопасность обращения к коду и т. д. Среда реализована в виде внутрипроцессного сервера COM (DLL) и использует различные средства, предоставляемые Windows API.
  • .NET Framework Class Library (FCL). Обширная подборка типов, реализующих функциональность, часто используемую в клиентских и серверных приложениях, — средства пользовательского интерфейса, поддержка сети, работа с базами данных и т. д.

На схеме представлены отношения между .NET Framework и ОС Windows:

Отношение между .NET и ОС Windows. Термин «сервер COM» обычно относится к DLL библиотеке или исполняемому файлу (EXE), в котором реализованы классы COM.

Первые
версии Windows
3.x нельзя назвать полноценными
операционными
системами, так как для их работы
обязательно было наличие
активной копии MS-DOS.
Таким образом, Windows
являлась
как бы посредником пользователя и
операционной системы, облегчая процесс
общения между ними.

В
качестве развития серии Windows
были выпущены две параллельные
ветви операционных систем с графической
оболочкой:

  • Windows
    9x/98/ME;

  • Windows
    NT/2000.

Системы,
внешне весьма схожие по интерфейсам и
предоставляемым
пользователям возможностям, коренным
образом различаются
по назначению и администрированию.
Основные отличия заключаются
в том, что предназначенная для использования
в быту и малых
офисах серия 95/98 базируется на принципе
Plug&Play подключения
новых устройств (автоматический поиск
и установка драйвера
вновь появившегося устройства) и не
требует серьезного администрирования,
в то время как серия NT
ориентирована на сетевое
использование в больших организациях
и требует точного конфигурирования
и постоянного администрирования.

При
создании Windows
9x
был реализован объектно-ориентированный
подход.
Программисты записывали последовательности
команд для выполнения тех или иных
действий над данными, которые оформлялись
в модули
и процедуры. Для работы с каждым объектом
создавалась своя
процедура.

С
точки зрения базовой архитектуры Windows
9x
— 32-разрядная, многопотоковая операционная
система с вытесняющей многозадачностью,
что ставит ее в
один ряд с такими соперниками, как OS/2,
UNIX
и Windows
NT.

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

Увеличилось
число и повысилось качество поставляемых
вместе с
Windows
9x
стандартных вспомогательных программ
— от традиционного
калькулятора и игр до мощных инструментальных
средств контроля
состояния системы.

Отличия
Windows
9x:

  1. практически
    полная 32-битная операционная система,
    что
    ускоряет
    работу многих программ по сравнению с
    16-битной операционной
    системой MS-DOS
    6.22 и операционной оболочкой Win
    dows
    3.1;

  2. удобный
    графический многооконный интерфейс
    для пользователя
    (Рабочий стол — Desktop);

  3. возможность
    создания на Рабочем столе Ярлыков и
    Папок
    важнейших
    программ для их быстрого запуска. Внутри
    Папок могут
    находиться
    другие Папки и Ярлыки, что создает
    удобство в работе;

  4. запуск
    прикладных программ и возможность
    создания Меню
    при
    нажатии кнопки Пуск (Start)
    в Панели задач;

  5. самонастраивающаяся
    система драйверов поддержки аппарат
    ной
    части компьютера (технология «Plug
    and
    Play»
    — «Подключай и
    Работай»);

  1. настоящая
    многозадачность (по сравнению с Windows
    3.1);

  2. развитые
    сетевые функции, включая Internet;

  1. большой
    выбор прикладного программного
    обеспечения и
    поддержка
    большинства 16-битных приложений;

  1. хорошая
    поддержка Multimedia;

10) ориентация
большинства современных
производителей
компьютерной техники
и программного обеспечения на Windows
9x.

Недостатки
ОС Windows
9x:

  1. высокие
    требования к аппаратной части компьютера
    (процессору,
    ОЗУ, жесткому диску);

  2. недостаточная
    устойчивость в работе, особенно у
    русскоязычных
    версий. При сбоях в работе Windows
    9x
    автоматически запускается программа
    Scandisk,
    которая, как правило, устраняет сбои
    и
    восстанавливает нормальную работу
    Windows
    9x;

при
выключении или перезагрузке компьютера
с ОС Win
dows
95 надо обязательно использовать кнопку
Пуск, Завершение
работы,
Выключить (Перезагрузить) компьютер.
Только
после этого пользователь имеет право
выключить компьютер. В
противном случае возможны сбои и потеря
важной информации!

4)
для обслуживания диска на компьютере
с ОС Windows
9x
надо использовать только собственные
средства Windows
9x
(ScanDisk
и Defrag
для Windows
9x)
или специальные утилиты. Нельзя
использовать старые утилиты, иначе
можно повредить файловую систему Windows
9x.

Функции
и состав ОС
Windows
9
x:

  • Управление
    процессами.
    В
    Windows
    9x
    процесс — это либо виртуальная машина
    MS-DOS,
    либо любое работающее приложение
    Windows.
    Каждый процесс может порождать множество
    потоков. Поток

    это последовательность команд в пределах
    процесса. Системный
    планировщик процессов (часть диспетчера
    виртуальной машины)
    управляет именно потоками.

  • Организация
    файловой системы.
    Основной
    файловой системой является
    FAT.
    Пересмотренная версия Windows
    95 OSR2
    (OEM
    Service
    Release
    2) поддерживает файловую систему FAT32,
    обеспечивающую поддержку жестких
    дисков более 2 Гбайт и более эффективное
    распределение дисковой памяти благодаря
    тому, что размер кластера
    в ней всего 4 Кбайт.

  • Поддержка
    технологии
    Plug-&-Play
    (
    PNP).
    Эта
    технология была
    разработана
    целой группой фирм — разработчиков
    аппаратного и
    программного
    обеспечения. Она предназначается для
    упрощения
    установки
    и конфигурирования новых устройств.
    Устройства, соответствующие
    данной технологии, обязаны «уметь»
    сообщать ОС о
    своем наличии и о
    требуемых для работы ресурсах. С другой
    стороны, ОС обязана уметь распознавать
    такие устройства и автоматически
    выделять требуемые ресурсы.

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

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

  • внешний вид — как
    выглядит на экране оболочка программы;

  • набор команд,
    используемый программой;

  • способ подачи
    команд и реакция программ на них.

Основным
элементом Windows
является окно. Все программы, запущенные
из-под Windows,
работают в окне. Окна,
по правилам работы с ними, разделяются
на рабочие и диалоговые.

Ярлыки
это
средство для повышения эффективности
работы,
особенно полезное в сетевой среде.
Пользователь может создать
ярлык на любой объект Windows
9x
(файл, программу, диск, утилиту
Панель управления, сетевую папку) и
поместить его в любом
месте интерфейса или внутри документа.
При активизации указателя
открывается объект, на который этот
указатель ссылается

Ярлыки
выглядят
точно так же, как и обычные иконки, за
исключением
небольшой стрелочки в нижнем левом
углу. При ярлыке указателя
сам объект, на который он ссылался,
остается неизменным.

Операционная
система Windows
NT
или New
Technology
была создана
группой разработчиков под руководством
Дэйва Катлера, являлась
наиболее законченная ОС из
всего того, что выпустили Microsoft.

Windows
NT
является 32-разрядной операционной
системой с приоритетной
многозадачностью. В качестве фундаментальных
компонент
в состав операционной системы входят
средства обеспечения
безопасности и развитый сетевой сервис.

Знакомым
в Windows
NT
является только внешний облик. За
графическим
пользовательским интерфейсом скрываются
новые мощные
возможности.

Система
Windows
NT
не является дальнейшим развитием ранее
существовавших
продуктов. Ее архитектура создавалась
заново с учетом предъявляемых
к современной операционной системе
требований.

Надежность
и отказоустойчивость
(reliability
and
robustness)
обеспечиваются
архитектурными особенностями, которые
защищают
прикладные программы от повреждения
друг другом и операционной
системой. Windows
NT
использует отказоустойчивую
структурированную
обработку особых ситуаций на всех
архитектурных уровнях,
которая включает восстанавливаемую
файловую систему NTFS
и обеспечивает защиту с помощью встроенной
системы безопасности
и усовершенствованных методов управления
памятью.

Соседние файлы в папке Лекции

  • #
  • #
  • #
  • #
  • #

From Wikibooks, open books for an open world

Windows 9x references to the Windows family, Windows 95, 98 and Me operating systems. They were set apart from the earlier Windows versions: 1.0, 20, and 3.0 by their device drivers, virtual memory management and MSDOS.SYS and MS-DOS kernel. The reign of Windows 9x ended in 2001 when the Windows NT based Windows XP was released for both home and office use.

The Windows 9x architecture was a step up in many ways from its predecessors. The GUI was redesigned, the kernel supported virtual memory and had a VFAT{virtual file allocation table} filesystem unlike its FAT16 and FAT12 filesystems before. Windows 95b was the 3rd version of 95 released and included support for FAT32. All versions of 9x supported FAT16 drive compression through Drivespace, a program originally from MS-DOS 6.22

The kernel was just a different version of the MS-DOS kernel, with added virtual memory and memory protection that was lacking in Windows 1.0+. It was of monolithic architecture, different from its successors NT 3.1+.

The registry acted as a temporary and convenient holding place for program and system data. The directories are conventionally named as follows: HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, and HKEY_PERFORMANCE_DATA. Each one of these stored specific types of data like, hardware configuration data, application data, performance data, and user data. The system can access this anytime and the current user is allowed to access and edit it also.

File names in Windows 9x were allowed to have up to 255 characters, a special feature in the VFAT filesystem. Previous versions of Windows were limited to MS-DOS style 8.3 letter filenames.

The GUI was one significantly changed in the Windows 9x series. With the start button, the toolbar and taskbar both by default on the bottom of the screen, allowing running program to be selected. There was also a new widget set (that is, a different standard look and feel to the applications) and many new fonts are available.

Обзор современных ОС Windows 9 x

Обзор современных ОС Windows 9 x

Windows 95 • Windows 95 (кодовое имя Chicago) — гибридная 16 и 32 разрядная

Windows 95 • Windows 95 (кодовое имя Chicago) — гибридная 16 и 32 разрядная графическая многозадачная ОС, выпущенная 24 августа 1995 года корпорацией Microsoft.

Защищенный режим работы процессора

Защищенный режим работы процессора

Защищенный режим работы процессора Важнейшими характеристиками такого режима являются: • наличие механизма виртуальной памяти

Защищенный режим работы процессора Важнейшими характеристиками такого режима являются: • наличие механизма виртуальной памяти • организация памяти в виде сегментов и страниц • обеспечение механизма защиты страниц памяти • 32 разрядная архитектура • поддержка виртуального 8086 режима

Модель защиты Intel • Уровни привилегий (0 3) • Для каждого сегмента (страницы) устанавливается

Модель защиты Intel • Уровни привилегий (0 3) • Для каждого сегмента (страницы) устанавливается свой уровень привилегий • Каждая задача получает уровень привилегий, равный уровню привилегий того блока памяти, в котором находится выполняемый в данный момент участок кода задачи. • Задача может получить доступ к блоку памяти, если уровень привилегий этой задачи не ниже уровня привилегий, который имеет запрашиваемый блок.

Режим ядра (уровень 0) Программное обеспечение, выполняющееся в режиме ядра: • имеет прямой доступ

Режим ядра (уровень 0) Программное обеспечение, выполняющееся в режиме ядра: • имеет прямой доступ к аппаратному обеспечению; • имеет доступ ко всей памяти компьютера; • не может быть вытеснено в страничный файл на жестком диске; • выполняется с большим приоритетом, чем процессы режима пользователя

Режим пользователя (уровень 3) Процессы режима пользователя: • Не имеют прямого доступа к аппаратуре.

Режим пользователя (уровень 3) Процессы режима пользователя: • Не имеют прямого доступа к аппаратуре. • Ограничены выделенным им адресным пространством. • Могут быть вытеснены из физической памяти в виртуальную память на жестком диске. • Выполняются с меньшим приоритетом, чем компоненты режима ядра.

Структура Уровень привилегий 3 Системная виртуальная машина Приложение Win 32 Приложение Win 16 Приложение

Структура Уровень привилегий 3 Системная виртуальная машина Приложение Win 32 Приложение Win 16 Приложение Win 32 Виртуальная машина DOS Оболочка Приложение Win 32 Уровень функций Windows API Модуль Kernel Модуль GDI Модуль User Уровень привилегий 0 Базовая система Подсистема управления файлами Сетевая система Сервис ОС Драйверы устройств Подсистема диспетчера виртуальной машины

Уровень пользователя

Уровень пользователя

Виртуальная машина • Виртуальная машина (ВМ) представляет собой программную среду, имитирующую отдельный (виртуальный) компьютер

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

Виртуальная машина • Задачи эмуляции виртуальных машин на реальном компьютере решают процессор и ОС.

Виртуальная машина • Задачи эмуляции виртуальных машин на реальном компьютере решают процессор и ОС. • Виртуальная машина включает в себя следующие компоненты: – карту памяти, которая определяет объем виртуальной памяти доступный приложению, выполняющемуся на данной ВМ (сама виртуальная память выделяется процессором); – контекст выполнения – состояние регистров виртуальной машины; – набор ресурсов, доступных приложению. • Благодаря системе виртуальных машин разработчикам ПО не приходится заботиться об использовании ресурсов компьютера другими приложениями, поскольку ресурсы различных ВМ изолированы друг от друга.

Виртуальная машина • Приложения DOS для обращения к системе используют программные прерывания DOS (int

Виртуальная машина • Приложения DOS для обращения к системе используют программные прерывания DOS (int 21 h и др. ). • Эти запросы передаются работающей в защищенном режиме подсистеме, которая реализует обслуживание системных функций (или диспетчеру файловой системы, если был запрос на обслуживание файлов системы).

Системная виртуальная машина • При запуске Windows 9 x всегда создается системная виртуальная машина

Системная виртуальная машина • При запуске Windows 9 x всегда создается системная виртуальная машина (СВМ), в среде которой выполняются приложения Win 32, а также виртуальная машина Windows 3. x, в среде которой выполняются приложения Win 16. • В пределах СВМ выделяется несколько отдельных адресных пространств – для ядра системы модулей Kernel, GDI, Users. – для каждого запущенного 32 разрядного приложения в пределах СВМ выделяется отдельное адресное пространство. – для всех 16 разрядных приложений Windows используется общее адресное пространство в пределах СВМ. – для каждого запущенного приложения DOS создается отдельная виртуальная машина DOS (ВМ DOS).

Виртуальная машина MS DOS • ВМ MS DOS настраиваются при помощи специальной скрытой ВМ,

Виртуальная машина MS DOS • ВМ MS DOS настраиваются при помощи специальной скрытой ВМ, которая создается и настраивается в соответствии с начальным состоянием среды после завершения начальной загрузки ОС и обработки инструкций в файлах CONFIG. SYS и AUTOEXEC. BAT. • Внутри скрытой ВМ содержится вся глобальная информация для среды MS DOS, которая используется в качестве начального состояния в запускаемом ВМ MS DOS. • Сама скрытая ВМ никогда не работает. • При создании новой MS DOS BM ей выделяется некоторый объем памяти и управляющие блоки, после чего в нее копируют глобальную среду скрытой ВМ, которая соответствует состоянию ПК после включения и завершения начальной загрузки.

Оболочка • Оболочка это 32 разрядное приложение Windows, обеспечивающее взаимодействие пользователя с системой.

Оболочка • Оболочка это 32 разрядное приложение Windows, обеспечивающее взаимодействие пользователя с системой.

Интерфейс прикладного программирования • Интерфейс прикладного программирования (API – Application Programming Interface) набор функций,

Интерфейс прикладного программирования • Интерфейс прикладного программирования (API – Application Programming Interface) набор функций, которые ОС предоставляет в распоряжение выполняемых приложений. • Уровень функций Windows API состоит из трех модулей Kernel, User и GDI. • Каждый из них состоит из двух частей 32 разрядной и 16 разрядной. 16 разрядный код используется для обеспечения совместимости с приложениями, разработанными для Windows 3. 1.

Модуль Kernel • Модуль Kernel поддерживает функции ОС по управлению – – – процессами,

Модуль Kernel • Модуль Kernel поддерживает функции ОС по управлению – – – процессами, памятью, файлами, консолью, сетевой системой.

Модуль GDI • Модуль GDI (Graphics Device Interface интерфейс графического устройства) реализует графические функции

Модуль GDI • Модуль GDI (Graphics Device Interface интерфейс графического устройства) реализует графические функции ОС рисование объектов, отображение шрифтов True Type, управление цветами и т. д

Модуль User • Модуль User обеспечивает организацию пользовательского ввода вывода, включая операции с клавиатурой,

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

Уровень ядра

Уровень ядра

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

Базовая система • Базовая система включает в свой состав ряд важнейших подсистем: – Подсистема управления файлами – Сетевая подсистема – Сервис операционной системы – Подсистема диспетчера ВМ – Драйверы устройств

Подсистема управления файлами • Подсистема управления файлами способна поддерживать различные файловые системы, доступ к

Подсистема управления файлами • Подсистема управления файлами способна поддерживать различные файловые системы, доступ к которым может осуществляться одновременно. • Работает в 32 разрядном режиме, при этом допускает использование драйверов устройств MS DOS, которые могут потребоваться для поддержки конкретных аппаратных устройств.

Сетевая подсистема • Сетевая подсистема представляет собой средство поддержки одноранговой сети, впервые появившееся в

Сетевая подсистема • Сетевая подсистема представляет собой средство поддержки одноранговой сети, впервые появившееся в Windows 3. 11. • Система осуществляет доступ к удаленным файлам при помощи файловой подсистемы Windows 9 x.

Сервис операционной системы • Сервис операционной системы включает в свой состав подсистему поддержки самонастраивающейся

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

Подсистема диспетчера ВМ • Подсистема диспетчера ВМ реализует все действия по управлению задачами, управлению

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

Драйверы устройств • Драйверы устройств могут быть самыми разнообразными, в том числе драйверами реального

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

Управление работой прикладных программ в операционной системе Windows 9 x

Управление работой прикладных программ в операционной системе Windows 9 x

Поддерживаемые типы приложений • ОС Windows 9 x обеспечивает работу приложений следующих типов –

Поддерживаемые типы приложений • ОС Windows 9 x обеспечивает работу приложений следующих типов – Win 32, – Win 16, – DOS приложений.

Потоки • Единицей диспетчеризации в Windows 9 x является поток (thread). • Средства Window

Потоки • Единицей диспетчеризации в Windows 9 x является поток (thread). • Средства Window 9 x предоставляют Win 32 приложениям возможность создавать несколько потоков, тогда как приложения DOS и Win 16 всегда состоят из одного потока. • Все потоки, являющиеся потомками одного процесса используют общее адресное пространство, но каждый из них имеет свой собственный приоритет и среду выполнения. • Т. е. , в течение одного кванта времени активным является только один поток, при потере активности запоминается текущее состояние потока.

Модель памяти • Приложения Win 32 используют 32 разрядную модель памяти процессора 80386 и

Модель памяти • Приложения Win 32 используют 32 разрядную модель памяти процессора 80386 и созданное для их поддержки подмножество программного интерфейса, называемой также Win 32. • Каждое приложение Win 32 использует собственное адресное пространство, недоступное другим приложениям. • Приложения Win 16 используют сегментную модель адресации и делят между собой единое адресное пространство. • Все запускаемые приложения выполняются на виртуальных машинах.

Управление процессами в WINDOWS 9 x

Управление процессами в WINDOWS 9 x

Модель многозадачности • В Windows 9 x реализована смешанная модель многозадачности. • Все приложения

Модель многозадачности • В Windows 9 x реализована смешанная модель многозадачности. • Все приложения Win 32 и DOS программы выполняются в режиме вытесняющей многозадачности, все приложения Win 16 выполняются в режиме кооперативной (невытесняющей) многозадачности в пределах системной виртуальной машины. • Так достигается совместимость со старыми приложениями, написанными для ОС Windows 3. 1 (которая использовала только механизм кооперативной многозадачности).

Обмен сообщениями • Управление процессами в Windows 9 x основано на механизме обмена сообщениями.

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

Обмен сообщениями • Windows 9 x использует асинхронную обработку сообщений, то есть поддерживает независимые

Обмен сообщениями • Windows 9 x использует асинхронную обработку сообщений, то есть поддерживает независимые очереди сообщений.

Обмен сообщениями • Для каждого Win 32 приложения и для каждого создаваемого ими потока

Обмен сообщениями • Для каждого Win 32 приложения и для каждого создаваемого ими потока используются отдельные очереди сообщений. • Приложения Win 16 имеют общую очередь сообщений. • Виртуальные машины DOS не участвуют в передаче сообщений и не создают очередей сообщений. • Ситуация с «зависанием» программы Win 16 потенциально более опасна!

ЖД Принтер Клавиатура Модем Мышь Сообщения от устройств Первичная входная очередь Приложения Система Системное

ЖД Принтер Клавиатура Модем Мышь Сообщения от устройств Первичная входная очередь Приложения Система Системное сообщение Очередь сооб щений потоков Очередь сообщений 32 разрядных приложений (основной поток) Очередь сообщений для всех 16 разрядных приложений Распределение сообщений по отдельным очередям в Windows 95.

Планирование приоритетов

Планирование приоритетов

Приоритеты • В каждый момент времени поток имеет приоритет, измеряемый целым числом от 0

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

Планировщики • В назначении приоритетов принимают участие два планировщика – первичный и вторичный (диспетчер

Планировщики • В назначении приоритетов принимают участие два планировщика – первичный и вторичный (диспетчер квантования). • Первичный планировщик вычисляет приоритеты потоков. • Вторичный планировщик определяет количество процессорного времени, выделяемое каждому потоку.

Первичный планировщик • Каждые 20 мс первичный планировщик сравнивает текущие приоритеты потоков, выбирает поток

Первичный планировщик • Каждые 20 мс первичный планировщик сравнивает текущие приоритеты потоков, выбирает поток с наивысшим приоритетом и передает ему управление. • Если потоки имеют одинаково высокие приоритеты, первичный планировщик устраивает им «карусель» (round robin) выделяя каждому поочередно равное количество времени.

Вторичный планировщик • Вторичный планировщик повышает приоритет следующего по очереди потока. • Вторичный планировщик

Вторичный планировщик • Вторичный планировщик повышает приоритет следующего по очереди потока. • Вторичный планировщик повышает или понижает приоритеты потоков по ходу дела, руководствуясь следующими правилами: – повышается приоритет потоков, находящихся в ожидании пользовательского ввода. Т. о. , система может более оперативно реагировать на действия пользователя; – если поток обладает низшим приоритетом, он начинает повышаться; – периодически повышается приоритет каждого потока, чтобы приложения с низким приоритетом не «зависали»; – если приоритет потока наивысший, он начинает понижаться.

Метод наследования приоритета • Метод наследования приоритета позволяет приложению с низким приоритетом быстро повышать

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

Метод наследования приоритета • Пример • Приложение А с низким приоритетом занимает некий ресурс,

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

Классы и уровни приоритетов • Приоритет каждого потока определяется по: – классу приоритета процесса,

Классы и уровни приоритетов • Приоритет каждого потока определяется по: – классу приоритета процесса, которому принадлежит поток; – уровню приоритета потока внутри класса приоритета его процесса. • Класс приоритета процесса и уровень приоритета потока определяют базовый приоритет потока.

Классы приоритетов • Уровни приоритетов Windows разделены на два класса: – реального времени (приоритеты

Классы приоритетов • Уровни приоритетов Windows разделены на два класса: – реального времени (приоритеты от 16 до 31) используется для выполнения основных функций ОС и обычно не применяется для приложений; – переменного приоритета (приоритет от 0 до 15) определяет процессорный приоритет приложений; приоритет 0 возможен только для бесстраничного системного потока.

Уровни приоритетов • Процессам могут быть присвоены следующие базовые уровни приоритетов: – низкий запускает

Уровни приоритетов • Процессам могут быть присвоены следующие базовые уровни приоритетов: – низкий запускает приложения с уровнем приоритета 4; – обычный запускает приложения с уровнем приоритета 7; – высокий запускает приложения с уровнем приоритета 13; – реального времени запускает приложения с уровнем приоритета 24.

СВМ 32 разрядное приложение 16 разрядное приложение Поток А Приоритет = 4 Поток С

СВМ 32 разрядное приложение 16 разрядное приложение Поток А Приоритет = 4 Поток С Приоритет = 16 Поток В Приоритет = 20 Основной диспетчер: оценивает все приоритеты потоков Поток В Поток D Диспетчер квантования: выделяет процессорное время потокам В и D MS DOS BM Поток D Приоритет = 20 MS DOS BM Поток Е Приоритет = 12

Управление памятью в WINDOWS 9 x

Управление памятью в WINDOWS 9 x

Управление памятью в WINDOWS 9 x • Windows 9 x использует плоскую 32 х

Управление памятью в WINDOWS 9 x • Windows 9 x использует плоскую 32 х разрядную модель памяти • Вся память считается одним сегментом. • Базовый адрес сегмента равен нулю, предел сегмента равен 4 Гб. • Управление памятью возложено на базовую систему.

Управление памятью в WINDOWS 9 x • Приложения Win 32 используют линейную адресацию к

Управление памятью в WINDOWS 9 x • Приложения Win 32 используют линейную адресацию к ячейкам памяти. • Часть адресного пространства размещается в оперативной памяти (физическая память), другая часть на внешнем носителе (виртуальная память). • Виртуальная память Windows 9 x организована в виде файла, который имеет имя WIN 386. SWP и называется файлом подкачки.

Системное адресное пространство (не доступно приложению) Совместно используемое адресное пространство Частное адресное пространство 4

Системное адресное пространство (не доступно приложению) Совместно используемое адресное пространство Частное адресное пространство 4 Гб 3 Гб 2 Гб

 • Первая половина адресного пространства выделяется Windows 9 x для приложения, вторая половина

• Первая половина адресного пространства выделяется Windows 9 x для приложения, вторая половина используется для нужд ОС. • Системное адресное пространство используется для отображения системных DLL в адресное пространство приложения. Обращения к DLL преобразуются в приложении в обращения к этому участку памяти. • Приложения могут запрашивать динамически выделяемую память из области совместного использования или из частного адресного пространства.

Раздел Для выявления нулевых указателей Windows 98 0 x 00000 FFF Для совместимости с

Раздел Для выявления нулевых указателей Windows 98 0 x 00000 FFF Для совместимости с программами DOS 0 x 00001000 и 16 разрядной Windows 0 x 003 FFFFF Для кода и данных пользовательского режима Для общих MMF (файлов, проецируемых в память) 0 x 00400000 0 x 7 FFFFFFF 0 x 80000000 0 x. BFFFFFFF Для кода и данных режима ядра 0 x. C 0000000 0 x. FFFF

Раздел для выявления нулевых указателей • • Этот раздел резервируется для того, чтобы программисты

Раздел для выявления нулевых указателей • • Этот раздел резервируется для того, чтобы программисты могли выявлять нулевые указатели. Любая попытка чтения или записи в память по этим адресам вызывает нарушение доступа. • • Пример int* pn. Some. Integer = (int*) malloc(sizeof(int)); *pn. Some. Integer = 5; • При нехватке памяти malloc вернет NULL. Ho код не учитывает эту возможность и при ошибке обратится к памяти по адресу 0 x 0000. А поскольку этот раздел адресного пространства заблокирован, возникнет нарушение доступа и данный процесс завершится.

Раздел для совместимости с программами DOS и 16 разрядной Windows • Этот регион размером

Раздел для совместимости с программами DOS и 16 разрядной Windows • Этот регион размером 4 Мб в адресном пространстве процесса необходим Windows 98 для поддержки совместимости с программами MS DOS и 16 разрядной Windows.

Раздел для кода и данных пользовательского режима • В этом разделе располагается закрытая (неразделяемая)

Раздел для кода и данных пользовательского режима • В этом разделе располагается закрытая (неразделяемая) часть адресного пространства процесса. • Ни один процесс не может получить доступ к данным другого процесса, размещенным в этом разделе.

Раздел для общих MMF • В этом разделе размером 1 Гб система хранит данные,

Раздел для общих MMF • В этом разделе размером 1 Гб система хранит данные, разделяемые всеми 32 разрядными процессами. • Сюда загружаются все системные DLL (Kernel 32. dll, Adv. API 32. dll, User 32. dll и GDI 32. dll), и поэтому они доступны любому 32 разрядному процессу. • Кроме того, эти DLL загружаются в каждом процессе по одному и тому же адресу памяти. • На этот раздел система также отображает все проецируемые в память я файлы.

Раздел для кода и данных режима ядра • В этот раздел помещается код операционной

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

Раздел для кода и данных режима ядра • В Windows 9 x данные, размещенные

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

В структуре PD страницы имеют четыре типа: • «абсолютно чистые» (virgin); • «испорченая» (tainted)

В структуре PD страницы имеют четыре типа: • «абсолютно чистые» (virgin); • «испорченая» (tainted) : – а) «грязной» (dirty) – если в страницу была произведена запись с момента последней ее подкачки; – б) «чистой» (clean) – если запись с момента последней подкачки не производилась.

Атрибуты защиты • PAGE_NOACCESS • PAGE_READONLY • PAGE_READWRITE

Атрибуты защиты • PAGE_NOACCESS • PAGE_READONLY • PAGE_READWRITE

Управление устройствами в WINDOWS 9 x

Управление устройствами в WINDOWS 9 x

Драйверы • Управление устройствами в Windows 9 x осуществляется при помощи драйверов устройств. •

Драйверы • Управление устройствами в Windows 9 x осуществляется при помощи драйверов устройств. • Windows 9 x поддерживает три типа драйверов: – драйверы реального режима MS DOS (*. SYS); загружаются посредством директив файла CONFIG. SYS; – 16 разрядные драйверы (*. DRV), необходимые для поддержки старых приложений; – 32 разрядные драйверы (*. VXD), использующие возможности защищенного режима.

Архитектура мини драйверов • Windows 9 x использует архитектуру мини драйверов. • Основная идея:

Архитектура мини драйверов • Windows 9 x использует архитектуру мини драйверов. • Основная идея: • Создание одного аппаратно независимого драйвера, который выполняет большинство требуемых от драйвера функций. • Этот драйвер взаимодействует с мини драйверами конкретных устройств, выполняющих аппаратно зависимые операции

Архитектура мини драйверов • В Windows 9 x роль минидрайверов играют VXD драйверы, из

Архитектура мини драйверов • В Windows 9 x роль минидрайверов играют VXD драйверы, из которых строится один файл VMM 32. VXD. • VMM 32. VXD перекомпонуется при каждом изменении конфигурации системы.

Разграничение доступа к устройствам • Задача разграничения доступа к устройствам решается методом виртуализации устройств.

Разграничение доступа к устройствам • Задача разграничения доступа к устройствам решается методом виртуализации устройств. • Приложения не взаимодействуют с устройствами напрямую, а имеют дело с некими виртуальными представлениями, которые создает для них ОС.

Разграничение доступа к устройствам • Все Windows приложения для доступа к устройствам используют функции

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

Разграничение доступа к устройствам • DOS приложения часто работают с устройствами напрямую, минуя уровни

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

Стандарт Plug and Play • Plug and Play независимый от конкретной ОС стандарт аппаратной

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

Загрузка и конфигурирование WINDOWS 9 x

Загрузка и конфигурирование WINDOWS 9 x

 • В состав Windows 9 x входит система реального режима, являющаяся по своему

• В состав Windows 9 x входит система реального режима, являющаяся по своему устройству и выполняемым функциям новой версией DOS. • Она располагается в файлах IO. SYS и COMMAND. COM, находящихся в корневом каталоге загрузочного диска. • IO. SYS совмещает в себе функции модулей IO. SYS и MSDOS. SYS ОС DOS предыдущих версий. • В силу этого, начальные этапы загрузки Windows 9 x совпадают с теми, которые выполняются при загрузке DOS. • Для настройки системы реального режима применяются текстовый файлы CONFIG. SYS, AUTOEXEC. BAT.

 • После загрузки и конфигурирования системы реального режима осуществляется запуск файла WIN. COM,

• После загрузки и конфигурирования системы реального режима осуществляется запуск файла WIN. COM, который инициализирует Window 9 x, переводит процессор в защищенный режим и активизирует основные компоненты системы. • На этом этапе также выполняются операции, производящие конфигурирование системы.

 • Для настройки приложений Win 16 используются файлы SYSTEM. INI и WIN. INI.

• Для настройки приложений Win 16 используются файлы SYSTEM. INI и WIN. INI. Эти файлы играли ключевую роль в настройке Windows 3. x. • Информация о текущей конфигурации Windows 9 x хранится в реестре.

Реестр • Реестр это древовидная иерархическая база данных. Логически он состоит из шести разделов

Реестр • Реестр это древовидная иерархическая база данных. Логически он состоит из шести разделов ключей – – – • • HKEY_CLASSES_ROOT содержит информацию, необходимую для поддержки операций Drag and Drop, данные о ярлыках и основные настройки пользовательского интерфейса HKEY_CURRENT_USERS содержит информацию о конфигурации рабочей области, сетевые установки и установки пользователя HKEY_LOCAL_MACHINE содержит данные об инсталлированных аппаратных и программных средствах, а также данные об их конфигурации HKEY_USERS содержит информацию о конфигурации рабочей области, сетевые установки и пользовательские установки всех зарегистрированных пользователей HKEY_ CURRENT_CONFIG содержит информацию о конфигурации аппаратных средств компьютера HKEY_DYN_DATA содержит информацию об инсталлированных устройствах и их текущем состоянии Физически все записи реестра размещаются в двух файлах SYSTEM. DAT и USER. DAT. Для просмотра и редактирования реестра в состав Windows 9 x входит утилита редактор реестра, содержащаяся в файле REGEDIT. EXE.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Mortal kombat komplete edition не запускается на windows 10
  • Не работает cmd windows 10
  • Amanero combo384 asio драйвер для windows
  • Rdp с андроида на windows
  • Как перенести windows server 2008 r2 на другое железо