Как устроена операционная система windows

Обновлено: 03.07.2024

Речь пойдет о Windows. Операционной системе, операционной она называется потому что в ней вы будете производить все операции с компьютером через графический интерфейс.

Замечу что первые компьютеры такого интерфейса не имели и связь между компьютером и пользователем была через команды (DOS). Это было неудобно. К тому же требовало знание текстовых команд.

Современные компьютеры избавили "юзеров" от запоминания сложных команд. Поэтому важно знать Windos и уметь ею пользоваться. Помимо Windos есть и другие "операционки", но они ориентированы на продвинутых пользователей.

Давайте коротко познакомимся с Windows (подробно пообщаемся в другой статье).

Итак, Виндовс пришла на смену MS-DOS которая была распространена в 90-х годах. Появилась Windows ещё до 90-х годов, но популярность пришла с windows 3.11 (в 93 году). После вышла популярная 95-Винда ну и пройдя все стадии обновлений дошла до windows 10.

Существуют несколько коротких тезисов которые необходимо запомнить начиная работу с этой "операционкой". 1) Под виндовс надо устанавливать драйвера. 2) Виндовс подвержена вирусам, а так же хакерским атакам. 3) Нестабильна. 4) Нуждается в регулярной чистке или переустановке системы. 5) Требует установки дополнительных программ.

Давайте разберем эти пункты.

1: С каждым компьютером вы получаете набор CD дисков, покупая новое железо (платы) вам так же дают в придачу диски. На них драйвера. Драйвер это такой механизм который объясняет системе как нужно работать с оборудованием.

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

2: Вирусы и прочие вредители типа троянских коней это распространенное явление в операционной системе. Отчасти потому что виндовс чаще других,устанавливают на компьютеры, поэтому хакеры пишут вирусы именно под "винду".

Часто простым обывателям бояться не надо, если у них нет на компьютере важной информации (пин-код от карты, личных фото или видео, прочее что может представлять ценность мошенникам). В других случаях рекомендуется устанавливать антивирус + фаерволл.

3: Нестабильность Windows уже породила не мало анекдотов и стала неотъемлемой частью этой системы. Но разработчики стараются и с каждым годом зависаний становится меньше. Хотя иногда "синий экран смерти" нет да и "всплывает".

4: В системе Виндовс есть регистр( Registry Keys ) куда "операционка" записывает все действия произведенные с системой. Так же Windows накапливает все файлы когда-либо установленные в отдельную папку (темп). Сторонние приложения в виде браузеров так же любят хранить кэш и историю посещений. Все эти манипуляцию вызывают рост обьема информации, и делают зависания и ошибки более частыми. Поэтому надо регулярно чистить реестр специальными программами, удаляя остаточные файлы.

5: Сама по себе Windows мало на что способна. Ей необходимы сторонние программы. Например для просмотра кино нужны кодаки( Codec ), для защиты от вирусов — антивирусы, для интернета — браузеры, для работы с тестами — Майкрософт Ворд. И так далее. Много программ устанавливаются после постановки на компьютер операционной системы Windows.

Статья получилась объёмной поэтому вернемся к подробному разъяснению попозже. Кому понравилось ставьте лайки. Если не трудно подпишитесь на канал. Репосты приветствуются. Ну и оставляйте комментарий если есть что добавить.

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

ВНИМАНИЕ! СТАТЬЯ НЕ ЗАКОНЧЕНА. МАТЕРИАЛЫ ДОБАВЛЯЮТСЯ ПО МЕРЕ ФОРМИРОВАНИЯ ОКОНЧАТЕЛЬНОГО ИНТЕРФЕЙСА БЛОГА.СПАСИБО ЗА ПОНИМАНИЕ.

Чем занимается операционная система?

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

Компоненты Windows, или из чего Windows состоит

Как работает Windows блочно можно отобразить так:

как работает windows

Из схемы видно, что основными компонентами любой операционной системы являются три блока:

Как работает Windows: программная оболочка = Shell

пользовательский режим шелл

А для программ шелл это команды и процедуры, которые эти программы могут вызывать: печать информацию через принтер, читать данные из баз, отображать что-то на экране.

Как работает Windows : Ядро

Ядро состоит из двух компонентов:

Что здесь нужно запомнить? Логика работы ясна уже из описания: исполнительные службы Windows работают с оборудованием при помощи самого HAL и драйверов для конкретного устройства. Такой принцип работы устанавливается незаметно для глаз пользователя в момент установки Windows на компьютер. В тот самый момент, когда мы видим строки состояния установки компонентов и служб/программ, и строится структура слоя HAL на основе процессора, который в материнской плате вашей машины установлен. То есть привычные процессы во время установки Windows предстают теперь в таком свете:

установка операционной системы Windows 7-1

загрузка шелл пользовательского интерфейса

установка операционной системы Windows 7-3

приглашение к компиляции HAL

Как работает Windows: Данные конфигурации

данные конфигурации windows

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

Как Windows управляет программами?

мультипоточность системы

Как видите, потоков может быть несколько. Это называется многопоточность/мультипоточность: например, окна браузеров могут запускаться в нескольких вкладках или нескольких отдельных окнах. Выражаясь технически, в обоих случаях речь идёт о нескольких разных процессах браузер.exe.


Несколько дней назад в сеть просочился образ ранней версии 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.


Первые продукты с названием «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 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 подошла к концу.


Следующий проект 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 на втором месте по популярности).


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


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


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

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

Архитектура

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

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


Упрощенная схема архитектуры 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).

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

  • Исполнительная система. Она содержит базовые сервисные функции ОС: управление памятью, управление процессами и потоками, безопасность, ввод/вывод, сетевая поддержка и межпроцессные коммуникации.
  • Ядро Windows. Низкоуровневые функции ОС: планирование потоков, диспетчеризация прерываний и исключений и многопроцессорная синхронизация. Также ядро предоставляет набор функций и базовых объектов, которые используются исполнительной системой для реализации высокоуровневых конструкций.
  • Драйверы устройств. Сюда входят как драйверы физических устройств, преобразующие вызовы пользовательских функций ввода/вывода в конкретные запросы ввода/вывода к устройству, так и драйверы устройств, не относящихся к физическому оборудованию, например драйверы файловой системы или сетевые драйверы.
  • Слой абстрагирования оборудования (HAL). Прослойка кода, изолирующее ядро, драйверы устройств и прочий исполняемый код Windows от платформенно-зависимых различий в работе оборудования, например различий между системными платами.
  • Оконная и графическая система. Реализация функций графического интерфейса (GUI), также известных как функции GDI: работа с окнами, элементы пользовательского интерфейса и графический вывод.
  • Уровень гипервизора. Включает всего-навсего один компонент: сам гипервизор. В этой среде нет ни драйверов, ни других модулей. При этом сам гипервизор состоит из нескольких внутренних уровней и служб: собственный диспетчер памяти, планировщик виртуальных процессов, управление прерываниями и таймером, функции синхронизации, разделы (экземпляры виртуальных машин) и внутрипроцессные коммуникации (IPC, Inter-Process Communication) и многие другие.
Имя файла Компоненты
Ntoskrnl.exe Исполнительная система и ядро
Hal.dll HAL
Win32k.sys Часть подсистемы Windows режима ядра (GUI)
Hvix64.exe (Intel), Hvax64.exe (AMD) Гипервизор
.sys в \SystemRoot\System32\Drivers Основные файлы драйверов: DirectX, Volume Manager, TCP/IP и поддержка ACPI
Ntdll.dll Внутренние вспомогательные функции и заглушки диспетчеризации системных сервисных функций
Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll Dll основных подсистем 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.

WinRT

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

История Windows

Раньше, чтобы добиться ответа от будущего поработителя человечества, приходилось вручную вводить данные в командную строку. Это неудобно и долго. Привычный «оконный интерфейс» появился в середине 80-х годов и необходимость заучивать словарик терминов отпала, команда стала передаваться парой кликов. Визуализация действий позволила параллельно выполнять несколько задач, переносить информацию из одной программы в другую, получать быстрый доступ к файлам с помощью иконок.

Первая графическая операционная система была воспринята специалистами в штыки из-за высоких требований к «железу». Для работы требовался экзотический зверь – мышь. В то время хвостатый грызун не был распространен, и на вопрос: «Мыши есть?», можно было получить искренний ответ продавца-консультанта: «Травим».


Начало начал

Графический интерфейс придумал Даг Энгельбарт в 60-х годах. В 1973 команда Xerox создала корпоративный инструмент WIMP – окна, иконки, меню, указатели для компьютеров собственной разработки PERQ и STAR.

Вычислительные машины долгое время считались специализированным инструментом военных, ученых, инженеров. Для элементарных математических расчетов требовалось выучить компьютерную грамоту. Рядовые пользователи не могли представить, зачем им этот дорогой аппарат. С появлением графического интерфейса все изменилось. Звуки, картинки и главное – игры, превратили ЭВМ в мультимедийный развлекательный центр.

Почему окна?

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

Повелители окон

История оконной гегемонии началась в 1975, когда Билл Гейтс и Пол Аллен основали корпорацию Microsoft.


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

В довесок к окнам яблочники давали увесистую Lisa, массой в 9 «тонн» американских денег. Большинство пользователей предпочитали машины попроще. В начале 80-х в гонку вычислений вступает Белоснежка – IBM и 7 компаний-гномов: RCA, CDC, Univac, Burroughs, Honeywell, NCR, GE. Стоимость персонального компьютера падает до 500-1000$. Lisa, стоившая в 9-18 раз дороже, чуть не погубила Apple, снизив ценность акций на 30%, Джобс покинул здание.

Трудолюбивые гномы наштамповали массу компьютеров и настала пора клепать новый интерфейс – так решили в Microsoft. У компании уже был опыт разработки OS для IBM. MS-DOS – получает графическую надстройку Windows 1.

Все украдено до нас

Увидев знакомые окна в 1984 году, Джобс отправился в суд. Тяжба длилась до 1993 года, и закончилась в пользу Билла. По одной из версий, Гейтс позаимствовал интерфейс во время разработки софта для Macintosh, по другой – это самостоятельная разработка, которую вели с 1982 года.

Сам Стив Джобс обзавелся окошками во время визита в исследовательский центр Xerox в Пало-Альто. Стащив дискету со стола инженера, он убегал, сверкая пятками (но это не точно). Компания Apple щедро отсыпала своих акций Xerox, чтобы предотвратить судебные тяжбы.

Факт: первое название Windows – Interface Manager. «Окна» появились благодаря маркетинговому отделу компании.

Причина популярности окошек – отсутствие альтернативы в принципе. Продукт, разработанный Xerox, доведенный до ума Apple и MicroSoft, завоевывал доверие, постепенно приручая восприятие людей к оконному мышлению. Microsoft обязан своей популярности двум провальным проектам Стива Джобса и высокому спросу на персональные компьютеры.

Оконная история

Первенец, родившийся 10 ноября 1983 года, был наречен Windows 1. За цветастым кафтаном графического интерфейса, спряталась морально устаревшая MS-DOS. Черный экран, отражающий лысину программиста, уступил место окнам. Стоимость – 100$, продано 500 000 копий, основной конкурент – Apple Lisa 1983 года рождения.

Появившийся 22 мая 1990 года Windows 3 – стал окном в Интернет. С версии 3.1 используется протокол TCP IP. Малыш получился довольно цветастым, – к тому же со славянской примесью. Пока американских ученых и студентов радовали 256 оттенков, граждане СССР рассматривали зарубежные витражи с кириллическими буковками – добавилась поддержка русского языка.

Дедушка MS-DOS сделал свое дело, родив 3-х сыновей, больше его услуги не требовались. 27 июля 1993 года свершилось долгожданное событие, на свет явилась Windows NT – операционная система нового поколения, мать-прародительница всех последующих OS, которая изначально разрабатывалась для серверов.

На дворе 24 августа 1995 года. Windows 95 – первая полноценная OS для домашнего использования. Лихой хакер играет в косынку, слушает wav-мелодию и пялится 15 минут на медленно прорисовывающуюся картинку в браузере Internet Explorer.


Многозадачность пошла в массы. Интерфейс стал удобным и симпатичным. Появилась кнопка «Start», 65 000 цветов. Продано 40 миллионов копий по 210$, совет директоров Apple льет крокодильи слезы.

Windows 98 – 21 июня 1998 выходит естественное продолжение Windows 95 c улучшенным USB, поддержкой HDD большого объема, предустановленным ПО: обновленный Explorer и Outlook Express. За 7 дней реализовано полмиллиона дисков ценой в 110$.

17 февраля 2000 года появился Millennium, получивший народное прозвище «Линолеум». Выкидыш стимулировал народное творчество, старина Билли узнал о себе много нового. Gif-ки с изображающим головы главы корпорации демонстрировали широту фантазии оконных адептов. Windows ME по сути был Windows 98 с новой красивой шкуркой, аудио-видеоплеером и огромным количеством багов.

«Чупакабру» не смог спасти даже мизерный ценник в 60$. Забив на провальный проект, Microsoft выпускает новую OS – легендарную Windows XP. Система по сей день пользуется популярностью за стабильность, не требовательность к ресурсам, лаконичный графический интерфейс. С 15 августа 2019 года она считается совершеннолетней. По информации от NetmarketshareXP установлена на 12% всех ноутбуков на планете. Ценник – 85$.

30 ноября 2006 года выходит Windows Vista – сестра Линолеума по несчастью. Красивая и яркая особа оказалась слишком требовательна к кормовой базе. Почувствовав неладное, пользователи спешно мигрировали обратно на XP. Из новинок: защита от вирусов, идентифицирующая пользователей, как врагов. Красивая Aero, превращающая Pentium IV в дрова. Ценник 200-400$.


Счастливая 7-ка вышла 22 октября 2009 года, и стала самой популярной операционной системой в первом десятилетии 21 века, установлена на 55,7% ПК по данным Netmarketshare. Быстрая, производительная, с симпатичным интерфейсом, она сочетала в себе брутальный характер XP и красоту Висты. Стоимость на момент релиза 160-320$.

В октябре 2012 года появилсяWindows 8, подтвердив теорию – корпорация выпускает нормальный продукт через один. Многим не понравился плиточный интерфейс, к тому же OS бесконечно быстро пожирала оперативную память. С другой стороны, система работала стабильно и быстро загружалась. Попытка создать универсальный продукт для планшетов, компьютеров и телефонов вышла третьим по счету комочком.

29 июля в 2015 году появляется Windows 10, работающая на всех платформах. Возвращена привычная кнопка пуска. В меню добавляется Microsoft Edge, Streaming Xbox One, Microsoft Store. Цена - 199$.

Apple был первым, но не смог. Семейство Windows за 30 лет захватило дисковое пространство 90% ПК и 30% серверов, установив свою гегемонию. Агенты: Paint, Word, Блокнот, Сапер, Косынка и Пасьянс – поработили разум и души миллиардов пользователей, став легендарными.

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

Из курсов по теории ОС (см., например, [ Карпов ] , [ Столлингс ] ) известно, что операционная система является базисной системной программой. Обычно аппаратно- программное обеспечение типовой вычислительной системы представляют в виде набора слоев ( рис. 1.1), при этом операционной системе соответствует слой между оборудованием компьютера и остальным программным обеспечением. Такое расположение позволяет ОС обеспечивать возможность рационального использования оборудования компьютера удобным для пользователя образом путем создания среды для функционирования и разработки прикладных программ.

Слои программного обеспечения компьютерной системы


Рис. 1.1. Слои программного обеспечения компьютерной системы

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

Альтернативный взгляд на ОС дает представление об ОС как о менеджере ресурсов, который осуществляет упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами.

Краткая история создания ОС Windows

Первая версия описываемого ряда операционных систем - ОС Windows NT появилась в 1993 г. Краткий исторический экскурс позволяет объяснить ряд ее особенностей и отличительных черт.

Наиболее важные моменты эволюции операционных систем

Известно ( [ Карпов ] ), что операционные системы приобрели современный облик в период развития третьего поколения вычислительных машин, то есть с середины 60-х до 1980 года. В это время существенное повышение эффективности использования процессора было достигнуто за счет реализации многозадачности, в том числе вытесняющей ( preemptive ) многозадачности. Для поддержки псевдопараллельной работы нескольких программ и асинхронного режима работы внешних устройств в составе вычислительных систем были реализованы следующие программно-аппаратные новшества и подсистемы:

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

К этому же периоду эволюции относится идея создания семейств программно совместимых машин различной архитектуры, работающих под управлением одной и той же операционной системы. Прошедший первую апробацию на IBM-360 данный процесс имеет результатом привычную на сегодня картину работы ОС Windows или Linux на компьютерах самой разной архитектуры.

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

В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем.

Онтогенез повторяет филогенез

В книге Таненбаума справедливо отмечено, что развитие операционных систем иллюстрирует известное из биологии правило "Онтогенез повторяет филогенез" - то есть развитие зародыша (онтогенез) повторяет эволюцию видов. Соответственно, каждый новый вид компьютера (мэйнфрейм, мини-компьютер, персональный компьютер, встроенный компьютер, смарт-карта и т.д.) проходит через одни и те же стадии развития. По мере совершенствования архитектуры, программирование на ассемблере сменяется программированием на языках высокого уровня. Затем компьютер обрастает дополнительным оборудованием, средствами поддержки многозадачности, простые операционные системы заменяются все более сложными. Попутно появляются централизованные файловые системы, виртуальная память и другие атрибуты полноценных операционных систем. Такой взгляд на эволюцию компьютерных архитектур имеет известную предсказательную силу. В частности, можно считать, что операционные системы Microsoft, начиная от MS-DOS и кончая современными версиями Windows, развивались по схожему сценарию.

Архитектурные особенности операционных систем.

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

Реализация модели клиент-сервер в рамках микроядерной архитектуры


Рис. 1.2. Реализация модели клиент-сервер в рамках микроядерной архитектуры

Создание ОС Windows

Как уже отмечалось, эволюция операционных систем Microsoft является хорошей иллюстрацией тезиса о повторении онтогенезом филогенеза.

Операционные системы корпорации Microsoft можно условно разделить на три группы:

  • MS-DOS и MS-DOS+Windows 3.1,
  • так называемые потребительские ( consumer ) версии Windows (Windows 95/98/Me)
  • и предмет данного курса - линия ОС, ведущих свое начало от Windows NT (Windows NT/2000/XP/Vista).

Однозадачная 16-разрядная ОС MS-DOS была выпущена в начале 80-х годов и затем широко применялась на компьютерах с процессором x86. Вначале MS-DOS была довольно примитивна (деградация ОС), ее оболочка занималась, главным образом, обработкой командной строки, но в последующие версии было внесено много улучшений, заимствованных, главным образом, из ОС Unix. Затем под влиянием успехов дружественного графического интерфейса корпорации Apple для компьютеров Macintosh была разработана система Windows. Особенно широкое распространение получили версии Windows 3.0, 3.1 и 3.11. Первоначально это была не самостоятельная ОС, а скорее многозадачная (с невытесняющей многозадачностью) графическая оболочка MS-DOS, которая контролировала компьютер и файловую систему.

В 1995 г. была выпущена 32-разрядная ОС Windows 95, где была реализована вытесняющая многозадачность. ОС Windows 95 включала большой объем 16-разрядного кода, главным образом для обеспечения преемственности с приложениями MS-DOS. 16-разрядный код присутствовал и в последующих версиях этой серии Windows 98 и Windows Me. Другой проблемой данной версии Windows, во многом обусловленной той же причиной, была нереентерабельность существенной части кода ядра. Так, если один из потоков был занят модификацией данных в ядре, другой поток, чтобы не получить эти данные в противоречивом состоянии, вынужден был ждать, то есть не мог воспользоваться системными сервисами . Это, зачастую, сводило на нет преимущества многозадачности.

ОС Windows NT (New Technology) - новая 32-разрядная ОС, совместимая с предшествующими версиями Windows по интерфейсу. Работу над созданием системы возглавил Дэвид Катлер, один из ключевых разработчиков ОС VAX VMS . Ряд идей системы VMS присутствует в NT (см рис. 1.3). Заметна преемственность в системе управления большим адресным пространством и резидентным множеством процесса, в системе приоритетов обычных процессов и процессов реального времени, в средствах синхронизации и т.д. Вместе с тем Windows NT - это совершенно новый амбициозный проект разработки системы с учетом новейших достижений в области архитектуры микроядра. Первая версия, названная Windows NT 3.1 для соответствия популярной Windows 3.1, была выпущена в 1993 г. Коммерческого успеха добилась версия Windows NT 4.0, заимствовавшая графический интерфейс Windows 95. В начале 1999 г. была выпущена Windows NT 5.0, переименованная в Windows 2000. Следующая версия этой ОС данной серии - Windows XP появилась в 2001 г., а Windows Server 2003 - в 2003 г. В настоящее время выпущена Windows Vista, ранее известная под кодовым именем Longhorn, - новая версия Windows, продолжающая линейку Windows NT.

Сравнение архитектур ОС Windows и VAX/VMS


увеличить изображение
Рис. 1.3. Сравнение архитектур ОС Windows и VAX/VMS

Объем исходных текстов ядра ОС Windows неизвестен. По некоторым оценкам, объем ядра Windows NT 3.5 составляет приблизительно 10Мб, а с каждой новой версией ОС Windows этот объем неуклонно увеличивается в полтора-два раза.

Возможности системы

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

  • является истинно 32-разрядной, поддерживает вытесняющую многозадачность;
  • работает на разных аппаратных архитектурах и обладает способностью к сравнительно легкому переносу на новые аппаратные архитектуры;
  • поддерживает работу с виртуальной памятью;
  • является полностью реентерабельной;
  • хорошо масштабируется в системах с симметричной мультипроцессорной обработкой;
  • является распределенной вычислительной платформой, способной выступать в роли как клиента сети, так и сервера;
  • защищена как от внутренних сбоев, так и от внешних деструктивных действий. У приложений нет возможности нарушить работу операционной системы или других приложений;
  • совместима, то есть, ее пользовательский интерфейс и API совместимы с предыдущими версиями Windows и MS-DOS. Она также умеет взаимодействовать с другими системами вроде UNIX, OS/2 и NetWare;
  • обладает высокой производительностью независимо от аппаратной платформы;
  • обеспечивает простоту адаптации к глобальному рынку за счет поддержки Unicode;
  • поддерживает многопоточность и объектную модель.

Успешность реализации этих требований будет продемонстрирована по мере изучения деталей ОС Windows. В рамках курса будут введены и впоследствии уточнены и детализированы различные понятия и термины.. Некоторые из них приведены в приложении.

Читайте также: