На какие фазы условно можно разделить работу ос windows

Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.

Содержание

  1. О работе ПК ч.3: От включения до полной загрузки Windows 10
  2. Старт системы
  3. Поиск загрузчика ОС
  4. Запуск на UEFI
  5. Инициализация ядра
  6. Запуск подсистем – SMSS, CSRSS, WinInit
  7. Где здесь клавиатура?
  8. Пару слов о USB
  9. Структура ОС Windows XP

О работе ПК ч.3: От включения до полной загрузки Windows 10

Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.

Старт системы

Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.

image loader

Контакты на материнке для подключения кнопки включения, светодиодов состояния Power, жёсткого диска и динамиков.

image loader

Плата ноутбука с кнопкой включения и светодиодом состояния

Прикладная иллюстрация как блок питания получает сигнал от материнки на включение. Если вы задумаете установить мощную видеокарту (Nvidia 2070 S) на офисный ПК, то просто вставить её недостаточно, потому как она требует питание в 600W, в то время как такой ПК имеет блок на

500W. Первое что придёт в голову – купить новый блок питания на 650W с отдельной линией для видеокарты. Но и здесь будут разочарования, потому как разъёмы материнки будут не совпадать с разъёмами БП, а если его отдельно воткнуть в розетку и подключить к видюхе тоже ничего не будет – в блоке питания вентилятор не крутится и изображения нет. Так происходит, потому что БП должен получить сигнал от материнки на полное включение. Очевидное решение – новая материнка с совместимыми разъёмами, однако она стоит

$300. Есть решение проще, хоть оно и вызывает опасения пожаробезопасности. Берём скрепку, разгибаем и вставляем в зелёный (PS_ON) и один из чёрных пинов (COM). Теперь всё должно работать.

Поиск загрузчика ОС

Есть два вида прошивки материнки – BIOS (Basic Input Output System) на старых машинах и UEFI (Unified Extensible Firmware Interface) на новых. Windows 10 поддерживает обе и абстрагирует различия между ними. UEFI правильней называть ОС чем прошивкой, потому как он предлагает больше возможностей, к примеру богатый графический интерфейс вместо текстового, наличие мышки, больший объём доступной памяти, улучшенная модель безопасности и валидации файлов ОС, взаимодействие с железом через API, вместо прерываний как в BIOS.

Пример экрана монитора BIOS.

Программа BIOS хранится на отдельном чипе, подключенном к Южному мосту. Этот чип можно достать и перепрошить новой программой, по факту это просто носитель памяти, а не самостоятельный микрокомпьютер.

tpr6pxn5 z7lpltyt5j8qspnngi

Настройки BIOS (системное время, например), хранятся на другом чипе который как правило находится возле круглой батарейки, которая на самом деле является литиевым аккумулятором, подзаряжающимся во время работы ПК. Называется он CMOS, что означает Complementary Metal Oxide Semiconductor, а по-русски просто — КМОП, что есть комплементарная структура металл-оксид-полупроводник.

image loader

t84sptgyzelnge5ymtzakl0vj4e

Если всё прошло успешно, BIOS начинает процесс поиска загрузчика ОС. Для этого он начинает просматривать все подключенные к материнской плате жёсткие диски. Данные на физических дисках адресуются в единицах называемых сектор, обычно он 512 байт, однако современный стандарт – 4096 байт. Установщик Windows в самый первый сектор на диске записывает специальный программный код и данные о разделах. Этот сектор называется Master Boot Record. Диск разбивается на разделы (partitions), отформатированный своей файловой системой. Максимум 4 раздела, каждый из который может быть расширенным (extended partition), такой можно рекурсивно делить на 4 раздела и теоретически их число не ограничено. Как только BIOS находит Master Boot Record он считывает оттуда код и передаёт ему управление. Этот код поочередно просматривает данные о разделах и находит тот который помечен как активный, в нём находится код загрузчика Windows (Это не раздел с C:WindowsSystem32!), этот раздел называется system partition. Как правило он занимает 100Мб и скрыт от пользователя. В первом секторе этого раздела хранится загрузочный код, которому передаётся управление. Это volume boot sector, код в нём ищет файл Bootmgr, с которого и начинается процесс загрузки Windows. Файл Bootmgr создан через соединение в один файлов Startup.com и Bootmgr.exe.

image loader

Запуск на UEFI

Пример экрана загрузки UEFI

BIOS существует больше 30 лет и в попытках исправить его недостатки компания Intel в 1998 году создала стандарт Intel Boot Initiative, позже переименованный в EFI и в 2005 году пожертвованный организации EFI Forum. Недостатки BIOS:
• Работает только в 16-битном режиме
• Может адресовать только 1Mb оперативной памяти
• Часто имеет проблемы совместимости
• MBR ограничен только четырьмя главными разделами диска
• Диск с ОС не может быть больше чем 2.2Tb.
• Имеет очень ограниченные возможности для валидации загрузчика ОС.
На смену BIOS пришёл UEFI, по сути это миниатюрная ОС которая может работать и в 32-bit и в 64-bit. Для совместимости есть опция Compatibility Support Module, которая включается в настройках и эмулирует работу BIOS.

yku7pr2rkc5ih

Инициализация ядра

SMSS.exe отличается от пользовательских процессов, это нативный процесс и это даёт ему дополнительные полномочия. SMSS.exe работает с ядром в обход Windows API, он использует то что называется Native API. Windows API – обёртка вокруг Native API. SMSS.exe первым делом запускает подсистему Windows (CSRSS.exe – Client Server Runtime Sub System) и заканчивает инициализацию реестра.

Процесс и потоки SMSS.exe помечены как критические, это значит что если они неожиданно завершаться, к примеру из-за ошибки, это приведёт к падению системы. Для общения с подсистемами, к примеру вызову API создающему новую сессию, SMSS создаёт ALPC-порт с именем SmApiPort. Загружаются из реестра переменные среды окружения, запускаются программы такие как Check Disk (autochk.exe, эти программы записаны в реестре HKLMSYSTEMCurrentControlSetControlSession ManagerBootExecute). SMSS.exe запускается для каждой пользовательской сессии. Глобальные переменные (очередь сообщений например) у каждой сессии своя за счёт механизма виртуальной памяти. В Windows есть контексты потока, процесса и сессии. Каждый SMSS.exe запускает свой экземпляр подсистемы, на данный момент это только CSRSS.exe (Windows), в прошлом поддерживались операционные системы OS/2 (os2ss.exe) и POSIX (psxss.exe), но эта идея была неудачной. Самый первый SMSS.exe засыпает в ожидании процесса WinInit.exe. Остальные экземпляры вместо этого создают процесс WinLogon который показывает UI для входа.

Дерево процессов выглядит следующим образом, на нём можно увидеть кто и кого создал (показаны не все процессы, может немного отличаться от последний версий Windows).

Где здесь клавиатура?

Во время запуска ядро Windows считывает из реестра информацию о контроллере системной шины, как правило это шина PCI (реже MSI), к ней подключены контроллеры портов ввода-вывода, в том числе и USB, PS/2. Информация о нём записывается во время установки Windows. Система загружает для него драйвер и рекурсивно обходит все порты так же загружая для каждого из них свой драйвер. Драйвера могут комбинироваться в узлы (driver node), к примеру драйвер клавиатуры, будет соединён с драйвером порта PS2. А вот порт USB сложнее — сначала драйвер порта, потом драйвер для работы с протоколом HID и только потом клавиатура.

Каждый порт контроллируется своим чипом, который мониторит подключение, принимает/отправляет сигналы между CPU и устройством. Если чип-сет Южный мост не встроен в CPU, как это часто делают в ноутбуках, а существует отдельным чипом на материнке, то правильней говорить: сигнал между Южным мостом и контроллером порта. Чип контроллирующий порт имеет выделенную линию с контроллером прерываний (PIC или APIC), по которой он может попросить обратить на себя внимание CPU, к примеру считать данные от клавиатуры (порт PS/2, с USB другая история). Поскольку ОС загрузила для порта драйвер, она может отдавать ему команды, читать и отправлять данные. В нашем примере был загружен драйвер из C:WindowsSystem32i8042prt.sys. Давайте вспомним предыдущую статью. В старых компьютерах с PIC на чипе Intel 8259 было 15 линий прерываний, где клавиатура была подключена к ножке IRQ1, таймер IRQ0, а мышка к IRQ12, который на самом деле был пятой ножкой второго чипа 8259, который мультиплексировал свои прерывания через ножку IRQ2 первого контроллера. В современных PIC могут быть 255 контактов для сигналов прерываний. Во время загрузки ОС программирует APIC/PIC возвращать определённое число когда скажем пришло прерывание от порта клавиатуры или USB и по этому номеру CPU находит в таблице векторов прерываний функцию которую надо выполнить. Номер прерываний определяют HAL и Plug’n’Play Manager. Контроллер прерываний ищет сигнал на своих ножках в определённом порядке, к примеру в бесконечном цикле проверяет напряжение на ножках от 1 до MAX_PIN. Этот порядок определяет приоритет, к примеру клавиатура будет замечена раньше мышки, а таймер раньше клавиатуры. Чтобы не зависеть от особенностей работы контроллеров прерываний Windows абстрагирует концепцию IRQ (Interrupt Request) в IRQL (Interrupt Request Level). Будь у контроллера прерываний хоть 15 хоть 255 линий они все будут отображены на 32 IRQL для x86 и 15 IRQL для x64 и IA64.

Механизм IRQL реализовывается на уровне софта в Hardware Abstraction Layer (HAL.dll), а не железа. В Windows системах есть драйвер шины (bus driver), который определяет наличие устройств подключенных к шинам – PCI, USB и др. и номера прерываний которые могут быть назначены каждому устройству. Драйвер шины сообщает эту информацию Plug and play manager, который уже решает какие номера прерываний назначить каждому устройству. Далее арбитр прерываний внутри PnP Mgr (PnP interrupt arbiter) устанавливает связи между IRQ и IRQL.

Так вот, драйвер клавиатуры (kbdclass.sys) получает данные от порта (USB, PS2) через прерывание и записывает их через WriteFile, компонент внутри ядра Windows просыпается, считывает их используя API ReadFile и добавляет в очередь сообщений с клавиатуры. API для работы с файлом могут использоваться для чтения данных с драйверов. С этого момента начинается обработка данных стеком ввода Windows, об этом в следующей статье.

Если у вас есть ПК с PS2 портом и вы умеете пользоваться WinDbg в режиме ядра, то можете легко найти обработчик прерываний клавиатуры напечатав команду !idt, которая выведет на экран всю таблицу векторов прерываний. Прерывание вклинивается в ход выполнения программы, слово вектор здесь подразумевает направление, направление исполнения программы. WinDbg был сделан специально для отладки Windows, самая последняя версия называется WinDbgX. Он имеет текстовый интерфейс, который отпугивает людей привыкших к Visual Studio, однако предоставляет гораздо больше возможностей, в частности исполнение скриптов. Прерывание фиолетового порта PS2 выделено красным. Функция которая его обрабатывает называется I8042KeyboardInterruptService, которая находится в файле i8042prt.sys.

image loader

Сейчас возникает вопрос, откуда у обработчика прерываний аргумент? Кто его передаёт? Ведь CPU ничего не знает о нём. Если поставите в неё breakpoint, то удивитесь ещё больше увидев несколько функций выше по стеку:

0: kd> kC
# Call Site
00 i8042prt!I8042KeyboardInterruptService
01 nt!KiCallInterruptServiceRoutine
02 nt!KiInterruptSubDispatch
03 nt!KiInterruptDispatch
04 nt!KiIdleLoop

Пару слов о USB

Ознакомление с работой порта USB потребовало бы отдельной статьи описывающей его работу и плюс описание обработки данных HID на Windows. Это очень сильно усложнило бы материал, к тому же уже есть хорошие статьи по теме, поэтому PS2 идеальный пример из-за своей простоты.

USB создавался как универсальный порт для всех устройств, будь то клавиатура, фотоаппарат, сканнер, игровой руль с педалями, принтер и пр. Вдобавок он поддерживает вложенность портов – USB материнки => монитор с USB => клавиатура с USB к которой подключена мышка, флешка и USB-hub к которому подключен жёсткий диск. Взглянув на контакты USB 2.0 вы увидите что они не заточены под передачу каких-то определённых данных, как у PS2. Их всего четыре – витая пара для передачи битов данных, плюс и минус питания.

a4pofgenbf2j5fecifpemzlqjr8

Провода кабеля USB 2.0

USB 3.0 быстрее за счёт дополнительных пяти контактов. Как видите там нету линии CLOCK для синхронизации, поэтому логика передачи данных сложнее. Слева USB 2.0 и справа USB 3.0 для сравнения.

Все данные передаются через протокол HID (Human Interface Device), который описывает форматы, порядок взаимодействия и передачи данных и всё остальное. Стандарт USB 2.0 занимает 650 страниц, документ HID Class Specification, описывающий работу устройств (мыши, клавиатуры и пр) – 97 страниц, их рекомендуется изучить если вы работаете с USB.

Первым делом подключенное устройство должно рассказать о себе, для этого оно отправляет несколько структур данных, в которых указывается ID устройства и ID производителя по которым Plug’n’Play manager может найти в реестре информацию, загрузить и соединить драйвера. USB устройства пассивны, т.е. хост должен сам с определённым интервалом проверять наличие данных. Частота опроса и размер пакета данных задаются в одном из дескрипторов устройства USB. Максимальный размер пакета – 64 байта, что для информации о нажатых клавишах более чем достаточно.

В Windows есть встроенная поддержка HID, она не такая простая как связь драйвера порта PS2 с драйвером клавиатуры, потому что драйвер HID должен уметь обрабатывать все поддерживаемые протоколом сценарии. Вне зависимости от провайдера данных — порты PS2, USB или Remote Desktop или виртуальная машина – на самом верху driver node будет находится Kbdclass, от которого ядро ОС и будет получать информацию. Уведомление о подсоединении клавиатуры будет обрабатываться через Plug’n’Play Manager, так что для ядра Windows не имеет значение какой порт или источник данных от устройства используется.

Источник

Структура ОС Windows XP

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

1. Уровень абстрагирования от оборудования (Hardware Abstraction Layer, HAL). Его задачей является отделение операционной системы от особенностей конкретных реализаций в аппаратном обеспечении компьютера, т. е. от различий в материнских платах, в модификациях процессоров, в наборах микросхем и др. Благодаря этому уровню управление подсистемами прерываний, прямого доступа к памяти, системными шинами и таймерами для ядра операционной системы является одинаковым. Уровень HAL реализован в системном файле Hal.dll.

image015

Рис. 2.20. Упрощенная структура Windows XP

2. Ядро операционной системы. Ядро содержит наиболее часто вызываемые низкоуровневые функции операционной системы: планирование и распределение ресурсов между процессами, их переключение и синхронизацию. В обязанности ядра входит также управление прерываниями и обработка ошибочных ситуаций при функционировании операционной системы. Код ядра Windows XP не разделяется на потоки, а находится только в оперативной памяти и не может быть выгружен на диск. Код ядра Windows XP находится в системном файле Ntoskrnl. exe.

3. Драйверы устройств. Драйверы представляют собой подпрограммы, транслирующие вызовы, поступившие от пользовательских программ в запросы обработки данных для конкретных устройств. Значительное число драйверов входит в состав Windows XP (они располагаются в подкаталоге Isystem32l drivers системного каталога и имеют тип файла *.sys, например, драйвер дисковой подсистемы находится в файле disk.sys), а для нестандартных периферийных устройств драйверы находятся в комплектах поставки.

4. Исполняющая подсистема (NT Executive). Модуль NT Executive состоит из микроядра и подсистем диспетчеризации управления программами с доступом к виртуальной памяти, окнам и графической подсистеме. Виртуальная память предоставляет пользовательским программам виртуальные адреса адресного пространства процессов и соответствующие физические страницы оперативной памяти компьютера. Графическая подсистема предназначена для создания оконного интерфейса, рисования элементов управления, расположенных в окнах. К исполняющей подсистеме относятся системные файлы Ntkrnlpa.exe, Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll.

Операционная система Windows XP в значительной мере использует возможности процессоров, совместимых с семейством Intel x86. В их аппаратной архитектуре предусматривается четыре уровня привилегий выполнения кода программ от 0-го наивысшего привилегированного до 4-го пользовательского режима с ограниченным набором команд процессора. Программы режима ядра операционной системы Windows XP функционируют в нулевом, защищенном и привилегированном режиме, а остальные пользовательские программы работают в менее привилегированных режимах, находясь под контролем программ режима ядра.

Недоступные в пользовательском режиме операции и приложения обращаются к системным вызовам ядра операционной системыWin32 API. В состав API входит более 250 функций, обращение к которым осуществляется при помощи системных вызовов, основанных на подпрограммах ядра операционной системы. Все вызовы Win32 API обслуживаются как системными службами NT, так и модулем NT Executive – исполняющей системы Windows XP. Модуль NT Executive представляет собой несколько программных потоков, которые выполняются в режиме ядра. Код практически всех подсистем этого модуля находится в файле ntoskrnl.exe (кроме подсистемы Win32, код которой расположен в файле win32k.sys) и уровне абстрагирования от оборудования HAL, который содержится в файле hal.dll. В модулеNT Executive сосредоточены все самые важные части операционной системы.

Микроядро отвечает за выделение памяти для приложений и распределение процессорного времени, т. е. за реализацию многозадачности. Для этого в состав микроядра входит планировщик потоков (threads scheduler), который назначает каждому из потоков один из 32 уровней приоритета. Уровень 0 зарезервирован для системы. Уровни от 1-го до 15-го назначаются исполняемым программам, а уровни от 16-го до 31-го могут назначаться только администраторами. Планировщик делит все процессорное время на кванты фиксированного размера. При этом каждый программный поток выполняется только в течение отведенного ему времени, и если по окончании кванта он не освобождает процессор, планировщик в принудительном порядке приостанавливает этот поток и меняет программное окружение процесса, настраивая его на выполнение другого потока, обладающего тем же приоритетом. Микроядро также осуществляет всю работу, связанную с обработкой программных и аппаратных прерываний.

5. Диспетчеризация управления программами. Модуль состоит из следующего набора системных программ:

· Диспетчер ввода-вывода – интегрирует добавляемые в систему драйверы устройств в операционную систему Windows XP;

· Диспетчер объектов – служит для управления всеми разделяемыми ресурсами компьютера. В момент обращения приложения к какому-либо ресурсу диспетчер объектов сопоставляет с этим ресурсом объект (например, окно) и отдает приложению дескриптор [1] (№ окна) этого объекта. Используя дескриптор, приложение

взаимодействует с объектом, совершая в его отношении различные операции. Монитор системы безопасности следит при этом за тем, чтобы с объектом выполнялись только разрешенные действия;

· Диспетчер процессов – предоставляет интерфейс, при помощи которого другие компоненты Windows NT Executive, а также приложения пользовательского режима могут манипулировать процессами и потоками. Во время работы диспетчер процессов сопоставляет с каждым процессом и потоком идентификатор процесса (PIDProcess Identifier) и идентификатор потока (TIDThret Identifier) соответственно, а также таблицу адресов и таблицу дескрипторов;

· Диспетчер виртуальной памяти – служит для управления организации подсистемы памяти, позволяет создавать таблицы адресов для процессов и следит за корректностью использования адресного пространства приложениями. Кроме того, обеспечивает возможность загрузки в оперативную память исполняемых файлов и файлов динамических библиотек. Диспетчер виртуальной памяти представляет физическую память для пользовательских приложений – каждому процессу выделяются 4 Гб виртуального адресного пространства, из которых младшие 2 Гб используются процессом, а старшие 2 Гб (общие для всех процессов) отводятся на нужды системы. Каждый процесс работает в своем изолированном адресном пространстве и «не знает» о других процессах. Процессы обмениваются данными через разделяемую память, которая может быть спроецирована на виртуальное адресное пространство нескольких процессов. Главная задача диспетчера виртуальной памяти – организация логической памяти, размер которой больше размера физической, установленной на компьютере. Это достигается благодаря тому, что страницы памяти, к которым долго не было обращений, и которые не имеют атрибута неперемещаемых, сохраняются диспетчером в файле pagefile.sys на жестком диске и удаляются из оперативной памяти, освобождая ее для других приложений. В момент, когда происходит обращение к данным, находящимся в перемещенной на винчестер странице, диспетчер виртуальной памяти копирует страницу обратно в оперативную память, затем обеспечивает доступ к ней. Этот механизм обеспечивает выделение дополнительной памяти программам, которые нуждаются в ней, и при этом следит за тем, чтобы все работающие в системе программы обладали достаточным объемом физической памяти для того, чтобы продолжать функционирование;

· Диспетчер кэша – используется для кэшированного чтения и записи и позволяет существенно ускорить работу жестких дисков и других устройств. При этом наиболее востребованные файлы дублируются диспетчером кэша в оперативной памяти компьютера, и обращение к ним обслуживается с использованием этой копии, а не оригинала, расположенного на сравнительно медленном долговременном носителе. Кэш в Windows XP является единым для всех логических дисков, вне зависимости от используемой файловой системы. Кроме того, он является динамическим, а это значит, что диспетчер управляет его размерами в зависимости от доступного объема свободной физической памяти в каждый конкретный момент;

· Диспетчеры окон и графики – выполняют все функции, связанные с пересылкой системных сообщений и отображением информации на экране.

Процесс функционирования Windows XP условно подразделяется на три фазы: процесс начальной нагрузки, штатный режим работы и завершение работы. Для загрузки Windows XP используется следующий минимальный набор файлов:

– файлы, располагающиеся в корневом каталоге загрузочного диска: Ntldr, Boot.ini, Bootsect.dos (файл необходим только при использовании мультизагрузки), Ntdetect.com;

– файлы, располагающиеся в системном подкаталоге /system32: Ntoskrnl.exe, Hal.dll, разделы реестра SYSTEM;

– файлы, располагающиеся в системном подкаталоге /system32/drivers: (необходимые драйверы устройств).

Процесс загрузки компьютера начинается с процедуры начального тестирования оборудования (POSTPower-On Self Test). Код, выполняющий POST, зашит в базовой системе ввода-вывода (BIOS) каждого компьютера, при включении питания ему передается управление. Если в процессе тестирования обнаруживаются какие-либо ошибки, то BIOS генерирует коды ошибок (POSTcodes), которые отличаются для BIOS разных производителей, и звуковые коды. Если процедура POST завершается успешно, то BIOS передает управление главной загрузочной записи (MBRMaster Boot Record) и первая «аппаратная» стадия загрузки компьютера, когда процесс зависит только от аппаратуры компьютера, завершается.

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

Если в файле boot.ini зарегистрировано более одной операционной системы, то после первичной инициализации загрузчик предоставляет пользователю возможность выбора путем вывода Ntldr приглашения о выборе операционной системы. Если выбрана операционная система Windows XP, загрузчик запускает файл Ntdetect. сот. Этот компонент считывает из CMOS-памяти системную дату и время, после чего производит поиск и распознавание аппаратных средств, подключенных в данный момент к компьютеру. Завершив работу,Ntdetect возвращает управление и собранную им информацию обратно в Ntldr. Далее загружается и инициализируется ядро операционной системы Ntoskrnl.exe и уровень абстрагирования от оборудования Hal.dll. При инициализации ядро производит ряд действий в определенной последовательности:

– инициализация диспетчера памяти;

– инициализация диспетчера объектов;

– установка системы безопасности;

– настройка драйвера файловой системы;

– загрузка и инициализация диспетчера ввода-вывода;

– загрузка системных сервисов, которые реализуют взаимодействие с пользователем.

В состав системных сервисов входят следующие модули:

Smss.exe (диспетчер сеансов) – модуль управляет другими сервисами и службами Windows; запускает: Win32 (Csrss) и некоторые системные утилиты, выполняемые на этапе загрузки; реализует графический пользовательский интерфейс и запуск процессов Csrss.exe иWinLogon.exe;

Csrss.exe – модуль предназначен для организации взаимодействия между компьютером и пользователем;

Lsass.exe – служба, запускаемая WinLogon.exe и отвечающая за безопасность системы (предоставляет возможность пользователю зарегистрироваться в системе).

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

процесс WinLogon отображает на экране фон рабочего стола и приглашение к вводу пользователем логина и пароля. Введенные данные передаются подсистеме безопасности;

– подсистема безопасности обращается к базе данных SAM (Security Accounts Manager) и проверяет, обладает ли пользователь полномочиями работы с системой.

Если пользователь является авторизированным пользователем системы, то подсистема безопасности формирует для негоидентификатор доступа, который вместе с управлением передает обратно процессу WinLogon. Процесс WinLogon посредством обращения к подсистеме Win32 создает новый процесс для пользователя и прикрепляет ему идентификатор доступа. Каждый процесс, в дальнейшем создаваемый пользователем, отмечается принадлежащим ему идентификатором доступа, поэтому доступ пользователя к ресурсам системы контролируется и отслеживается. Благодаря обязательной процедуре подключения к системе упрощается реализация механизмов: аудит системы и квоты на использование ресурсов. Пользовательский идентификатор доступа содержит идентификатор пользователя, а также идентификаторы всех групп, к которым принадлежит данный пользователь.

Если операционная система не загружается корректно, то при нажатии в процессе загрузки Windows XP клавиши F8 происходит переход в расширенное меню запуска, содержащее пункты:

Безопасный режим – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств;

Безопасный режим с загрузкой сетевых драйверов –загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств с поддержкой подключения к сети;

Безопасный режим с поддержкой командной строки – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств с загрузкой режима командной строки;

Включить протоколирование загрузки – режим позволяет записать этапы загрузки Windows XP в файл Ntbtlog. txt;

Включить режим VGA – режим, загружает драйвер стандартного монитора VGA с разрешением 640 на 480 точек на дюйм и 16 цветами;

Загрузка последней удачной конфигурации – режим, восстанавливает последнюю неиспорченную копию реестра Windows XP.

Практическая часть:

1.​ Установить Windows XP на виртуальную машину с образа, полученного от преподавателя. (название виртуальной машины должна иметь формат Windows XP Иванов Иван)

2.​ Изучить теорию по структуре ОС.

Контрольные вопросы к защите:

1.​ Каковы минимальные требования к аппаратной платформе, которые рекомендует Microsoft для установки Windows XP?

2.​ В чем преимущества файловой системы NTFS?

3.​ На какие фазы условно можно разделить работу ОС Windows?

4.​ Какие цели достигаются на уровне абстрагирования?

5.​ Что такое ядро системы?

6.​ Что такое драйвера устройств?

7.​ Что такое исполняющая система?

8.​ Что такое диспетчер ввода-вывода?

9.​ Что такое диспетчер объектов?

10.​ Что такое диспетчер процессов?

11.​ Что такое диспетчер кэша?

12.​ Опишите ряд действий выполняемых ядром при инициализации?

Источник

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

1. Уровень абстрагирования от оборудования (Hardware Abstraction Layer, HAL). Его задачей является отделение операционной системы от особенностей конкретных реализаций в аппаратном обеспечении компьютера, т. е. от различий в материнских платах, в модификациях процессоров, в наборах микросхем и др. Благодаря этому уровню управление подсистемами прерываний, прямого доступа к памяти, системными шинами и таймерами для ядра операционной системы является одинаковым. Уровень HAL реализован в системном файле Hal.dll.

на какие фазы условно можно разделить работу ос windows

Рис. 2.20. Упрощенная структура Windows XP

2. Ядро операционной системы. Ядро содержит наиболее часто вызываемые низкоуровневые функции операционной системы: планирование и распределение ресурсов между процессами, их переключение и синхронизацию. В обязанности ядра входит также управление прерываниями и обработка ошибочных ситуаций при функционировании операционной системы. Код ядра Windows XP не разделяется на потоки, а находится только в оперативной памяти и не может быть выгружен на диск. Код ядра Windows XP находится в системном файле Ntoskrnl. exe.

3. Драйверы устройств. Драйверы представляют собой подпрограммы, транслирующие вызовы, поступившие от пользовательских программ в запросы обработки данных для конкретных устройств. Значительное число драйверов входит в состав Windows XP (они располагаются в подкаталоге Isystem32l drivers системного каталога и имеют тип файла *.sys, например, драйвер дисковой подсистемы находится в файле disk.sys), а для нестандартных периферийных устройств драйверы находятся в комплектах поставки.

4. Исполняющая подсистема (NT Executive). Модуль NT Executive состоит из микроядра и подсистем диспетчеризации управления программами с доступом к виртуальной памяти, окнам и графической подсистеме. Виртуальная память предоставляет пользовательским программам виртуальные адреса адресного пространства процессов и соответствующие физические страницы оперативной памяти компьютера. Графическая подсистема предназначена для создания оконного интерфейса, рисования элементов управления, расположенных в окнах. К исполняющей подсистеме относятся системные файлы Ntkrnlpa.exe, Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll.

Операционная система Windows XP в значительной мере использует возможности процессоров, совместимых с семейством Intel x86. В их аппаратной архитектуре предусматривается четыре уровня привилегий выполнения кода программ от 0-го наивысшего привилегированного до 4-го пользовательского режима с ограниченным набором команд процессора. Программы режима ядра операционной системы Windows XP функционируют в нулевом, защищенном и привилегированном режиме, а остальные пользовательские программы работают в менее привилегированных режимах, находясь под контролем программ режима ядра.

Недоступные в пользовательском режиме операции и приложения обращаются к системным вызовам ядра операционной системыWin32 API. В состав API входит более 250 функций, обращение к которым осуществляется при помощи системных вызовов, основанных на подпрограммах ядра операционной системы. Все вызовы Win32 API обслуживаются как системными службами NT, так и модулем NT Executive – исполняющей системы Windows XP. Модуль NT Executive представляет собой несколько программных потоков, которые выполняются в режиме ядра. Код практически всех подсистем этого модуля находится в файле ntoskrnl.exe (кроме подсистемы Win32, код которой расположен в файле win32k.sys) и уровне абстрагирования от оборудования HAL, который содержится в файле hal.dll. В модулеNT Executive сосредоточены все самые важные части операционной системы.

Микроядро отвечает за выделение памяти для приложений и распределение процессорного времени, т. е. за реализацию многозадачности. Для этого в состав микроядра входит планировщик потоков (threads scheduler), который назначает каждому из потоков один из 32 уровней приоритета. Уровень 0 зарезервирован для системы. Уровни от 1-го до 15-го назначаются исполняемым программам, а уровни от 16-го до 31-го могут назначаться только администраторами. Планировщик делит все процессорное время на кванты фиксированного размера. При этом каждый программный поток выполняется только в течение отведенного ему времени, и если по окончании кванта он не освобождает процессор, планировщик в принудительном порядке приостанавливает этот поток и меняет программное окружение процесса, настраивая его на выполнение другого потока, обладающего тем же приоритетом. Микроядро также осуществляет всю работу, связанную с обработкой программных и аппаратных прерываний.

5. Диспетчеризация управления программами. Модуль состоит из следующего набора системных программ:

Диспетчер ввода-вывода – интегрирует добавляемые в систему драйверы устройств в операционную систему Windows XP;

Диспетчер объектов – служит для управления всеми разделяемыми ресурсами компьютера. В момент обращения приложения к какому-либо ресурсу диспетчер объектов сопоставляет с этим ресурсом объект (например, окно) и отдает приложению дескриптор [1] (№ окна) этого объекта. Используя дескриптор, приложение

взаимодействует с объектом, совершая в его отношении различные операции. Монитор системы безопасности следит при этом за тем, чтобы с объектом выполнялись только разрешенные действия;

Диспетчер процессов – предоставляет интерфейс, при помощи которого другие компоненты Windows NT Executive, а также приложения пользовательского режима могут манипулировать процессами и потоками. Во время работы диспетчер процессов сопоставляет с каждым процессом и потоком идентификатор процесса (PIDProcess Identifier) и идентификатор потока (TIDThret Identifier) соответственно, а также таблицу адресов и таблицу дескрипторов;

Диспетчер виртуальной памяти – служит для управления организации подсистемы памяти, позволяет создавать таблицы адресов для процессов и следит за корректностью использования адресного пространства приложениями. Кроме того, обеспечивает возможность загрузки в оперативную память исполняемых файлов и файлов динамических библиотек. Диспетчер виртуальной памяти представляет физическую память для пользовательских приложений – каждому процессу выделяются 4 Гб виртуального адресного пространства, из которых младшие 2 Гб используются процессом, а старшие 2 Гб (общие для всех процессов) отводятся на нужды системы. Каждый процесс работает в своем изолированном адресном пространстве и «не знает» о других процессах. Процессы обмениваются данными через разделяемую память, которая может быть спроецирована на виртуальное адресное пространство нескольких процессов. Главная задача диспетчера виртуальной памяти – организация логической памяти, размер которой больше размера физической, установленной на компьютере. Это достигается благодаря тому, что страницы памяти, к которым долго не было обращений, и которые не имеют атрибута неперемещаемых, сохраняются диспетчером в файле pagefile.sys на жестком диске и удаляются из оперативной памяти, освобождая ее для других приложений. В момент, когда происходит обращение к данным, находящимся в перемещенной на винчестер странице, диспетчер виртуальной памяти копирует страницу обратно в оперативную память, затем обеспечивает доступ к ней. Этот механизм обеспечивает выделение дополнительной памяти программам, которые нуждаются в ней, и при этом следит за тем, чтобы все работающие в системе программы обладали достаточным объемом физической памяти для того, чтобы продолжать функционирование;

Диспетчер кэша – используется для кэшированного чтения и записи и позволяет существенно ускорить работу жестких дисков и других устройств. При этом наиболее востребованные файлы дублируются диспетчером кэша в оперативной памяти компьютера, и обращение к ним обслуживается с использованием этой копии, а не оригинала, расположенного на сравнительно медленном долговременном носителе. Кэш в Windows XP является единым для всех логических дисков, вне зависимости от используемой файловой системы. Кроме того, он является динамическим, а это значит, что диспетчер управляет его размерами в зависимости от доступного объема свободной физической памяти в каждый конкретный момент;

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

Процесс функционирования Windows XP условно подразделяется на три фазы: процесс начальной нагрузки, штатный режим работы и завершение работы. Для загрузки Windows XP используется следующий минимальный набор файлов:

– файлы, располагающиеся в корневом каталоге загрузочного диска: Ntldr, Boot.ini, Bootsect.dos (файл необходим только при использовании мультизагрузки), Ntdetect.com;

– файлы, располагающиеся в системном подкаталоге /system32: Ntoskrnl.exe, Hal.dll, разделы реестра SYSTEM;

– файлы, располагающиеся в системном подкаталоге /system32/drivers: (необходимые драйверы устройств).

Процесс загрузки компьютера начинается с процедуры начального тестирования оборудования (POSTPower-On Self Test). Код, выполняющий POST, зашит в базовой системе ввода-вывода (BIOS) каждого компьютера, при включении питания ему передается управление. Если в процессе тестирования обнаруживаются какие-либо ошибки, то BIOS генерирует коды ошибок (POSTcodes), которые отличаются для BIOS разных производителей, и звуковые коды. Если процедура POST завершается успешно, то BIOS передает управление главной загрузочной записи (MBRMaster Boot Record) и первая «аппаратная» стадия загрузки компьютера, когда процесс зависит только от аппаратуры компьютера, завершается.

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

Если в файле boot.ini зарегистрировано более одной операционной системы, то после первичной инициализации загрузчик предоставляет пользователю возможность выбора путем вывода Ntldr приглашения о выборе операционной системы. Если выбрана операционная система Windows XP, загрузчик запускает файл Ntdetect. сот. Этот компонент считывает из CMOS-памяти системную дату и время, после чего производит поиск и распознавание аппаратных средств, подключенных в данный момент к компьютеру. Завершив работу,Ntdetect возвращает управление и собранную им информацию обратно в Ntldr. Далее загружается и инициализируется ядро операционной системы Ntoskrnl.exe и уровень абстрагирования от оборудования Hal.dll. При инициализации ядро производит ряд действий в определенной последовательности:

– инициализация диспетчера памяти;

– инициализация диспетчера объектов;

– установка системы безопасности;

– настройка драйвера файловой системы;

– загрузка и инициализация диспетчера ввода-вывода;

– загрузка системных сервисов, которые реализуют взаимодействие с пользователем.

В состав системных сервисов входят следующие модули:

Smss.exe (диспетчер сеансов) – модуль управляет другими сервисами и службами Windows; запускает: Win32 (Csrss) и некоторые системные утилиты, выполняемые на этапе загрузки; реализует графический пользовательский интерфейс и запуск процессов Csrss.exe иWinLogon.exe;

Csrss.exe – модуль предназначен для организации взаимодействия между компьютером и пользователем;

Lsass.exe – служба, запускаемая WinLogon.exe и отвечающая за безопасность системы (предоставляет возможность пользователю зарегистрироваться в системе).

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

процесс WinLogon отображает на экране фон рабочего стола и приглашение к вводу пользователем логина и пароля. Введенные данные передаются подсистеме безопасности;

– подсистема безопасности обращается к базе данных SAM (Security Accounts Manager) и проверяет, обладает ли пользователь полномочиями работы с системой.

Если пользователь является авторизированным пользователем системы, то подсистема безопасности формирует для негоидентификатор доступа, который вместе с управлением передает обратно процессу WinLogon. Процесс WinLogon посредством обращения к подсистеме Win32 создает новый процесс для пользователя и прикрепляет ему идентификатор доступа. Каждый процесс, в дальнейшем создаваемый пользователем, отмечается принадлежащим ему идентификатором доступа, поэтому доступ пользователя к ресурсам системы контролируется и отслеживается. Благодаря обязательной процедуре подключения к системе упрощается реализация механизмов: аудит системы и квоты на использование ресурсов. Пользовательский идентификатор доступа содержит идентификатор пользователя, а также идентификаторы всех групп, к которым принадлежит данный пользователь.

Если операционная система не загружается корректно, то при нажатии в процессе загрузки Windows XP клавиши F8 происходит переход в расширенное меню запуска, содержащее пункты:

Безопасный режим – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств;

Безопасный режим с загрузкой сетевых драйверов –загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств с поддержкой подключения к сети;

Безопасный режим с поддержкой командной строки – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств с загрузкой режима командной строки;

Включить протоколирование загрузки – режим позволяет записать этапы загрузки Windows XP в файл Ntbtlog. txt;

Включить режим VGA – режим, загружает драйвер стандартного монитора VGA с разрешением 640 на 480 точек на дюйм и 16 цветами;

Загрузка последней удачной конфигурации – режим, восстанавливает последнюю неиспорченную копию реестра Windows XP.

Контрольные вопросы к защите:

1. Каковы минимальные требования к аппаратной платформе, которые рекомендует Microsoft для установки Windows XP?

2. В чем преимущества файловой системы NTFS?

3. На какие фазы условно можно разделить работу ОС Windows?

4. Какие цели достигаются на уровне абстрагирования?

5. Что такое ядро системы?

6. Что такое драйвера устройств?

7. Что такое исполняющая система?

8. Что такое диспетчер ввода-вывода?

9. Что такое диспетчер объектов?

10. Что такое диспетчер процессов?

11. Что такое диспетчер кэша?

12. Опишите ряд действий выполняемых ядром при инициализации?

Источник

Создание ОС Windows. Структура ОС Windows

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

на какие фазы условно можно разделить работу ос windows

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

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

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

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

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

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

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

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

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

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

на какие фазы условно можно разделить работу ос windows

Создание ОС Windows

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

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

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

на какие фазы условно можно разделить работу ос windows

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

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

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

Источник

Создание ОС Windows. Структура ОС Windows

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

на какие фазы условно можно разделить работу ос windows

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

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

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

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

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

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

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

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

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

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

на какие фазы условно можно разделить работу ос windows

Создание ОС Windows

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

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

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

на какие фазы условно можно разделить работу ос windows

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

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

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

Источник

Слайд 1

Государственное бюджетное профессиональное образовательное учреждение Воронежской области «Острогожский многопрофильный техникум» Открытый урок по дисциплине «Операционные системы» Преподаватель: Агошкова Ю.В . Острогожск 2020

Слайд 2

Вставьте пропущенные компоненты Упрощенная структура Windows XP

Слайд 3

Что такое инсталляция? Установка программного обеспечения , инсталляция — процесс установки программного обеспечения на компьютер конечного пользователя.

Слайд 4

Какие существуют основные методы инсталляции? И нсталляция с CD И нсталляция по сети инсталляция с Flash накопителя

Слайд 5

В чем преимущества файловой системы NTFS? NTFS обеспечивает широкий диапазон разрешений, в отличие от FAT, что дает возможность индивидуальной установки разрешений для конкретных файлов и каталогов. Это позволяет указать, какие пользователи и группы имеют доступ к файлу или папке и указать тип доступа. Встроенные средства восстановления данных; поэтому ситуации, когда пользователь должен запускать на томе NTFS программу восстановления диска, достаточно редки. Даже в случае краха системы NTFS имеет возможность автоматически восстановить непротиворечивость файловой системы, используя журнал транзакций и информацию контрольных точек. Реализованная в виде структуры папок файловой системы NTFS позволяет существенно ускорить доступ к файлам в папках большого объема по сравнению со скоростью доступа к папкам такого же объема на томах FAT. NTFS позволяет осуществлять сжатие отдельных папок и файлов, можно читать сжатые файлы и писать в них без необходимости вызова программы, производящей декомпрессию.

Слайд 6

На какие фазы условно можно разделить работу ОС Windows ? Можно разделить работу ОС Windows на три фазы: процесс начальной нагрузки; ш татный; режим работы и завершение работы;

Слайд 7

Какие цели достигаются на уровне абстрагирования ? Уровень абстрагирования от оборудования( Hardware Abstraction Layer , HAL). Его задачей является отделение операционной системы от особенностей конкретных реализаций в аппаратном обеспечении компьютера, т. е. от различий в материнских платах, в модификациях процессоров, в наборах микросхем и др. Благодаря этому уровню управление подсистемами прерываний, прямого доступа к памяти, системными шинами и таймерами для ядра операционной системы является одинаковым.

Слайд 8

Вставьте пропущенные слова Ядро подпрограммы, транслирующие вызовы, поступившие от пользовательских программ в запросы обработки данных для конкретных устройств. содержит наиболее часто вызываемые низкоуровневые функции операционной системы: планирование и распределение ресурсов между процессами, их переключение и синхронизацию. Модуль NT Executive состоит из ……… и подсистем диспетчеризации управления программами с доступом к виртуальной памяти, окнам и графической подсистеме. Драйверы Микроядра

Слайд 9

Найдите ошибку в определении Микроядро не отвечает за выделение памяти для приложений и распределение процессорного времени. NTFS лучше всего подходит для работы с маленькими дисками. Большими Отвечает

Слайд 10

Процесс функционирования Windows XP условно подразделяется на три фазы: процесс начальной нагрузки, штатный режим работы и завершение работы. Для загрузки Windows XP используется следующий минимальный набор файлов: файлы, располагающиеся в корневом каталоге загрузочного диска. файлы, располагающиеся в системном подкаталоге / system32 : разделы реестра SYSTEM ; файлы, располагающиеся в системном подкаталоге / system32 / drivers : (необходимые драйверы устройств).

Слайд 11

При инициализации ядро производит ряд действий в определенной последовательности: инициализация диспетчера памяти; инициализация диспетчера объектов; установка системы безопасности; настройка драйвера файловой системы; загрузка и инициализация диспетчера ввода-вывода; загрузка системных сервисов, которые реализуют взаимодействие с пользователем.

Слайд 12

ЕСЛИ ОПЕРАЦИОННАЯ СИСТЕМА НЕ ЗАГРУЖАЕТСЯ КОРРЕКТНО, ТО ПРИ НАЖАТИИ КЛАВИШИ F 8 ЧТО БУДЕТ ПРОИСХОДИТЬ И КАКИЕ ПУНКТЫ БУДУТ НАХОДИТСЯ В РАСШИРЕНОМ МЕНЮ Безопасный режим – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств ; Безопасный режим с загрузкой сетевых драйверов – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств с поддержкой подключения к сети; Безопасный режим с поддержкой командной строки – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств с загрузкой режима командной строки; Включить протоколирование загрузки – режим позволяет записать этапы загрузки Windows XP Включить режим VGA – режим, загружает драйвер стандартного монитора VGA с разрешением 640 на 480 точек на дюйм и 16 цветами; Загрузка последней удачной конфигурации – режим, восстанавливает последнюю неиспорченную копию реестра Windows XP .

Слайд 13

Структура Windows XP

Слайд 15

Тема: «Сравнительные характеристики операционных систем»

Слайд 16

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

Слайд 17

Цели нашего урока: Воспитательные: прививать интерес к дисциплине и будущей специальности; совершенствовать навыки общения, формировать ответственность за свою деятельность и работу группы содействовать повышению уровня мотивации на занятии через применение приема групповой работы.

Слайд 18

ФОРМИРОВАНИЕ ОБЩИХ КОМПЕТЕНЦИЙ, КОТОРЫЕ ПОМОГУТ ПОНИМАТЬ СУЩНОСТЬ И ЗНАЧИМОСТЬ ВАШЕЙ БУДУЩЕЙ ПРОФЕССИИ, ПРОЯВЛЯТЬ К НЕЙ УСТОЙЧИВЫЙ ИНТЕРЕС ОК 1. Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес. ОК 2. Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество. ПК 1.3. Выполнять отладку программных модулей с использованием специализированных программных средств. ПК 3.2. Выполнять интеграцию модулей в программную систему. ПК 3.3. Выполнять отладку программного продукта с использованием специализированных программных средств.

Слайд 19

План нашего урока: Изучить особенности различных операционных систем. Систематизировать информацию о сфере применения операционных систем. Научиться делать выводы и месте применения конкретной операционной системы.

Слайд 20

Каждый студент в группе получит индивидуальную дидактическую карточку, материал которой отличен от материала карточки другого члена группы. На это вам 3 минуты. После чего студенты с одинаковыми карточками объединяются в группу для обсуждения. У всех членов группы одинаковые материалы это наша («ВСТРЕЧА ЭКСПЕРТОВ»). После чего вы обсуждаете материал и работаете в микро группах , заполняете таблицу . На это у вас 5 минут

Слайд 21

Критерии оценки ОС

Слайд 22

Выбор операционных систем для конкретных пользователей Категория пользователей: Выбор ОС по мнению аналитиков Домашний компьютер для непродвинутого пользователя Ubuntu , WindowsXP Домашний компьютер для профессионала Gentoo Домашний ноутбук, нетбук Windows XP ПК для небольшой организации Ubuntu , Windows XP , Gentoo ПК для крупной корпорации Windows 7, Ubuntu ПК для крупной корпорации, использующей специальное ПО Windows 7

Слайд 23

Задание на дом Повторение и закрепление изученного материала с использованием конспекта лекции, учебника: Задание на дом: Повторение и закрепление материала с использованием конспекта учебника,1.Операционные системы, среды и оболочки Партыка Т.Л., Попов И.И.М.: ФОРУМ:ИНФРА-М, 2018. – 560 — с.- с. 240-245

Слайд 24

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

Слайд 25

Спасибо за работу, до новых встреч!

Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.

Старт системы

Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.

Контакты на материнке для подключения кнопки включения, светодиодов состояния Power, жёсткого диска и динамиков.

Плата ноутбука с кнопкой включения и светодиодом состояния

Cистемный контроллер обладает огромными полномочиями – включать и выключать компьютер, исполнять код в режиме ядра. Помимо него могут быть и другие чипы со сравнимыми возможностями, такие как Intel Management Engine или AMD Secure Technology (часть CPU), которые так же работают когда компьютер «выключен». Чип с Intel ME имеет в себе x86 CPU с операционной системой MINIX 3. Что он может делать:

  1. Включать и выключать компьютер, т.е. выполнять программы имея доступ ко всей вычислительной мощности, периферии машины и сети.
  2. Обходить ограничения файервола.
  3. Видеть все данные в CPU и RAM, что даёт доступ к запароленным файлам.
  4. Красть ключи шифрования и получать доступ к паролям
  5. Логировать нажатия клавиш и движения мыши
  6. Видеть что отображается на экране
  7. Вредоносный код в Intel ME не может быть детектирован антивирусом, потому как на такой низкий уровень он добраться не может
  8. И конечно же скрытно отправлять данные по сети используя свой стек для работы с сетью.

Это вызывает серьёзные вопросы безопасности, потому как он может быть хакнут или использовать в шпионских целях.

Прикладная иллюстрация как блок питания получает сигнал от материнки на включение. Если вы задумаете установить мощную видеокарту (Nvidia 2070 S) на офисный ПК, то просто вставить её недостаточно, потому как она требует питание в 600W, в то время как такой ПК имеет блок на ~500W. Первое что придёт в голову – купить новый блок питания на 650W с отдельной линией для видеокарты. Но и здесь будут разочарования, потому как разъёмы материнки будут не совпадать с разъёмами БП, а если его отдельно воткнуть в розетку и подключить к видюхе тоже ничего не будет – в блоке питания вентилятор не крутится и изображения нет. Так происходит, потому что БП должен получить сигнал от материнки на полное включение. Очевидное решение – новая материнка с совместимыми разъёмами, однако она стоит ~$300. Есть решение проще, хоть оно и вызывает опасения пожаробезопасности. Берём скрепку, разгибаем и вставляем в зелёный (PS_ON) и один из чёрных пинов (COM). Теперь всё должно работать.

Поиск загрузчика ОС

Есть два вида прошивки материнки – BIOS (Basic Input Output System) на старых машинах и UEFI (Unified Extensible Firmware Interface) на новых. Windows 10 поддерживает обе и абстрагирует различия между ними. UEFI правильней называть ОС чем прошивкой, потому как он предлагает больше возможностей, к примеру богатый графический интерфейс вместо текстового, наличие мышки, больший объём доступной памяти, улучшенная модель безопасности и валидации файлов ОС, взаимодействие с железом через API, вместо прерываний как в BIOS.

Пример экрана монитора BIOS.

Программа BIOS хранится на отдельном чипе, подключенном к Южному мосту. Этот чип можно достать и перепрошить новой программой, по факту это просто носитель памяти, а не самостоятельный микрокомпьютер.

Настройки BIOS (системное время, например), хранятся на другом чипе который как правило находится возле круглой батарейки, которая на самом деле является литиевым аккумулятором, подзаряжающимся во время работы ПК. Называется он CMOS, что означает Complementary Metal Oxide Semiconductor, а по-русски просто — КМОП, что есть комплементарная структура металл-оксид-полупроводник.

Первым делом программа BIOS выполняет проверку подсистем, эта процедура называется POST – Power On Self Test. Тест может быть сокращённый либо полный, это задаётся в настройках BIOS. Процитирую Википедию, что в себя включают эти тесты:
Сокращённый тест включает:

  1. Проверку целостности программ BIOS в ПЗУ, используя контрольную сумму.
  2. Обнаружение и инициализацию основных контроллеров, системных шин и подключённых устройств (графического адаптера, контроллеров дисководов и т. п.), а также выполнение программ, входящих в BIOS устройств и обеспечивающих их самоинициализацию.
  3. Определение размера оперативной памяти и тестирования первого сегмента (64 килобайт).

Полный регламент работы POST:

  1. Проверка всех регистров процессора;
  2. Проверка контрольной суммы ПЗУ;
  3. Проверка системного таймера и порта звуковой сигнализации (для IBM PC — ИМС i8253 или аналог);
  4. Тест контроллера прямого доступа к памяти;
  5. Тест регенератора оперативной памяти;
  6. Тест нижней области ОЗУ для проецирования резидентных программ в BIOS;
  7. Загрузка резидентных программ;
  8. Тест стандартного графического адаптера (VGA или PCI-E);
  9. Тест оперативной памяти;
  10. Тест основных устройств ввода (НЕ манипуляторов);
  11. Тест CMOS
  12. Тест основных портов LPT/COM;
  13. Тест накопителей на гибких магнитных дисках (НГМД);
  14. Тест накопителей на жёстких магнитных дисках (НЖМД);
  15. Самодиагностика функциональных подсистем BIOS;
  16. Передача управления загрузчику.

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

Если всё прошло успешно, BIOS начинает процесс поиска загрузчика ОС. Для этого он начинает просматривать все подключенные к материнской плате жёсткие диски. Данные на физических дисках адресуются в единицах называемых сектор, обычно он 512 байт, однако современный стандарт – 4096 байт. Установщик Windows в самый первый сектор на диске записывает специальный программный код и данные о разделах. Этот сектор называется Master Boot Record. Диск разбивается на разделы (partitions), отформатированный своей файловой системой. Максимум 4 раздела, каждый из который может быть расширенным (extended partition), такой можно рекурсивно делить на 4 раздела и теоретически их число не ограничено. Как только BIOS находит Master Boot Record он считывает оттуда код и передаёт ему управление. Этот код поочередно просматривает данные о разделах и находит тот который помечен как активный, в нём находится код загрузчика Windows (Это не раздел с C:WindowsSystem32!), этот раздел называется system partition. Как правило он занимает 100Мб и скрыт от пользователя. В первом секторе этого раздела хранится загрузочный код, которому передаётся управление. Это volume boot sector, код в нём ищет файл Bootmgr, с которого и начинается процесс загрузки Windows. Файл Bootmgr создан через соединение в один файлов Startup.com и Bootmgr.exe.

Процессор начинает свою работу в режиме который называется «Реальный». Это режим совместимости, в нём CPU работает так же как и старые 16-bit процессоры, не имевшие поддержки виртуальной памяти и работавшие напрямую с физической памятью через 20-bit шину адресов, позволявшую адресовать 1Мб памяти. Простые MS-DOS программы выполнялись в этом режиме и имели расширение .COM. Первое что делает Startup.com (Bootmgr) – переключает процессор в режим «Защищённый», где под защитой понимается защита процессов друг от друга. В этом режиме поддерживается виртуальная память и 32х битные адреса, которыми можно адресовать 4Гб оперативной памяти. Следующим этапом Bootmgr заполняет таблицу виртуальных адресов на первые 16Мб RAM и включает трансляцию с виртуальных адресов в физические. В этом режиме и работает Windows. Поскольку на этом этапе подсистемы ОС ещё не созданы, Bootmgr имеет свою простую и неполную реализацию файловой системы NTFS, благодаря которой он находит BCD файл (Boot Configuration Data), в котором хранятся настройки параметров загрузки ОС. Вы можете редактировать его через утилиту BcdEdit.exe. В этих настройках BCD может быть указано, что Windows была в состоянии гибернации, и тогда Bootmgr запустит программу WinResume.exe, которая считывает состояние из файла Hyberfil.sys в память и перезапускает драйвера. Если BCD говорит, что есть несколько ОС, то Bootmgr выведет на экран их список и попросит пользователя выбрать. Если ОС одна, то Bootmgr запускает WinLoad.exe, этот процесс и выполняет основную работу по инициализации Windows:

  1. Выбирает соотвествующую версию ядра Windows. Можете думать о нём как о Windows10.exe, хотя на самом деле он называется NtOsKrnl.exe. Какие есть версии? Согласно википедии:
    • ntoskrnl.exe — однопроцессорное ядро Windows. без поддержки режима PAE
    • ntkrnlmp.exe (англ. NT Kernel, Multi-Processor version) — многопроцессорное ядро Windows. без поддержки режима PAE
    • ntkrnlpa.exe — однопроцессорное ядро Windows с поддержкой режима PAE.
    • ntkrpamp.exe — многопроцессорное ядро Windows с поддержкой режима PAE.

  2. Загружает HAL.dll (Hardware Abstraction Layer), который абстрагирует особенности материнки и CPU.
  3. Загружает файл шрифтов vgaoem.fon
  4. Загружает файлы в которых содержится инфомрация о представлениях даты времени, форматов чисел и пр. Эта функциональность называется National Language System.
  5. Загружает в память реестр SYSTEM, в нём содержится информация о драйверах которые надо загрузить. Информация о всех драйверах находится в HKLMSYSTEMCurrentControlSetServices. Драйвера которые надо загрузить имеют ключ start = SERVICE_BOOT_START (0). Об устройстве реестра мы поговорим в другой статье.
  6. Загружает драйвер файловой системы для раздела на котором располагаются файлы драйверов.
  7. Загружает драйвера в память, но пока не инициализирует их из-за круговых зависимостей.
  8. Подготавливает регистры CPU для выполнения ядра Windows выбранного на первом шаге – NtOsKrnl.exe.

Во время загрузки драйверов WinLoad проверяет их цифровые подписи и если они не совпадают, то будет синий (BSOD) или зелёный (GSOD, для insider preview сборок) «экран смерти».

Запуск на UEFI

Пример экрана загрузки UEFI

BIOS существует больше 30 лет и в попытках исправить его недостатки компания Intel в 1998 году создала стандарт Intel Boot Initiative, позже переименованный в EFI и в 2005 году пожертвованный организации EFI Forum. Недостатки BIOS:
• Работает только в 16-битном режиме
• Может адресовать только 1Mb оперативной памяти
• Часто имеет проблемы совместимости
• MBR ограничен только четырьмя главными разделами диска
• Диск с ОС не может быть больше чем 2.2Tb.
• Имеет очень ограниченные возможности для валидации загрузчика ОС.
На смену BIOS пришёл UEFI, по сути это миниатюрная ОС которая может работать и в 32-bit и в 64-bit. Для совместимости есть опция Compatibility Support Module, которая включается в настройках и эмулирует работу BIOS.

В UEFI загрузка происходит в родной для процессора битности – 32 или 64, есть доступ ко всей памяти, поддерживается виртуальная память, включен Secure Boot и есть возможность запустить antimalware до начала загрузки ОС. Порядок загрузки ОС в UEFI:

  1. Инициализация и запуск Firmware, запуск чип-сета.
  2. POST тест, аналогично BIOS
  3. Загрузка EFI-драйверов и поиск диска подпадающего под требования EFI для загрузочного диска
  4. Поиск папки с именем EFI. Спецификация UEFI требует чтобы был раздел для EFI System Partition, отформатированный под файловую систему FAT, размером 100Мб – 1Гб или не более 1% от размера диска. Каждая установленная Windows имеет свою директорию на этом разделе – EFIMicrosoft.
  5. Читает из настроек UEFI сохранённых в NVRAM (энергонезависимая память) путь к файлу загрузчика.
  6. Находит и запускает EFI/Microsoft/Boot/BootMgrFw.efi.
  7. BootMgrFw.efi находит раздел реестра BCD, который хранится в отдельном файле с именем BCD. Из него он находит WinLoad.efi, который расположен в C:WindowsSystem32winload.efi.

Чтобы посмотреть содержимое раздела EFI System Partition откройте консоль с правами админа (WinKey+X => Windows PowerShell (Admin)) и выполните команды mountvol Z: /s, Z:, dir. CD — меняет директорию.
Главное отличие компонентов BootMgr и WinLoad для UEFI от своих копий для BIOS тем что они используют EFI API, вместо прерываний BIOS и форматы загрузочных разделов MBR BIOS и EFI System Partition сильно отличаются.

Инициализация ядра

Напоминаю, что мы рассматриваем загрузку ПК в контексте работы клавиатуры, поэтому не стоит заострять внимание на всех этапах. Надо понять где в этом процессе находится клавиатура, важные для понимания этапы выделены.
На предыдущем этапе был запущен компонент WinLoad.exe/WinLoad.efi, который запускает NtOsKrnl.exe указав ему параметры загрузки в глобальной переменной nt!KeLoaderBlock (память режима ядра доступна всем процессам), которые WinLoad собрал во время своей работы. Они включают:

  1. Пути к System (загрузчик Windows) и Boot (C:WindowsSystem32) директориям.
  2. Указатель на таблицы виртуальной памяти которые создал WinLoad
  3. Дерево с описанием подключенного hardware, оно используется для создания HKLMHARDWARE ветки реестра.
  4. Копия загруженного реестра HKLMSystem
  5. Указатель на список загруженных (но не инициализированных) драйверов участвующих в старте Windows.
  6. Прочая информация необходимая для загрузки.

Инициализация ядра Windows происходит в два этапа. До этого происходит инициализация Hardware Abstraction Layer, который в числе всего прочего настраивает контроллеры прерывания для каждого CPU.
На этой же стадии загружаются в память строки с сообщениями для BSOD, потому как в момент падения они могут быть недоступны или повреждены.

  • Первая фаза инициализации ядра:
    1. Слой Executive инициализирует свои объекты состояний – глобальные объекты, списки, блокировки. Производится проверка Windows SKU (Stock Keeping Unit), примеры Windows 10 SKU — Home, Pro, Mobile, Enterprise, Education.
    2. Если включен Driver Verifier, то он инициализируется.
    3. Менеджер памяти создаёт структуры данных, необходимые для работы внутренних API для работы с памятью (memory services), резервирует память для внутреннего пользования ядром.
    4. Если подключен отладчик ядра (kernel debugger) ему отправляется уведомление загрузить символы для драйверов загружаемых во время старта системы.
    5. Инициализируется информация о версии билда Windows.
    6. Старт Object Manager – позволяет регистрировать именованные объекты к которым могут получать доступ по имени другие компоненты. Яркий пример – мьютекс по которому приложение позволяет запустить единственный экземпляр. Здесь же создаётся храниться handle table, по которой устанавливается соответствие к примеру между HWND и объектом описывающим окно.
    7. Старт Security Reference Monitor подготавливает всё необходимое для создания первого аккаунта.
    8. Process Manager подготавливает все списки и глобальные объекты для создания процессов и потоков. Создаются процесс Idle и System (в нём исполняется “Windows10.exe” он же NtOsKrnl.exe), они пока не исполняются, потому как прерывания выключены.
    9. Инициализация User-Mode Debugging Framework.
    10. Первая фаза инициализации Plug and Play Manager. PnP – это стандарт который реализовывается на уровне производителей периферии, материнских плат и ОС. Он позволяет получать расширенную информацию о подключенных устройствах и подключать их без перезагрузки ПК.

  • Вторая фаза инициализации ядра. Она содержит 51 шаг, поэтому я пропущу многие из них:
    1. По завершению первой фазы главный поток процесса System (NtOsKrnl.exe) уже начал исполнение. В нём производится вторая фаза инициализации. Поток получает самый высокий приоритет – 31.
    2. HAL настраивает таблицу прерываний и включает прерывания.
    3. Показывается Windows Startup Screen, которая по умолчанию представляет из себя чёрный экран с progress bar.
    4. Executive слой инициализирует инфраструктуру для таких объектов синхронизации как Semaphore, Mutex, Event, Timer.
    5. Объекты для User-Mode Debugger проинициализированы.
    6. Создана symbolic link SystemRoot.
    7. NtDll.dll отображена в память. Она отображается во все процессы и содержит Windows APIs.
    8. Инициализирован драйвер файловой системы.
    9. Подсистема межпроцессного общения между компонентами Windows ALPC проинициализирована. Можете думать о ней как о named pipes или Windows Communication Foundation для межпроцессного общения.
    10. Начинается инициализация I/O Manager, который создаёт необходимые структуры данных для инициализации и хранения драйверов подключенной к компьютеру периферии. Этот процесс очень сложный.
      Здесь же инициализируются компоненты Windows Management Instrumentation и Event Tracing for Windows (на него полагается Windows Performance Analyzer). После этого шага все драйвера проинициализированы.
    11. Запускается процесс SMSS.exe (Session Manager Sub System). Он отвечает за создание режима пользователя, в котором будет создана визуальная часть Windows.

Запуск подсистем – SMSS, CSRSS, WinInit

SMSS.exe отличается от пользовательских процессов, это нативный процесс и это даёт ему дополнительные полномочия. SMSS.exe работает с ядром в обход Windows API, он использует то что называется Native API. Windows API – обёртка вокруг Native API. SMSS.exe первым делом запускает подсистему Windows (CSRSS.exe – Client Server Runtime Sub System) и заканчивает инициализацию реестра.

Процесс и потоки SMSS.exe помечены как критические, это значит что если они неожиданно завершаться, к примеру из-за ошибки, это приведёт к падению системы. Для общения с подсистемами, к примеру вызову API создающему новую сессию, SMSS создаёт ALPC-порт с именем SmApiPort. Загружаются из реестра переменные среды окружения, запускаются программы такие как Check Disk (autochk.exe, эти программы записаны в реестре HKLMSYSTEMCurrentControlSetControlSession ManagerBootExecute). SMSS.exe запускается для каждой пользовательской сессии. Глобальные переменные (очередь сообщений например) у каждой сессии своя за счёт механизма виртуальной памяти. В Windows есть контексты потока, процесса и сессии. Каждый SMSS.exe запускает свой экземпляр подсистемы, на данный момент это только CSRSS.exe (Windows), в прошлом поддерживались операционные системы OS/2 (os2ss.exe) и POSIX (psxss.exe), но эта идея была неудачной. Самый первый SMSS.exe засыпает в ожидании процесса WinInit.exe. Остальные экземпляры вместо этого создают процесс WinLogon который показывает UI для входа.

WinInit.exe инициализирует подсистемы для создания графической оболочки – Windows Station и десктопы, это не тот рабочий стол который вы видите, это иная концепция Windows. Далее он запускает процессы:

  1. Services.exe Services Control Manager (SCM) запускает сервисы и драйвера помеченные как AutoStart. Сервисы запускаются в процессах svchost.exe. Есть утилита tlist.exe, которая запущенная с параметром tlist.exe -s напечатает в консоли имена сервисов в каждом из svchost.exe.
  2. LSASS.exe – Local System Authority.
  3. LSM.exe – Local Session Manager.

WinLogon.exe – загружает провайдеры аутентификации (credential providers), которые могут быть password, Smartcard, PIN, Hello Face. Он порождает процесс LogonUI.exe который и показывает пользователю интерфейс для аутентификации, а после валидирует введённые данные (логин и пароль, PIN).

Если всё прошло успешно, то WinLogon запускает процесс указанный в ключе реестра HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinLogonUserinit. По умолчанию это процесс UserInit.exe, который:

  1. Запускает скрипты указанные в реестрах:
    • HKCUSoftwarePoliciesMicrosoftWindowsSystemScripts
    • HKLMSOFTWAREPoliciesMicrosoftWindowsSystemScripts
  2. Если групповая политика безопасности определяет User Profile Quota, запускает %SystemRoot%System32Proquota.exe
  3. Запускает оболочку Windows, по умолчанию это Explorer.exe. Этот параметр конфигурируется через реестр:
    • HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell
    • HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell

WinLogon уведомляет Network Provider о залогинившемся пользователе, на что тот восстанавливает и подключает системные диски и принтеры сохранённые в реестре. Network Provider представляет из себя файл mpr.dll из системной папки, который хостится в процессе svchost.exe, т.е. сервис Windows.

Дерево процессов выглядит следующим образом, на нём можно увидеть кто и кого создал (показаны не все процессы, может немного отличаться от последний версий Windows).

Где здесь клавиатура?

Во время запуска ядро Windows считывает из реестра информацию о контроллере системной шины, как правило это шина PCI (реже MSI), к ней подключены контроллеры портов ввода-вывода, в том числе и USB, PS/2. Информация о нём записывается во время установки Windows. Система загружает для него драйвер и рекурсивно обходит все порты так же загружая для каждого из них свой драйвер. Драйвера могут комбинироваться в узлы (driver node), к примеру драйвер клавиатуры, будет соединён с драйвером порта PS2. А вот порт USB сложнее — сначала драйвер порта, потом драйвер для работы с протоколом HID и только потом клавиатура.

Каждый порт контроллируется своим чипом, который мониторит подключение, принимает/отправляет сигналы между CPU и устройством. Если чип-сет Южный мост не встроен в CPU, как это часто делают в ноутбуках, а существует отдельным чипом на материнке, то правильней говорить: сигнал между Южным мостом и контроллером порта. Чип контроллирующий порт имеет выделенную линию с контроллером прерываний (PIC или APIC), по которой он может попросить обратить на себя внимание CPU, к примеру считать данные от клавиатуры (порт PS/2, с USB другая история). Поскольку ОС загрузила для порта драйвер, она может отдавать ему команды, читать и отправлять данные. В нашем примере был загружен драйвер из C:WindowsSystem32i8042prt.sys. Давайте вспомним предыдущую статью. В старых компьютерах с PIC на чипе Intel 8259 было 15 линий прерываний, где клавиатура была подключена к ножке IRQ1, таймер IRQ0, а мышка к IRQ12, который на самом деле был пятой ножкой второго чипа 8259, который мультиплексировал свои прерывания через ножку IRQ2 первого контроллера. В современных PIC могут быть 255 контактов для сигналов прерываний. Во время загрузки ОС программирует APIC/PIC возвращать определённое число когда скажем пришло прерывание от порта клавиатуры или USB и по этому номеру CPU находит в таблице векторов прерываний функцию которую надо выполнить. Номер прерываний определяют HAL и Plug’n’Play Manager. Контроллер прерываний ищет сигнал на своих ножках в определённом порядке, к примеру в бесконечном цикле проверяет напряжение на ножках от 1 до MAX_PIN. Этот порядок определяет приоритет, к примеру клавиатура будет замечена раньше мышки, а таймер раньше клавиатуры. Чтобы не зависеть от особенностей работы контроллеров прерываний Windows абстрагирует концепцию IRQ (Interrupt Request) в IRQL (Interrupt Request Level). Будь у контроллера прерываний хоть 15 хоть 255 линий они все будут отображены на 32 IRQL для x86 и 15 IRQL для x64 и IA64.

Что означают приоритеты IRQL:

  1. High – когда происходит краш системы, обычно это вызов функции KeBugCheckEx.
  2. Power Fail – не используется. Изначально был придуман для Windows NT.
  3. Interprocessor Interrupt – нужен отправить запрос другому CPU на мультипроцессорной системе выполнить действие, например обновить TLB cache, system shutdown, system crash (BSOD).
  4. Clock – нужен чтобы обновлять системные часы, а так же вести статистику сколько времени потоки проводят в режиме пользователя и ядра.
  5. Profile – используется для real-time clock (local APIC-timer) когда механизм kernel-profiling включен.
  6. Device 1 … Device N – прерывания от устройств I/O. Во время прерывания данные от клавиатуры, мыши и других устройств считываются в отдельные буфера и сохраняются в объектах типа DPC (Deferred Procedure Call), чтобы обработать их позже и дать возможность устройствам переслать данные. После приоритет снижается до Dispatch DPC
  7. Dispatch DPC — как только данные от устройств получены можно начинать их обрабатывать.
  8. APC — Asynchronous Procedure Call. Через этот механизм вы можете исполнить код когда поток будет спать вызвав WaitForSingleObject, Sleep и другие.
  9. Passive/Low — здесь исполняются все приложения в User Mode.

Если вы всегда программировали в режиме пользователя, то никогда не слышали про IRQL, потому что все пользовательские программы выполняеются с приоритетом Passive/Low (0). Как только происходит событие с большим уровнем приоритета (событие от клавиатуры, таймер планировщика потоков), процессор сохраняет состояние прерванного потока, которое представляет из себя значения регистров CPU, и вызывает диспетчер прерываний (interrupt dispatcher, просто функция), который повышает приоритет IRQL через API KeRaiseIrql в HAL и вызывает непосредственно сам код обработчика (interrupt’s service routine). После этого IRQL CPU понижается до прежнего уровня через функцию KeLowerIrql и прерванный поток начинает обработку с того же места где его прервали. На этом механизме основан планировщик потоков. Он устанавливает таймер, который с определённым интервалом (квант времени) генерирует прерывание с приоритетом DPC/Dispatch (2) и в своей interrupt’s service routine по определённому алгоритму назначает новый поток на исполнение.

Механизм IRQL реализовывается на уровне софта в Hardware Abstraction Layer (HAL.dll), а не железа. В Windows системах есть драйвер шины (bus driver), который определяет наличие устройств подключенных к шинам – PCI, USB и др. и номера прерываний которые могут быть назначены каждому устройству. Драйвер шины сообщает эту информацию Plug and play manager, который уже решает какие номера прерываний назначить каждому устройству. Далее арбитр прерываний внутри PnP Mgr (PnP interrupt arbiter) устанавливает связи между IRQ и IRQL.

Когда приходит прерывание от клавиатуры, любой исполняемый в данный момент поток (это может быть ваша программа) назначается на его обработку. Interrupt dispatcher повышает приоритет IRQL CPU до одного из уровней Device1-DeviceN. После этого менеджер виртуальной памяти не сможет найти страницу если она не загружена в RAM (не сможет обработать Page Fault), планировщик потоков не сможет прервать выполнение, потому что они все работают с меньшим уровнем IRQL. Главная задача драйвера клавиатуры в этот момент считать полученные данные и сохранить их для дальнейшей обработки. Данные записываются в объект типа _DPC (Deferred Procedure Call), который сохраняется в список DPC потока (что-то вроде std::list<DPC>, в ядре ОС вместо массивов используются связанные списки). Как только прерывания от всех внешних устройств обработаны, IRQL потока понижается до уровня DPC в котором и производится обработка отложенных процедур (DPC). В коде обработчика DPC для клавиатуры вызывается функция из драйвера клавиатуры Kbdclass.sys:

VOID KeyboardClassServiceCallback(
  _In_    PDEVICE_OBJECT       DeviceObject,
  _In_    PKEYBOARD_INPUT_DATA InputDataStart,
  _In_    PKEYBOARD_INPUT_DATA InputDataEnd,
  _Inout_ PULONG               InputDataConsumed
);

Так вот, драйвер клавиатуры (kbdclass.sys) получает данные от порта (USB, PS2) через прерывание и записывает их через WriteFile, компонент внутри ядра Windows просыпается, считывает их используя API ReadFile и добавляет в очередь сообщений с клавиатуры. API для работы с файлом могут использоваться для чтения данных с драйверов. С этого момента начинается обработка данных стеком ввода Windows, об этом в следующей статье.

Если у вас есть ПК с PS2 портом и вы умеете пользоваться WinDbg в режиме ядра, то можете легко найти обработчик прерываний клавиатуры напечатав команду !idt, которая выведет на экран всю таблицу векторов прерываний. Прерывание вклинивается в ход выполнения программы, слово вектор здесь подразумевает направление, направление исполнения программы. WinDbg был сделан специально для отладки Windows, самая последняя версия называется WinDbgX. Он имеет текстовый интерфейс, который отпугивает людей привыкших к Visual Studio, однако предоставляет гораздо больше возможностей, в частности исполнение скриптов. Прерывание фиолетового порта PS2 выделено красным. Функция которая его обрабатывает называется I8042KeyboardInterruptService, которая находится в файле i8042prt.sys.

BOOLEAN
I8042KeyboardInterruptService(
  IN  PKINTERRUPT Interrupt,
  IN  PVOID Context
  );

Routine Description:

    This is the interrupt service routine for the keyboard device when
    scan code set 1 is in use.

Arguments:

    Interrupt - A pointer to the interrupt object for this interrupt.

    Context - A pointer to the device object.

Return Value:

    Returns TRUE if the interrupt was expected (and therefore processed);
    otherwise, FALSE is returned.

Сейчас возникает вопрос, откуда у обработчика прерываний аргумент? Кто его передаёт? Ведь CPU ничего не знает о нём. Если поставите в неё breakpoint, то удивитесь ещё больше увидев несколько функций выше по стеку:

0: kd> kC
# Call Site
00 i8042prt!I8042KeyboardInterruptService
01 nt!KiCallInterruptServiceRoutine
02 nt!KiInterruptSubDispatch
03 nt!KiInterruptDispatch
04 nt!KiIdleLoop

Объяснение здесь простое – это не та функция которая сохранена в регистре IDT процессора. То что вы видите на картинке выше на самом деле объекты типа _KINTERRUPT. В таблице прерываний сохранён специальный ассемблерный код (nt!KiIdleLoop), который знает как найти объект описывающий прерывание в памяти. Что же интересного есть в нём?

  1. Указатель на объект представляющий драйвер в памяти.
  2. Указатель на функцию i8042prt!I8042KeyboardInterruptService, которая и вызывает код считывающий данные из порта PS2 через ассемблерную команду IN AL, 0x60 – сохранить значение из порта номер 0x60 в регистре AL.
  3. Функция dispatcher – ей передаётся указатель функцию из пункта №2 и она вызывает её.
  4. Состояние регистров CPU. Перед вызовом прерывания состояние CPU будет сохранено сюда, и отсюда же будет восстановлено.
  5. Приоритет прерывания. Не тот который определяет контроллер прерываний, а тот который Windows считает нужным. Это IRQL (Interrupt Request Level) – абстракция над IRQ.

Как только обработчик прерываний клавиатуры будет вызван, он уведомит драйвер клавиатуры о полученных данных, после чего будет уведомлено ядро ОС, которое обработав данные отправит их дальше по стеку ввода, где они могут быть доставлены приложению, которое на них отреагирует, или перед этим в обработчик языков (азиатские иероглифы, автокоррекция, автозаполнение).
Ядро ОС напрямую не взаимодействует с драйвером клавиатуры, для этих целей используется Plug’n’Play Manager. Этот компонент предоставляет API IoRegisterPlugPlayNotification, который вызовет предоставленную callback-функцию когда устройство будет добавлено или удалено.

Пару слов о USB

Ознакомление с работой порта USB потребовало бы отдельной статьи описывающей его работу и плюс описание обработки данных HID на Windows. Это очень сильно усложнило бы материал, к тому же уже есть хорошие статьи по теме, поэтому PS2 идеальный пример из-за своей простоты.

USB создавался как универсальный порт для всех устройств, будь то клавиатура, фотоаппарат, сканнер, игровой руль с педалями, принтер и пр. Вдобавок он поддерживает вложенность портов – USB материнки => монитор с USB => клавиатура с USB к которой подключена мышка, флешка и USB-hub к которому подключен жёсткий диск. Взглянув на контакты USB 2.0 вы увидите что они не заточены под передачу каких-то определённых данных, как у PS2. Их всего четыре – витая пара для передачи битов данных, плюс и минус питания.

Провода кабеля USB 2.0

USB 3.0 быстрее за счёт дополнительных пяти контактов. Как видите там нету линии CLOCK для синхронизации, поэтому логика передачи данных сложнее. Слева USB 2.0 и справа USB 3.0 для сравнения.

Все данные передаются через протокол HID (Human Interface Device), который описывает форматы, порядок взаимодействия и передачи данных и всё остальное. Стандарт USB 2.0 занимает 650 страниц, документ HID Class Specification, описывающий работу устройств (мыши, клавиатуры и пр) – 97 страниц, их рекомендуется изучить если вы работаете с USB.

Первым делом подключенное устройство должно рассказать о себе, для этого оно отправляет несколько структур данных, в которых указывается ID устройства и ID производителя по которым Plug’n’Play manager может найти в реестре информацию, загрузить и соединить драйвера. USB устройства пассивны, т.е. хост должен сам с определённым интервалом проверять наличие данных. Частота опроса и размер пакета данных задаются в одном из дескрипторов устройства USB. Максимальный размер пакета – 64 байта, что для информации о нажатых клавишах более чем достаточно.

В Windows есть встроенная поддержка HID, она не такая простая как связь драйвера порта PS2 с драйвером клавиатуры, потому что драйвер HID должен уметь обрабатывать все поддерживаемые протоколом сценарии. Вне зависимости от провайдера данных — порты PS2, USB или Remote Desktop или виртуальная машина – на самом верху driver node будет находится Kbdclass, от которого ядро ОС и будет получать информацию. Уведомление о подсоединении клавиатуры будет обрабатываться через Plug’n’Play Manager, так что для ядра Windows не имеет значение какой порт или источник данных от устройства используется.

ч.1 — Основы ОС и компьютера
ч.2 — Как работает материнская плата и клавиатура через порт PS2

Windows XP

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

1. Уровень
абстрагирования от оборудования

(
Hardware
Abstraction
Layer, HAL
).
Его задачей является отделение
операционной системы от особенностей
конкретных реализаций в аппаратном
обеспечении компьютера, т. е. от различий
в материнских платах, в модификациях
процессоров, в наборах микросхем и др.
Благодаря этому уровню управление
подсистемами прерываний, прямого доступа
к памяти, системными шинами и таймерами
для ядра операционной системы является
одинаковым. Уровень HAL
реализован в системном файле Hal.dll.


 

Рис. 2.20. Упрощенная
структура Windows
XP
 

2. Ядро
операционной системы
.
Ядро содержит наиболее часто вызываемые
низкоуровневые функции операционной
системы: планирование и распределение
ресурсов между процессами, их переключение
и синхронизацию. В обязанности ядра
входит также управление прерываниями
и обработка ошибочных ситуаций при
функционировании операционной системы.
Код ядра Windows
XP
не разделяется
на потоки, а находится только в оперативной
памяти и не может быть выгружен на диск.
Код ядра Windows
XP
находится
в системном файле Ntoskrnl.
exe

3. Драйверы
устройств
.
Драйверы представляют собой подпрограммы,
транслирующие вызовы, поступившие от
пользовательских программ в запросы
обработки данных для конкретных
устройств. Значительное число драйверов
входит в состав Windows
XP
(они
располагаются в подкаталоге Isystem32l
drivers
системного
каталога и имеют тип файла *.sys,
например, драйвер дисковой подсистемы
находится в файле disk.sys),
а для нестандартных периферийных
устройств драйверы находятся в комплектах
поставки.

4. Исполняющая
подсистема

(NT Executive).
Модуль NT
Executive
состоит
из микроядра
и подсистем диспетчеризации
управления программами

с доступом к виртуальной памяти, окнам
и графической подсистеме. Виртуальная
память предоставляет пользовательским
программам виртуальные адреса адресного
пространства процессов и соответствующие
физические страницы оперативной памяти
компьютера. Графическая подсистема
предназначена для создания оконного
интерфейса, рисования элементов
управления, расположенных в окнах. К
исполняющей подсистеме относятся
системные файлы Ntkrnlpa.exe,
Kernel32.dll,
Advapi32.dll,
User32.dll, Gdi32.dll
.

Операционная система
Windows XP
в
значительной мере использует возможности
процессоров, совместимых с семейством
Intel x86.
В их аппаратной архитектуре предусматривается
четыре уровня привилегий выполнения
кода программ от 0-го наивысшего
привилегированного до 4-го пользовательского
режима с ограниченным набором команд
процессора. Программы режима ядра
операционной системы Windows
XP
функционируют
в нулевом, защищенном и привилегированном
режиме, а остальные пользовательские
программы работают в менее привилегированных
режимах, находясь под контролем программ
режима ядра.

Недоступные в
пользовательском режиме операции и
приложения обращаются к системным
вызовам ядра операционной системы Win32
AP
I.
В состав API
входит более 250 функций, обращение к
которым осуществляется при помощи
системных вызовов, основанных на
подпрограммах ядра операционной системы.
Все вызовы Win32
API
обслуживаются
как системными службами NT,
так и модулем NT
Executive

исполняющей системы Windows
XP
. Модуль NT
Executive
представляет собой несколько программных
потоков, которые выполняются в режиме
ядра. Код практически всех подсистем
этого модуля находится в файле ntoskrnl.exe
(кроме подсистемы Win32,
код которой расположен в файле win32k.sys)
и уровне абстрагирования от оборудования
HAL,
который содержится в файле hal.dll.
В модуле NT
Executive

сосредоточены все самые важные части
операционной системы.

Микроядро отвечает
за выделение памяти для приложений и
распределение процессорного времени,
т. е. за реализацию многозадачности. Для
этого в состав микроядра входит
планировщик
потоков

(threads scheduler),
который назначает каждому из потоков
один из 32 уровней приоритета. Уровень
0 зарезервирован для системы. Уровни от
1-го до 15-го назначаются исполняемым
программам, а уровни от 16-го до 31-го могут
назначаться только администраторами.
Планировщик делит все процессорное
время на кванты фиксированного размера.
При этом каждый программный поток
выполняется только в течение отведенного
ему времени, и если по окончании кванта
он не освобождает процессор, планировщик
в принудительном порядке приостанавливает
этот поток и меняет программное окружение
процесса, настраивая его на выполнение
другого потока, обладающего тем же
приоритетом. Микроядро также осуществляет
всю работу, связанную с обработкой
программных и аппаратных прерываний.

5. Диспетчеризация
управления программами
.
Модуль состоит из следующего набора
системных программ:

 Диспетчер
ввода-вывода

– интегрирует добавляемые в систему
драйверы устройств в операционную
систему Windows
XP
;

 Диспетчер
объектов

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

  Диспетчер
процессов

предоставляет интерфейс, при помощи
которого другие компоненты Windows
NT Executive
, а
также приложения пользовательского
режима могут манипулировать процессами
и потоками. Во время работы диспетчер
процессов сопоставляет с каждым процессом
и потоком идентификатор процесса (PID
Process
Identifier
) и
идентификатор потока (TID
Thret Identifier)
соответственно, а также таблицу адресов
и таблицу дескрипторов;

Диспетчер
виртуальной памяти

– служит для
управления организации подсистемы
памяти, позволяет создавать таблицы
адресов для процессов и следит за
корректностью использования адресного
пространства приложениями. Кроме того,
обеспечивает возможность загрузки в
оперативную память исполняемых файлов
и файлов динамических библиотек.
Диспетчер виртуальной памяти представляет
физическую память для пользовательских
приложений – каждому процессу выделяются
4 Гб виртуального адресного пространства,
из которых младшие 2 Гб используются
процессом, а старшие 2 Гб (общие для всех
процессов) отводятся на нужды системы.
Каждый процесс работает в своем
изолированном адресном пространстве
и «не знает» о других процессах. Процессы
обмениваются данными через разделяемую
память, которая может быть спроецирована
на виртуальное адресное пространство
нескольких процессов. Главная задача
диспетчера виртуальной памяти –
организация логической памяти, размер
которой больше размера физической,
установленной на компьютере. Это
достигается благодаря тому, что страницы
памяти, к которым долго не было обращений,
и которые не имеют атрибута неперемещаемых,
сохраняются диспетчером в файле
pagefile.sys
на жестком диске и удаляются из оперативной
памяти, освобождая ее для других
приложений. В момент, когда происходит
обращение к данным, находящимся в
перемещенной на винчестер странице,
диспетчер виртуальной памяти копирует
страницу обратно в оперативную память,
затем обеспечивает доступ к ней. Этот
механизм обеспечивает выделение
дополнительной памяти программам,
которые нуждаются в ней, и при этом
следит за тем, чтобы все работающие в
системе программы обладали достаточным
объемом физической памяти для того,
чтобы продолжать функционирование;

Диспетчер кэша
– используется для кэшированного чтения
и записи и позволяет существенно ускорить
работу жестких дисков и других устройств.
При этом наиболее востребованные файлы
дублируются диспетчером кэша в оперативной
памяти компьютера, и обращение к ним
обслуживается с использованием этой
копии, а не оригинала, расположенного
на сравнительно медленном долговременном
носителе. Кэш в Windows
XP
является
единым для всех логических дисков, вне
зависимости от используемой файловой
системы. Кроме того, он является
динамическим, а это значит, что диспетчер
управляет его размерами в зависимости
от доступного объема свободной физической
памяти в каждый конкретный момент;

 Диспетчеры
окон и графики

– выполняют все функции, связанные с
пересылкой системных сообщений и
отображением информации на экране.

Процесс функционирования
Windows XP
условно подразделяется на три фазы:
процесс начальной нагрузки, штатный
режим работы и завершение работы. Для
загрузки Windows
XP
используется
следующий минимальный набор файлов:

–    
 файлы, располагающиеся в корневом
каталоге загрузочного диска: Ntldr,
Boot.ini,
Bootsect.dos
(файл необходим только при использовании
мультизагрузки), Ntdetect.com;

–    
 файлы, располагающиеся в системном
подкаталоге /system32:
Ntoskrnl.exe,
Hal.dll,
разделы реестра SYSTEM;

–    
 файлы, располагающиеся в системном
подкаталоге /system32/drivers:
(необходимые драйверы устройств).

Linux

Являясь операционной системой семейства
Unix, Linux следует установленным
стандартам и объединяет в себе три
основных части:

Ядро (kernel)
основной компонент ОС, отвечающий за
управление процессами, виртуальной
памятью и драйверами устройств.

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

Общее адресное пространство,
однако, не препятствует модульности
системы. По мере необходимости Linux
подгружает в память либо выгружает из
нее указанные модули.

В Linux все
ядро работает в привилегированном
режиме — режиме ядра. Никакая часть кода
не работает в режиме пользователя.
Фрагменты поддержки ОС, не требующие
запуска в режиме ядра, помещаются в
раздел системных библиотек.

Разделяемые
системные библиотеки (system libraries)

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

Рис.1
Компоненты Linux

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

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

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

MSdos

ОС
MS DOS
была разработана фирмой Microsoft по
заказу IBM для недавно появившихся
персональных компьютеров IBM PC. Первая
версия ОС появилась в 1980 г. IBM PC и его
программное обеспечение не рассматривались
тогда фирмой IBM как возможное стратегическое
направление, отсюда и MS DOS представляет
собой ОС с минимальными возможностями.
MS DOS прошла долгий путь развития, но это
развитие заключалось прежде всего в
приспосабливании ОС к опережающему
росту возможностей аппаратуры и, в
меньшей степени, — в совершенствовании
структуры самой ОС и развитии ее
принципиальных возможностей.

MS
DOS в основе своей была и остается
однозадачной, однопользовательской
системой . Ядро системы разработано для
16-разрядного процессора Intel 8086,
следовательно, не использует защищенный
режим и объем памяти свыше 1 Мбайт,
ставшие доступными в следующих моделях.

Архитектура
MS DOS показана на рисунке 1.1. Можно говорить
о том, что системное программное
обеспечение ПЭВМ состоит из двух уровней.
Нижний уровень составляет Базовая
Система Ввода-Вывода (BIOS), хранимая в
ПЗУ. Второй уровень составляет собственно
MS DOS. (Можно сказать, что BIOS является
компонентом аппаратной части ПЭВМ, но
последующие ОС на платформе Intel-Pentium
почти не используют функции BIOS). Системные
вызовы реализованы в программных
прерываниях. Всего возможно 256 типов
(кодов) прерываний. Из них прерывания с
16-ричными кодами от 0 до F зарезервированы
за аппаратурой, прерывания с кодами от
10 до 1F — обращения к BIOS, прерывания с
кодами от 20 до 3F — обращения к MS DOS.
По-видимому, изначально предполагалось,
что непосредственно работать с аппаратурой
будет только BIOS, MS DOS будет обращаться
к BIOS для выполнения операций на аппаратуре,
а приложения — только к MS DOS. Однако в
последующих версиях MS DOS перехватывает
все больше функций BIOS. Приложениям
доступны не только любые обращения к
MS DOS и к BIOS, но и такие команды, которые
в других системах являются привилегированными,
например, команды ввода-вывода,
следовательно, приложения имеют доступ
к аппаратуре в обход ОС и BIOS.

Рисунок
1.1 Архитектура MS DOS

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Современная тенденция в разработке операционных систем состоит в перенесении значительной части системного кода на уровень пользователя и одновременной минимизации ядра. Речь идет о подходе к построению ядра, называемом микроядерной архитектурой (microkernel architecture) операционной системы, когда большинство ее составляющих являются самостоятельными программами. В этом случае взаимодействие между ними обеспечивает специальный модуль ядра, называемый микроядром. Микроядро работает в привилегированном режиме и обеспечивает взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью. Остальные компоненты взаимодействуют путем обмена сообщениями в рамках архитектуры клиент-сервер (см.
рис.
1.2).

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

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

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

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

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

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

Моделирование ядерной зимы его, конечно, не интересует, а вот пошмалять по приятелям из базуки в самом навороченном спинномозговом «шутере» — святое дело. Процессор бы помощнее — я б их точно всех… И грезит он днем и ночью об очередном апгрейде — являются ему валяющийся на дороге бесхозный чемодан, набитый зелеными «буказоидами», и неожиданное наследство от давшей дуба пятиюродной бабушки троюродного дяди. Ах, Pentium 4, мечта поэта! Ах, гигабайт оперативки! Ах, гыфорс намбер четыре! Ах!

Пока же — в ожидании манны небесной — BIOS изучен вдоль и поперек, разогнано все, вплоть до вентиляторов и флопповодов, а при взгляде на холодильник на лице рождается коварная ухмылка: этот бы компрессор да в дело пустить — Celeron охлаждать… Шестьдесят кадров в секунду в «Кваке» уже не котируются — подавай ему все сто!

Дефрагментация жесткого диска после очередного сноса разложившейся Windows так ни разу и не была проведена, поскольку потратить на это дело лишних 30-40 минут просто кощунство — ведь за это время можно пройти пару уровней Max Payne! На самом видном месте разложены ярлыки к программам, предназначенным для ускорения работы ОС — всяческим TweakUI, WinBoost, TweakDUN и прочим. Правда, последний раз именно эксперименты с ними и привели к скоропостижной кончине Windows, но зато теперь драйвер системного устройства «руки юзера» глючит гораздо меньше.

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

Спасает от дурдома только режим StandBy — из него машина просыпается всего за несколько секунд, которые хоть и с трудом, но пережить все же можно. Но ведь не каждый же раз им можно пользоваться — «винда» без перезагрузки очень быстро становится неуправляемой, да и страшновато надолго оставлять без присмотра включенный в нашу отечественную сеть агрегат, который, можно сказать, является единственной радостью в жизни. Нет счастья в этом мире, короче говоря…

Это, конечно, крайний случай, и основная масса пользователей более терпелива, но именно медлительность Windows 2000 в свое время стала одной из причин непопулярности у домашнего пользователя этой довольно надежной ОС. И дело не только в повышенной требовательности к ресурсам системы — с этим еще можно было как-то справиться, прикупив побольше памяти. Особенно неприятен был чрезмерно долгий процесс ее загрузки и выключения: на вполне современных компьютерах порой приходилось ждать появления Рабочего стола по полторы минуты!

И это при том, что Windows 98 загружалась максимум секунд за тридцать, а «Миллениум», из которого почти выкорчевали DOS-составляющую, — и того быстрее. Разумеется, если бы преемник Windows 2000 был бы столь же вялым при загрузке, это стало бы серьезным фактором, препятствующим давно задуманному Microsoft переводу на платформу NT избалованных стремительностью и легкостью Windows 9x домашних пользователей. А ведь ставка разработчиками Windows XP делалась главным образом на них — именно эта категория потребителей способна сегодня принести корпорации наибольшие дивиденды.

И именно домашний пользователь придает большое значение скорости работы самой ОС
вообще и быстроте ее загрузки в частности. На рабочем месте, в принципе, не так важно — десять секунд надо ждать появления кнопки «Пуск» или три минуты: солдат спит, служба идет. Тем более что потратить эти несколько минут на загрузку системы нужно всего раз или два в день. А вот дома, когда нетерпеливому подростку хочется после школы поскорее залезть в интернет, пока родители не пришли и не увидели, что он там высматривает, — тут уже каждая секунда на счету.

И чтобы не распугать простых пользователей долгими утомительными загрузками, создатели Windows XP постарались на славу — впервые одним из приоритетных направлений при создании ОС было именно сокращение времени, необходимого на запуск системы, а так же на вывод ее из режимов StandBy и Hybernate.

Теория.

При создании Windows XP была поставлена задача добиться на типичном домашнем десктопе таких показателей:

— выход из режима Standby (S3) — не более 5 секунд;
— выход из режима Hibernate (S4) — не более 20 секунд;
— обычная загрузка до рабочего состояния — не более 30 секунд.

Разумеется, без некоторых исключений обойтись невозможно, это разработчики признали сразу. Например, ПК с дисками сверхвысокой емкости, с некоторыми SCSI-адаптерами, с RD-Ram, памятью ECC или с локализованной для использования иероглифов ОС должны грузиться чуть медленнее, но среднестатистический ПК с Windows XP никак не должен проигрывать по этому показателю системам семейства 9x. Собственно говоря, все это оказалось сегодня осуществимо на более или менее современных компьютерах — благодаря внедрению в жизнь требований технологий OnNow и ACPI . А вот что конкретно было сделано и удалось ли задуманное Microsoft или нет, мы и попробуем разобраться.

Ход полной загрузки Windows XP можно условно разделить на четыре этапа:

— загрузка основных файлов ОС в память;
— инициализация устройств;
— регистрация пользователя (Winlogon), старт системных служб и оболочки Explorer;
— загрузка дополнительного программного обеспечения.

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

Если рассмотреть более детально получившийся в итоге серьезных усовершенствований ход загрузки Windows XP, то для условного среднего ПК она состоит из следующих процессов, часть которых протекает параллельно:

— начальная инициализация (в частности — дисков) — в Windows XP составляет около 2 секунд против 8 в Windows 2000;
— инициализация драйверов устройств — зависит от конкретной системы, порядка 4 секунд;
— новинка Windows XP — упреждающее чтение «Prefetching», при котором с диска заранее считываются еще не затребованные данные; осуществляется параллельно с инициализацией устройств — около 6 секунд;
— инициализация реестра и файла подкачки — еще пара секунд;
— инициализация видеоподсистемы и установка нужного разрешения экрана — тоже порядка пары секунд;
— регистрация пользователя и запуск служб — около 8 секунд;
— старт оболочки Explorer — 2 секунды.

Как видите, в идеале должно получаться не более 20-30 секунд, что вполне сравнимо со временем загрузки гораздо более простых систем Windows 9x. А все за счет того, что в Windows XP ускорение происходит буквально на всех этапах загрузки благодаря таким приемам, как упреждающее чтение данных, параллельная инициализация устройств, параллельное выполнение различных этапов загрузки, отложенный запуск ряда служб, исключение ряда компонентов из процесса загрузки, объединение некоторых сервисов в один общий процесс, да и при регистрации пользователя более не требуется обязательное завершение инициализации сети, а обращение к сетевым ресурсам при загрузке сведено до минимума.

Кроме того, Windows XP поддерживает спецификацию Simple Boot Flag , благодаря которой автоматически сокращается время, необходимое BIOS для проведения процедуры самотестирования POST в случае, если предыдущая загрузка ОС была успешной. Улучшен системный загрузчик ntldr, который теперь умеет кэшировать данные о файлах и директориях, чтобы сократить обращения к диску при загрузке. Это приводит к четырехкратному ускорению его работы по сравнению с Windows 2000. Причем если на ПК установлено две ОС — Windows 2000 и Windows XP, то этот эффект (но только этот — связанный с усовершенствованием ntldr) коснется и «винтукея», так как его загрузчик будет переписан более продвинутым. Кстати, благодаря новым особенностям ntldr ускорился и выход системы из спящего режима. Ну и кроме того, имеется ряд мелких доработок: например, ускорена инициализация реестра, уменьшено время на поиск PS/2-клавиатур, а если у вас имеется сетевая карта, не подключенная к сети, то это обстоятельство также более не будет вызывать задержек загрузки.

Оптимизирована управление питанием во многих аспектах, в частности, улучшена работа спящего режима Hibernation — теперь в файл-образ оперативной памяти не сбрасываются пустые страницы, алгоритм его компрессии улучшен, при записи на диск файла hyberfil.sys используется режим DMA, а запись на диск и компрессия идут параллельными процессами. Обновлен алгоритм оповещения устройств и приложений об изменении режима электропитания. В результате ускорена не только обычная загрузка, но и пробуждение ПК из спящего и ждущего режимов.

Но особого внимания заслуживает ключевой режим упреждающего чтения — Prefetching. В предыдущих системах во время загрузки при инициализации драйверов, загрузке сервисов и оболочки данные с диска в память загружались последовательно, по мере поступления запросов на них. Теперь же Windows XP параллельно с выполнением других операций заранее считывает эти данные, не дожидаясь запроса, что приводит к самому значительному эффекту. Этот интеллектуальный алгоритм упреждающего чтения применяется и к запуску программ — после первого запуска каждой программы создаются специальные сценарии их загрузки (они хранятся в папке WinntPrefetch), в которых описано, какие файлы нужно заранее поместить в память. Эти же файлы, вернее, их некий общий знаменатель — файл WinntPrefetchlayout.ini — используется затем дефрагментатором для оптимизации расположения файлов на диске, что еще больше сокращает время загрузки.

Кстати, вы можете сами проверить, насколько эффективен этот механизм применительно к загрузке ОС — отключить Prefetching можно, установив в разделе реестра HKEY_LOCAL_MACHINESYSTEM CurrentControlSetControlSession Manager Memory ManagementPrefetchParameters параметр «EnablePrefetcher» равным «0».

Непосредственно же сам протокол загрузки ОС фиксируется в файле %WinDir% Prefetchnotosboot-B00DFAAD.pf, который для большей объективности содержит сведения о последних 8 запусках ОС и обновляется каждый раз спустя 1 минуту после загрузки системы (мониторинг завершается через 10 секунд после начала загрузки оболочки Explorer, так что под него попадают и некоторые автозагружаемые программы). Если его удалить, то следующая загрузка не будет использовать упреждающее чтение и вы, скорее всего, обнаружите, что система грузится почти в два раза медленнее.

Но и это еще не все. В Windows XP появилась новая функция BootDefrag (или BootOptimize), суть которой заключается в следующем. Поскольку дефрагментация и оптимизация расположения на диске файлов, нужных системе во время загрузки, решающим образом влияет на весь процесс загрузки ОС, а пользователю часто лениво самому запускать дефрагментатор (не то чтобы даже часто, а почти всегда), то система теперь умеет сама — так сказать, без участия оператора — оптимизировать эти файлы, причем не как ей вздумается, а основываясь на данных все тех же файлов notosboot-B00DFAAD.pf и layout.ini. Правда, происходит автоматическая дефрагментация при простое системы — если пользователь 10-30 минут после загрузки ОС не производил никаких операций. А потому может случиться так, что на вашей интенсивно используемой системе файлы окажутся не оптимизированы.

Проверить, произошла ли оптимизация, можно, заглянув в реестр — если в разделе HKEY_LOCAL_MACHINESOFTWAREMicrosoft DfrgBootOptimizeFunction стоит параметр «OptimizeComplete»=»Yes», то дефрагментация была произведена. Если же этого пока не случилось, то просто перегрузите ПК и оставьте его минут на тридцать в одиночестве — Windows сама все сделает, и ускорение следующей загрузки будет заметно даже на глаз.

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

Если же вы сомневаетесь, работает ли вообще у вас эта функция, или хотите ее отключить, то проверьте в реестре наличие параметра, включающего BootDefrag: HKEY_LOCAL_MACHINESOFTWAREMicrosoft DfrgBootOptimizeFunction — параметр «Enable»=»Y».

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

Практика.

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

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

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

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

Пользоваться программой очень легко, да и инсталляции она не требует — достаточно распаковать скачанный архив в любую удобную папку или прямо на Рабочий стол. После ее запуска в меню «Trace» вы увидите четыре команды: Next Boot, Next Boot with Driver Delays, Next Standby / Resume, Next Hibernate / Resume. Это режимы тестирования, которые предлагает BootVis. Учтите только, что при тестировании времени перехода в спящий режим и возврата из него вне контроля BootVis остается считывание файла hyberfil.sys, в котором сохранено содержимое оперативной памяти, так что без секундомера все-таки не обойтись. Для нашего же случая определения времени загрузки Windows нужно выбрать режим «Next Boot», после чего программа перегрузит систему и сразу после старта ПК начнет отслеживать процесс запуска ОС.

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

Итак, на тестовый ноутбук Sony VAIO FX101 (Celeron 600, 128 Мб, 10 Гб UDMA/66), на котором «Миллениум» загружается секунд за 20, была установлена вторая система — Windows XP (раздел FAT32). Для начала отложим BootVis в сторонку и измерения произведем исключительно секундомером, дабы не было риска их исказить каким-то влиянием BootVis. Самая первая загрузка Windows XP оказалась и самой долгой — помимо того, что система не была никоим образом пока не оптимизирована, во время первого ее запуска еще имела место и куча всяких глупостей типа рекламного тура по Windows XP. Заняла она почти минуту, что сразу напомнило сонную Windows 2000. К слову сказать, самая первая загрузка не подвергается мониторингу со стороны ОС и не учитывается при последующей оптимизации, поскольку из-за своих особенностей не является типичной. Далее производим несколько перезагрузок ОС подряд и получаем неплохо повторяющийся, а значит объективный результат — около 40 секунд нужно для запуска не оптимизированной Windows XP на реальном и не очень отставшем от жизни ПК. Это, конечно, раза в два хуже, чем у Windows Me, но улучшения по отношению к Windows 2000 уже заметны (хотя до заявленных Microsoft 30 секунд новая система пока явно не дотягивает).

Чтобы сработала функция BootDefrag, попробуем сразу же после загрузки оставить систему в бездействии минут на 30. (Именно этого и не делают многие пользователи, не знакомые с особенностями Windows XP, из-за чего их система в течение долгого времени не показывает всех своих возможностей.) И действительно — минут через 20 простоя сама по себе возникает некая дисковая активность, очень похожая на процесс дефрагментации, длится это все минут 5.

Посмотрим, что получилось. Перегружаем ПК — и оказывается, что Рабочий стол появляется на экране уже через 27-28 секунд! Вот они, новые технологии в действии! Не исключаю, что благодаря им на некоторых ПК Windows XP станет грузиться даже быстрее Windows Me. Так что можно с определенностью сказать, что Microsoft на этот раз выполнила свои обещания — система загружается очень даже шустро.

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

Главное — результат стабильно повторяется от загрузки к загрузке, значит, можно переходить к самому интересному эксперименту: разрешить BootVis оптимизировать систему для получения обещанного 30-процентного прироста скорости загрузки. Наши 25 секунд должны после этого чудесным образом превратиться в 15, что не просто круто, а очень круто даже для Windows Me! В меню Trace выбираем пункт «Optimize System» и в течение нескольких томительных минут ожидания наблюдаем, как после перезагрузки программа упорно шуршит жестким диском, перемещая файлы по своим хитрым алгоритмам. Когда процесс дефрагментации завершается, снова запускаем мониторинг времени загрузки в BootVis, перегружаем ПК и смотрим, что же получилось…

А получились все те же 25 секунд… Где же обещанные 30 и 50%??? Эффекта-то от программы никакого! А все дело в том, что наша тестовая система уже один раз сама себя оптимизировала — разница между 40 секундами и 27 секундами как раз и составляет те самые 30%, и больше тут уже сделать практически ничего нельзя. По крайней мере, изменения после действий BootVis слишком незначительны, чтобы быть достойными упоминания.

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

Так что больших надежд на эту программу возлагать не стоит — механизмы, заложенные в Windows XP, и без нее прекрасно справляются с оптимизацией процесса загрузки, надо только после очередного включения ПК дать системе полчаса отдыха. BootVis же лишь делает все то же самое, но по запросу пользователя, в удобное для него время. Главное же достоинство этой программы заключается в том, что после ее применения не становится хуже, так что пробуйте — если есть желание ради призрачной надежды качать 325 кб.

Рекомендации.

Параллельно с серьезным усовершенствованием операционной системы в части управления питанием и загрузки Microsoft дает рекомендации и пользователям предпринять со своей стороны ряд усилий для того, чтобы помочь Windows XP проявить себя во всей красе.

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

Почитать первоисточник вы сможете на страницах http://www.microsoft.com, вкратце же рекомендации Microsoft сводятся к следующему:

— Использовать файловую систему NTFS — она, в отличие от FAT32, не требует помещения целой таблицы FAT в память при загрузке, что заметно на дисках более 8 Гб.
— Не использовать конвертацию FAT32 в NTFS после установки ОС — удалить все разделы FAT еще до установки ОС и разрешить ей создать файловую систему NTFS во время инсталляции.
— Использовать только один раздел на диске.
— Установить жесткий диск в качестве первого загрузочного устройства.
— Использовать все настройки CMOS Setup, позволяющие сократить время загрузки и проведения POST.
— Отключить логотипы, которые часто зашиты в системный BIOS и BIOS видеокарты.
— Отключить в CMOS Setup поиск устройств на незанятых IDE-каналах.
— Иметь последнюю версию BIOS для вашей материнской платы с поддержкой функции Simple Boot Flag и обновленный BIOS видеокарты.
— Желателен быстрый диск — от 7200 об./мин., имеющий большой буфер.
— Необходим достаточный объем оперативной памяти — от 128 Мб.
— Необходим современный процессор.
— Убедиться, что дефрагментация загрузочных файлов функцией BootDefrag была произведена и попробовать использовать утилиту BootVis — возможно, на вашей системе она все же добьется более глубокой оптимизации.
— Сократить число автозагружаемых программ и системных служб.
— Не использовать обои Рабочего стола и прочие декоративные «прибамбасы».

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

В целом же, как мы убедились — прогресс в благородном семействе Windows NT налицо, жаль только, что обладатели более привычной для многих Windows Me не могут воспользоваться для оптимизации своей системы утилитой такого же плана, что и BootVis.

Насколько мне известно, все, что им может помочь в борьбе за секунды, — это анализ протокола загрузки ОС с помощью программы Boot Log Analyzer и небольшая утилита от той же Microsoft — Devview, показывающая, какое устройство и сколько времени требует для своей инициализации при загрузке системы. Лично я после анализа собранных ею данных отключил ненужные мне COM- и LPT-порты на своем ПК, но выигрыш от этой операции составил около секунды.
Впрочем, не за секунды ли мы и боремся?

Внимание!
Читайте другие интересные статьи на эту тему в разделе ‘Статьи и Книги’.
Так же в разделе ‘Полезное’ много интересной информации

Оцените статью: Голосов

Принципы организации операционной системы.

Понятие об операционной системе Windows.

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

ОС персональных ПК делятся на многозадачные (Windows, OS/2, Mac OS, Unix и др.

) и однозадачные (MS-DOS, DR-DOS и др.).

Однозадачные – это вчерашний день компьютерных технологий. В них может в один момент работать ровно одна программа.

Многозадачные же позволяют параллельно работать с несколькими программами – количество этих программ зависит только от мощности системы, пока хватит памяти, можно запускать программы еще и еще…

Самая распространенная многозадачная ОС – Microsoft Windows. Из других ОС для ПК можно отметить набирающую популярность ОС Linux (Линукс) из семейства Unix, а также можно отметить системы BeOS (Биос) и OS/2 фирмы IBM. На ПК Макинтош – применяют систему MacOS.

Обычно ОС храниться на жестком диске. Системный диск

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

Microsoft Windows
– это многозадачная 32-разрядная сетевая операционная система c графическим интерфейсом и расширенными системными возможностями. Разработано два семейства ОС Windows.

Windows 95/98/Me
– мощная настольная ОС, оптимизированная для использования мультимедиа-приложений.

Windows NT/2000
– мощная универсальная сетевая ОС для бизнес-вычислений. Существует в двух основных исполнениях:

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

Все ОС
семейства Microsoft Windows

имеют следующие общие свойства:

  • имеют единый графический интерфейс пользователя Windows 95
    ;
  • поддерживают многозадачные
    и многопоточные
    вычисления;
  • имеют встроенную поддержку мультимедиа
    .
  • поддерживают различные аппаратные платформы: Intel-совместимые, на основе RISC-процессоров и на базе процессоров PowerPC;
  • поддерживают файловую систему FAT.

Кроме этого, Windows NT/2000 имеют дополнительные свойства:

  • Защита
    . Windows NT/2000 имеет более надежную защиту файлов папок, принтеров и других ресурсов компьютера на уровне пользователя, в то время как Windows 95/98/Me обеспечивает защиту только на уровне ресурса.
  • Надежность
    . Каждое приложение в Windows NT/2000 работает в собственном адресном пространстве. Приложения, аварийно завершившие работу, не влияют на другие приложения или ОС в целом. Свойства архитектуры Windows NT/2000 защищают ОС некорректно работающих приложений.

ОБЩАЯ ХАРАКТЕРИСТИКА СЕМЕЙСТВА ОС WINDOWS

ОС семейства Windows. Основные версии ОС Windows

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

  • основному назначению;
  • числу одновременно работающих пользователей;
  • числу задач, одновременно выполняемых под управлением ОС;
  • способу использования аппаратных и программных средств;
  • типу пользовательского интерфейса;
  • системным требованиям к аппаратному обеспечению;
  • используемой файловой системой;
  • языковой версией;
  • ? разрядности МП и т.д.

Проведем классификацию ОС корпорации Microsoft по наиболее важным признакам.

По основному назначению ОС семейства Windows условно можно разделить на три группы или, как их еще называют, линии: 9х — линия, NT — линия и СЕ — линия. Некоторые авторы выделяют еще одну группу (16 — Bit — линия), к которой относят Windows 1.0 (1985 г.), Windows 2.0 (1987 г.), Windows 2.1 (1987 г.), Windows 3.0 (1990 г.), Windows 3.1 (1992 г.), Windows 3.11 (1992 г.). Однако эти версии не были полноценными ОС, а были операционными оболочками для работы с ОС MS DOS (Microsoft Disk Operating System, ОС которой была разработана корпорацией Microsoft в 1981 г.). Основное назначение этих версий состояло в реализации графического интерфейса ОС MS DOS.

В первую группу (9х — линия) входят ОС версий: Windows 95 (1995 г.), Windows 98 (1998 г.), Windows ME (Millennium Edition, 2000 г.). Данная группа ОС предназначалась для установки на персональные компьютеры, имеющие 32-разрядные микропроцессоры и работающие в локальном (автономном) режиме. В настоящее время данная группа ОС практически не используется и не поддерживается разработчиком.

Вторая группа (NT — линия, New Technology — новая технология) является самой многочисленной, к ней относятся следующие версии: Windows NT 3.1 (1993 г.), Windows NT 3.5 (1994 г.), Windows NT 3.51 (1995 г.), Windows NT 4.0 (1996 г.), Windows NT 5.0 (Windows 2000, 2000 r.), Windows NT 5.1 (WindowsXP, 2001 n). Windows NT 5.2 (Windows Server 2003, 2003 r.), Windows NT 6.0 (Windows Vista 2006, 2006 r.), Windows Home Server (2007 r.), Windows Server 2008, Windows NT 6.1 (Windows 7, 2009 г.). ОС этой группы являются полностью 32-разряд-ными и не нуждаются в поддержке со стороны ОС MS DOS. Основное назначение данной группы состоит в поддержке сетевого режима работы компьютера. В настоящее время данная группа ОС находит наибольшее практическое применение и поддерживается разработчиком, кроме некоторых ранних версий.

Третья группа (СЕ — линия, СЕ — Compact Edition — компактное издание) предназначена для портативных компьютеров. К данной группе относятся следующие версии: Windows СЕ 1.0 (1997 г.), Windows СЕ 2.0 (1998 г.), Windows СЕ 3.0 (2000 г.), Windows СЕ 4.0 (2002 г.), Windows Mobile 2003 (2003 г.), Windows Mobile 5.0 (2005 г.), Windows Mobile 6.0 (2007 г.).

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

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

По способу использования аппаратных и программных средств ОС можно разделить на сетевые и локальные ОС. К сетевым ОС можно отнести основные версии второй и третьей групп семейства Windows, к локальным — первую группу.

По типу пользовательского интерфейса ОС можно разделить на ОС, представляющие пользователю текстовый и графический интерфейсы. ОС семейства Windows представляют пользователю графический интерфейс.

Из перечисленных выше версий ОС Windows наиболее востребованными в настоящее время для установки на персональные компьютеры являются версии ОС Windows ХР, ОС Windows Vista и ОС Windows 7.

Дадим краткую характеристику этим версиям ОС Windows и опишем возможности, которые они предоставляют пользователям.

ОС Windows ХР была выпущена корпорацией Microsoft в октябре 2001 г. и является развитием ОС Windows 2000 Professional. Название ХР происходит от английского eXPerience, что означает опыт. Корпорация Microsoft представила три основных выпуска (редакции) ОС Windows ХР: ОС Windows ХР Home Edition, ОС Windows ХР Professional Edition и ОС Windows ХР 64-bit Edition. Кроме основных выпусков ОС Windows ХР, были и дополнительные, к которым можно отнести: ОС Windows ХР Media Center Edition (базируется на ОС Windows ХР Professional Edition и содержит специальные мультимедийные приложения), ОС Windows ХР Embedded (встраиваемая компонентная ОС на базе Windows ХР Professional Edition, она предназначена для применения в различных встраиваемых системах: банкоматах, медицинских приборах, кассовых терминалах, игровых автоматах и т.д.), ОС Windows Embedded for Point of Service (специализированная ОС на базе ОС Windows ХР Embedded, конфигурированная для пунктов обслуживания, она оптимизирована для розничной торговли и сферы услуг) и т.д. Далее остановимся на основных выпусках ОС Windows ХР.

ОС Windows ХР Home Edition была ориентирована на пользователей домашних персональных компьютеров (устанавливалась на ноутбуки). Данный выпуск отличался от предыдущей версии ОС Windows 2000 новым внешним оформлением, которое упрощало и делало более эффективным выполнение ежедневных задач. Для пользователей стали доступны усовершенствованные возможности работы с цифровыми изображениями и музыкальными записями как при работе на локальном персональном компьютере, так и при обмене ими через Интернет.

ОС Windows ХР Professional является более мощной ОС, по сравнению с предыдущими версиями ОС, что связано с высоким уровнем масштабируемости и надежности ОС. Предназначена она в основном для корпоративных пользователей. Масштабируемость данной ОС состоит в поддержке оперативной памяти, которая может быть увеличена до 4 Гбайт, и поддержке увеличения мощности микропроцессора (например, установке двух микропроцессоров).

Перечислим основные возможности, предоставляемые пользователю ОС Windows ХР Professional, которые можно также трактовать

как отличительные особенности данной ОС по сравнению с предыдущими версиями ОС семейства Windows:

  • улучшенный интерфейс пользователя, улучшенный дизайн, включая более округлые формы и плавные цвета;
  • относительно более высокий уровень безопасности, включая возможность шифрования папок и файлов с целью защиты корпоративной информации;
  • встроенная поддержка высокопроизводительных многопроцессорных систем;
  • возможность быстрого переключения пользователей, позволяющая временно прервать работу одного пользователя и выполнить вход в систему под именем другого пользователя, оставляя при этом приложения, запущенные первым пользователем, включенными;
  • удобства при выполнении различных операций за счет встроенных в ОС мастеров (например, «Мастер очистки Рабочего Стола», «Мастера установки и настройки сети», «Мастера создания ярлыков», «Мастера подключения к Интернету» и т.д.);
  • восстановление ОС, предназначенное для возвращения системы в определенное предшествующее состояние, а также улучшение других способов восстановления системы. Так, при загрузке последней удачной конфигурации загружается также и прежний набор драйверов, что позволяет в ряде случаев легко восстановить систему при проблемах, возникших в результате установки драйверов, возможность отката драйверов, т.е. возвращение к предыдущим версиям драйверов (компьютерных программ, обеспечивающих функционирование периферийных устройств компьютера) из-за программных сбоев и т.д.;
  • более развитые функции управления системой из командной строки;
  • поддержка утилитой «Проводник» цифровых графических и аудиоформатов;
  • ОС Windows ХР Professional включает технологии, разработанные фирмой Roxio, которые позволяют производить запись данных на оптические диски, не устанавливая дополнительные программные средства;
  • в состав ОС входит аудиоплейер Windows Media, который позволяет воспроизводить цифровые мультимедиа, включая музыку, видео, оптические диски и интернет-радио;
  • ОС Windows ХР Professional может работать с архивами ZIP без установки дополнительных программных средств;
  • средства поддержки переносных компьютеров, включая технологии DualView и ОеагТуре. Технология DualView (работа с двумя мониторами) позволяет отображать «Рабочий стол» компьютера на двух мониторах, управляемых одним видеоадаптером. Например, к портативным компьютерам помимо жидкокристаллического дисплея можно подключить внешний монитор. Применение данной технологии позволяет повысить производительность труда пользователей и не требует дополнительных микропроцессоров. Технология ОеагТуре повышает четкость отображения текста на жидкокристаллическом экране, поскольку втрое увеличивает горизонтальное разрешение отображаемого текста на экране компьютера, а также имеет брандмауэр подключений к Интернету, ит.д.

Разработчик должен сопровождать любой программный продукт, выпущенный на рынок. В процессе сопровождения устраняются замеченные неисправности в работе программы, ошибки, так называемые дырки в системе защиты от несанкционированного доступа и т.д. Не исключением является и ОС Windows ХР. Корпорация Microsoft за время сопровождения ОС Windows ХР также устраняла недочеты в ОС и периодически выпускала пакеты обновлений (Service Packs) ОС. Целью этих пакетов программ было устранение выявленных проблем и добавление новых возможностей.

Первый пакет обновлений Service Pack 1 (SP1) для ОС Windows ХР был выпущен в сентябре 2002 г. Наиболее важными новшествами пакета стали: поддержка интерфейса USB 2.0, введение утилиты, позволяющей выбирать программы по умолчанию для просмотра электронной почты, реализация виртуальной машины Java (Java Virtual Machine, виртуальная машина Java интерпретирует и исполняет байт-код Java, предварительно созданный из исходного текста Java-про граммы компилятором Java. Так как виртуальные машины Java доступны для многих аппаратных и программных платформ, Java может рассматриваться и как связующее программное обеспечение, и как самостоятельная платформа), система шифрования файлов (Encrypting File System, EFS) получила возможность использовать алгоритм шифрования AES (Advanced Encryption Standard — симметричный алгоритм блочного шифрования с размером блока 128 бит и ключом 128/192/256 бит, принятый в качестве стандарта шифрования правительством США в мае 2002 г.) с 256-битным ключом и т.д. Поддержка Windows ХР Service Pack 1 закончилась в октябре 2006 г.

Второй пакет обновлений Service Pack 2 (SP2) (кодовое название Springboard) был выпущен в августе 2004 г. Наиболее важными новшествами пакета SP2: улучшенный файрволл (файрволл — образован транслитерацией английского термина firewall, эквивалентного термину «межсетевой экран», в настоящее время не является официальным заимствованным словом в русском языке, аналогом английского слова firewall является немецкое слово brandmauer (брандмауэр), что в дословном переводе на русский язык означает стену, которая разделяет смежные здания, предохраняя ог распространения пожара); мастер поддержки Wi-Fi соединений с Интернетом и Bluetooth (английский перевод прозвища датского короля Харальда 1 Синезубого (910-986 г.), объединившего Данию с Норвегией. Его имя было выбрано в качестве названия технологии потому, что первоначально Bluetooth задумывалась как средство для простого соединения компьютеров и телекоммуникационных устройств), технология Bluetooth обеспечивает обмен информацией на радиочастоте в диапазоне 2,4- 2,48 ГГц (свободный от лицензирования диапазон) для ближней связи радиуса 10-100 м между такими устройствами, как карманные и обычные персональные компьютеры, мобильные телефоны, ноутбуки, принтеры, цифровые фотоаппараты и т.д.), а также улучшенная версия браузера Internet Explorer (IE6, например, возможность блокировать «всплывающие» окна в Интернете). Данный пакет обновлений внес значительные изменения в безопасность ОС Windows ХР. Так, значительным изменениям подвергся встроенный файрволл, который был переименован в Windows Firewall и активировался для всех создаваемых соединений по умолчанию. Изменения в области безопасности затронули и почтовую программу Outlook Express и браузер IE. ОС Windows ХР Service Pack 2 включает Windows Security Center, который позволяет облегчить наблюдение за безопасностью системы, следя и напоминая пользователю о необходимости установить или обновить антивирус и его базы, активировать встроенный или сторонний файрволл, произвести обновление операционной системы или изменить настройки браузера и т.д. С июля 2008 г. корпорация Microsoft прекратила поддержку ОС Windows ХР SP2.

Третий пакет обновлений Service Pack 3 (окончательная версия) был представлен корпорацией Microsoft в апреле 2008 г. Пакет включает все обновления, выпущенные после выхода ОС Windows ХР Service Pack 2 в 2004 г., а также ряд других новых элементов. Среди них функция защиты сетевого доступа (Network Access Protection) и новая модель активации, заимствованные у ОС Windows Vista, кроме того, появилось улучшенное обнаружение так называемых маршрутизаторов — «черных дыр» и т.д. В настоящее время ОС Windows ХР SP3 поставляется на рынок в виде версий OEM (Original Equipment Manufacturer) и коробочной версии (BOX).

Здесь важно также отметить, что корпорация М icrosoft с 14 апреля 2009 г. прекратила бесплатную поддержку ОС Windows ХР, и с этого времени пользователи ОС Windows ХР не могут обращаться в Microsoft за бесплатной технической поддержкой. Теперь им придется для этого пользоваться услугами «продленной поддержки», т.е. все обращения являются платными. Данная поддержка будет продолжаться до 8 апреля 2014 г.

ОС Windows ХР 64-bit Edition разрабатывалась специально для рабочих станций на базе 64-разрядных микропроцессоров Intel Itanium. Данная ОС обеспечивает поддержку дополнительной памяти, увеличивает скорость операций ввода-вывода, расширяет возможности для вычислений переменных с плавающей запятой. Данная ОС представляет собой достаточно мощную платформу для технических и аналитических разработок, а также для проведения финансового и статистического анализа. Эта редакция Windows ХР более не развивается с 2005 г., после того как корпорация HP (Hewlett Packard, США) прекратила разработку рабочих станций с микропроцессорами Intel Itanium. Поддержка этой архитектуры осталась в серверных версиях операционной системы Windows.

ОС Windows Vista также относится к NT — линии (NT — линия, New Technology — новая технология, ориентированная на сетевую работу) операционных систем семейства Microsoft Windows NT, и в частности, имеет в этой линии название ОС Windows NT 6.0. Используется в основном на пользовательских персональных компьютерах. Корпорация Microsoft официально выпустила ОС Windows Vista 30 ноября 2006 г. для корпоративных клиентов, а 30 января 2007 г. начались продажи ОС в розничной сети. Корпорация Microsoft представила несколько выпусков (вариантов, редакций) ОС Windows Vista. Рассмотрим основные из них:

  • ОС Windows Vista Starter — самый недорогой и доступный вариант для пользователей начального уровня. Базовый набор возможностей ОС Windows Vista Starter ограничен по сравнению с другими выпусками, но главное — сохраняется совместимость со всеми современными приложениями и устройствами. Фактически это операционная система для начинающих, делающих первые шаги в освоении персонального компьютера и не желающих при покупке первого компьютера переплачивать за программное обеспечение;
  • ОС Windows Vista Home Basic также относится к достаточно простому и доступному варианту ОС Windows Vista, предназначенному преимущественно для домашних пользователей. Обладает всеми основными характеристиками ОС нового поколения: безопасностью, поддержкой расширенного родительского контроля, базовым интерфейсом пользователя, новыми функциями поиска и систематизации данных, улучшенной работой в сети. На аппаратном уровне это поддержка одного микропроцессора (с неограниченным количеством ядер) с 8 Гбайт максимального объема оперативной памяти для платформы Amd64 (64-битная) и 4 Гбайт для платформы х86 (32-битная);

OC Windows Vista Home Premium представляет собой основной вариант Windows Vista для домашних пользователей настольных и мобильных персональных компьютеров. Кроме возможностей, представляемых ОС Windows Vista Home Basic, в данном варианте поддерживается 3-мерный интерфейс пользователя Windows Aero, имеется Windows Media Center и ряд дополнительных возможностей по работе с мультимедийными данными (например, редактирования и записи DVD). На аппаратном уровне ОС Windows Vista Home Premium поддерживает до двух микропроцессоров с 16 Гбайт максимального объема оперативной памяти, HDTV(High Definition TV — одно из направлений развития телевидения в мире, его российское название — телевидение высокой четкости, которое позволяет смотреть телепрограммы, фильмы с разрешением 1920 на 1080 точек, в отличие от обычного телевидения, где используется разрешение изображения 720 на 576 точек), запись видео-DVD, поддержка сенсорных экранов, автоматическое резервное копирование. Однако в данном варианте отсутствует возможность присоединения к домену и редактору групповых и локальных политик, нет поддержки EFS;

ОС Windows Vista Business представляет собой основную аппаратную платформу для настольных и мобильных персональных компьютеров корпоративного класса. Данный вариант ОС подходит для малого, среднего и большого бизнеса, содержит все функции ОС Windows Vista Home Basic (кроме ряда развлекательных) и имеет ряд специфических особенностей. Так, ОС Windows Vista Business поддерживает интерфейс Windows Aero, поддерживает групповую политику, шифрование файловой системы, поддержку факсов и сканеров и пр. На аппаратном уровне ОС Windows Vista Business поддерживает до двух процессоров, интерфейс Windows Aero, групповую политику и шифрованную файловую систему EFS. Однако в данном варианте сокращена мультимедийная часть и отсутствуют развлекательные приложения;

ОС Windows Vista Enterprise представляет собой расширенный вариант Vista для корпоративных персональных компьютеров и ноутбуков. В дополнение к возможностям Vista Business этот вариант обладает средствами шифрования диска Windows BitLocker, поддерживает все существующие языки интерфейса, функцию Virtual PC Express и подсистему для приложений на основе UNIX (SUA), т.е. данный вариант ОС подходит для работы крупных предприятий и организаций со сложной инфраструктурой. На аппаратном уровне аналогична предыдущему варианту ОС;

ОС Windows Vista Ultimate представляет собой вариант, который включает в себя все возможности ОС Windows Vista Home Premium и ОС Windows Vista Enterprise. В данном варианте хорошо развита мультимедийная часть, реализована поддержка анимированных обоев рабочего стола, а также имеется возможность менять по желанию язык пользовательского интерфейса операционной системы.

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

Первый пакет обновлений Service Pack 1 (SP1) для ОС Windows Vista был выпущен 15 апреля 2008 г. Данный пакет обновлений позволил с более высокой скоростью осуществлять копирование файлов на локальных компьютерах (на 25% быстрее), более оперативно обрабатывать изображения высокого разрешения. Кроме того, в SP1 включены дополнения, улучшающие совместимость операционной системы с новыми видеоадаптерами, некоторыми типами мониторов и принтеров. В состав пакета обновлений также входят исправления, уменьшающие время вывода компьютера из спящего режима, повышающие производительность браузера IE 7.0 и улучшающие схему управления питанием ноутбуков. Также в SP1 включены все ранее выпущенные «заплатки и патчи». Перед установкой SP1 система «Windows Update» проверяет компьютер на предмет наличия проблемных компонентов и в случае их обнаружения откладывает инсталляцию.

Второй пакет обновлений Service Pack 2 (SP2) является самым востребованным в настоящее время. SP2 обеспечивает: поддержку Bluetooth 2.1/3.0 (для версии Bluetooth 3.0 доступен лишь beta-драйвер), поддержку 64-разрядных процессоров VIA, возможность записи оптических дисков формата Blu-ray (англ, «синий луч» —
получил свое название от использованного для записи и чтения коротковолнового (405 нм) «синего» лазера, буква «е» была намеренно исключена из слова blue
, чтобы получить возможность зарегистрировать название как торговую марку), более простую настройку беспроводных сетей Wi-Fi (мастер Windows Connect Now, WCN), поддержку смарт-карт формата 1CCD/CCID, более высокую производительность при воспроизведении видеоформата HD и т.д. Кроме того, необходимо отметить, что пакет обновлений SP2 нельзя установить без предварительной установки SP1. Это сделано с целью объединить SP для двух платформ — Windows Vista и Windows Server 2008.

25 мая 2009 г. SP2 для Windows Vista и Windows Server 2008 стал доступен для публичного скачивания с сайта Microsoft на английском, немецком, испанском, французском и японском языках, а с 1 июля 2009 г. — SP2 для Windows Vista на русском языке стал доступен для автоматической установки через «Центр обновления Windows».

Перечислим основные возможности, предоставляемые пользователю ОС Windows Vista по сравнению с ОС Windows ХР Professional, которые можно трактовать как отличительные особенности данной ОС по сравнению с ОС Windows ХР Professional:

  • время загрузки ОС Windows Vista меньше, чем ОС Windows ХР, кроме того, уменьшено время входа и выхода из спящего режима до 6 секунд. Однако после загрузки пользовательского интерфейса необходимо более длительное время, чтобы начать полноценную работу, пока пройдут фоновые процессы, сильно затрудняющие работу пользовательских программ;
  • ? благодаря использованию технологии «Windows Ready Boost» стало возможным использование внешней флэш-памяти в качестве оперативной памяти, что в некоторых случаях увеличивает производительность ОС на 40%;
  • применение комплекса технических решений Windows Aero (Aero — аббревиатура от англ, authentic
    — аутентичный, energetic —
    энергичный, reflective
    — отзывчивый и open
    — открытый). Windows Aero использует анимацию окон при открытии, закрытии, сворачивании и восстановлении, что делает работу с ОС более понятной. Прозрачные элементы окон с размывкой заднего плана позволяют пользователю сконцентрироваться только на содержании активного окна и т.д.;
  • обеспечивается лучшая защищенность от хакерских атак и компьютерных вирусов, в особенности сетевых;
  • полностью переработана логическая модель взаимодействия ОС с графическими устройствами.

ОС Windows 7 относится к линии операционных систем семейства Microsoft Windows NT, и в частности является ОС Windows NT 6.1, используемой в основном на пользовательских персональных компьютерах.

ОС Windows 7 официально поступила в продажу 22 октября 2009 г., т.е. меньше чем через три года после выпуска предыдущей ОС Windows Vista. Корпорация Microsoft представила шесть редакций ОС Windows 7: ОС Windows 7 Starter (начальная версия ОС), ОС Windows 7 Home Basic (домашняя базовая версия ОС), ОС Windows 7 Home Premium (домашняя расширенная версия ОС), ОС Windows 7 Professional (профессиональная версия ОС), ОС Windows 7 Enterprise (корпоративная версия ОС) и ОС Windows 7 Ultimate (максимальная версия ОС). Все перечисленные выше редакции, за исключением ОС Windows 7 Starter, существуют как в 32-битной, так и в 64-битной версиях.

Нетрудно заметить, что число выпушенных редакций ОС Windows Vista и ОС Windows 7 совпадает, кроме того совпадает часть названий редакций, их особенностей и возможностей, поэтому подробно останавливаться здесь на особенностях и возможностях каждой редакции ОС Windows 7 не будем, а отметим лишь основные особенности, отличающие ОС Windows 7 от ОС Windows Vista:

  • в ОС Windows 7 применяется мультитач — технология, позволяющая одновременно обнаруживать и определять координаты минимум трех точек касания мультитач-экрана;
  • используемая в ОС Windows 7 сетевая технология «Branch Cache» позволяет осуществлять эффективное кеширование информации, поступающей из сети Интернет;
  • более тесная интеграция с производителями драйверов, большинство из них определяются автоматически, при этом в 90% случаев сохраняется обратная совместимость с драйверами для ОС Windows Vista;
  • ? применена новая, 11 -я версия DirectX, выпущенная в составе ОС Windows 7, которая имеет следующие преимущества перед существующими версиями: добавлена поддержка новых вычислительных шейдеров
    (массовые параллельные вычисления), имеется возможность многопоточного рендеринга
    (процесс получения изображения по модели с помощью компьютерной программы), улучшена тесселяция
    (в компьютерной графике способ, с помощью которого возможно увеличить число полигонов в полигональной трехмерной модели, используя кривые Безье), появились новые алгоритмы компрессии текстур и др.;
  • ОС Windows 7 поддерживает псевдонимы для папок на внутреннем уровне; например, папка Program Files в некоторых локализованных версиях Windows была переведена и отображалась с переведенным именем, однако на уровне файловой системы оставалась англоязычной;
  • ОС Windows 7 более совместима с ОС Windows ХР, чем ОС Windows Vista (SP1, SP2); например, на ОС Windows Vista было невозможно запустить некоторые старые программы для ОС Windows ХР;
  • улучшена безопасность ОС Windows 7, так вероятность попадания в ОС Windows 7 компьютерных вирусов на 25% ниже, чем в ОС Windows Vista, и на 20% ниже, чем в ОС Windows Vista SP2. Вышедшая на рынок ОС Windows 7 также, как и предыдущие ОС,

сопровождается корпорацией Microsoft. Финальная русская версия первого пакета обновлений Service Pack 1 (SP1) для ОС Windows 7 вышла в первом квартале 2011 г. В состав SP1 вошли главным образом исправления ошибок и «заплатки» для уязвимостей, выявленных с момента анонса платформы в октябре 2009 г. Обновление содержит все патчи —
автоматизированные, отдельно поставляемые программные средства, используемые для устранения выявленных проблем в основном программном продукте.

Особенности ОС Windows.

Стандартизация интерфейса пользователя
(приемы и методы управления аппаратным
и программным обеспечением)Графический интерфейс

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

оптимальное управление оперативной
памятью большого объема;

возможность без проблем подключать
новые внешние устройства (plug and play)
Операционная система может программным
путем определить назначение такого
устройства, выяснить, какие варианты
его настройки возможны, и выбран, наиболее
подходящий из них;

интеграция функций программ
(возможность использовать в конкретной
программе объекты, созданные средствами
другой программы). Возможен обмен
данными между приложениями, что позволяет,
например, информацию созданную в
электронной таблице, перенести в
текстовый документ через буфер обмена.
Технология OLE;

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

Микроядерная архитектура.

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

Рис. 1.4
Микроядерная архитектура операционной
системы

Остальные компоненты системы
взаимодействуют друг с другом путем
передачи сообщений через микроядро.

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

Объектно-ориентированный
подход

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

Основным понятием этого подхода является
«объект». Объект
— это единица
программ и данных, взаимодействующая
с другими объектам посредством приема
и передачи сообщений. Объект может быть
представлением как некоторых конкретных
вещей — прикладной программы или
документа, так и некоторых абстракций
— процесса, события.

Программы (функции) объекта определяют
перечень действий, которые могут быть
выполнены над данными этого объекта.
Объект-клиент может обратиться к другому
объекту, послав сообщение с запросом
на выполнение какой-либо функции
объекта-сервера.

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

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

Таким образом, объект предстает для
внешнего мира в виде «черного ящика»
с хорошо определенным интерфейсом. С
точки зрения разработчика, использующего
объект, пока внешняя реакция объекта
остается без изменений, не имеют значения
никакие изменения во внутренней
реализации. Это дает возможность легко
заменять одну реализацию объекта другой,
например, в случае смены аппаратных
средств; при этом сложное программное
окружение, в котором находятся заменяемые
объекты, не потребует никаких изменений.

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

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

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

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

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

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

Средства OLE

Для пользователей Windows объектно-ориентированный
подход проявляется при работе с
программами, использующими технологию
OLE фирмы Microsoft. В первой версии OLE, которая
дебютировала в Windows 3.1, пользователи
могли вставлять объекты в документы-клиенты.
Такие объекты устанавливали ссылку на
данные (в случае связывания) или содержали
данные (в случае внедрения) в формате,
распознаваемом программой-сервером.
Для запуска программы-сервера пользователи
делали двойной щелчок на объекте,
посредством чего передавали данные
серверу для редактирования. OLE 2.0,
доступная в настоящее время в качестве
расширения Windows 3.1, переопределяет
документ-клиент как контейнер. Когда
пользователь щелкает дважды над объектом
OLE 2.0, вставленным в документ-контейнер,
он активизируется в том же самом месте.
Представим, например, что контейнером
является документ Microsoft Word 6.0, а вставленный
объект представляет собой набор ячеек
в формате Excel 5.0. Когда вы щелкнете дважды
над объектом электронной таблицы, меню
и управляющие элементы Word как по
волшебству поменяются на меню Excel. В
результате, пока объект электронной
таблицы находится в фокусе, текстовый
процессор становится электронной
таблицей.

Инфраструктура, требуемая для обеспечения
столь сложных взаимодействий объектов,
настолько обширна, что Microsoft называет
OLE 2.0 «1/3 операционной системы».
Хранение объектов, например, использует
docfile, который в действительности является
миниатюрной файловой системой,
содержащейся внутри обычного файла
MS-DOS. Docfile имеет свои собственные внутренние
механизмы для семантики подкаталогов,
блокировок и транзакций (т.е.
фиксации-отката).

Наиболее заметный недостаток OLE —
отсутствие сетевой поддержки, и это
будет иметь наивысший приоритет при
разработке будущих версий OLE. Следующая
основная итерация OLE появится в
распределенной, объектной версии
Windows, называемой Cairo (Каир), ожидаемой в
1995 году.

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

О MS Windows

Windows — «Окна». Так на русский язык с английского переводится название популярной ОС.

MS Windows — название семейства проприетарных операционных семейств компании «Майкрософт», которые ориентированы на использование графического интерфейса при управлении. Надо сказать, что первоначально «Окна» были лишь графической надстройкой для MS-DOS.

В августе 2014 года Net Application предприняла масштабное статистическое исследование. По его итогам было выявлено, что 89 % персональных компьютеров в мире работают с операционными системами семейства Windows. Согласитесь, значительный показатель.

Сегодня «Виндовс» функционирует на платформах x86, x86-64, IA-64 и ARM. Ранее существовали версии для DEC Alpha, MIPS, PowerPC и SPARC.

Развитие ОС

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

Новый этап развития — семейства Windows 9x: 95 и 98, 2000, МЕ.

Современный шаг развития приходится на 2001-2016 гг. Его начало считается выпуск двух версий популярной «Виндовс ХР» — корпоративной и «домашней». Затем были представлены версии «Виста», 7, 8, 10.

Рассмотрим каждую вариацию ОС подробнее.

Windows 1.0

Раскроем особенности операционной системы семейства Windows. Данная версия являлась графическим интерфейсом пользователя «Майкрософт» для ОС MS-DOS. Тут использовался принцип фреймового менеджера окон. Помогал диалогу с операционной системой, унифицировал внешний вид программ, оптимизировал работу с периферийными аппаратами.

Билл Гейтс официально анонсировал разработку в 1983 году в Нью-Йорке. Над созданием Windows 1.0 трудились 24 ученых. В розничную продажу интерфейс поступил спустя два года — в 1985-ом. В США тогда продукт стоил 99 долларов, а в Германии — 399 марок.

Один из самых существенных минусов разработки: для ее использования требовалось приобретение дорогостоящих комплектующих — новой модели процессора, мыши, объемной памяти для компьютера.

Windows 2.0

Это пополнение семейства операционных систем MS Windows увидело свет в 1987 году. Его отличали новые характеристики и возможности:

  • Использование скоростного процессора Intel 286.
  • Возможности для расширения памяти и взаимодействия приложений с применением DDE.
  • Применение сочетаний «горячих клавиш».
  • Использование многооконной среды.
  • Собственный API-код.

Несмотря на все вышеперечисленное, данная операционная система не стала широко распространенной, хотя находились разработчики, писавшие под нее программы. Ее существенные минусы: слабая аппаратная часть, большие программные ограничения.

Windows 3.0

Главная характеристика операционной системы семейства Windows: это первый продукт, действительно получивший массовое распространение. Его выпуск начался в 1990 году. Объяснялось тем, что ОС устанавливалась производителями на продаваемые компьютеры.

Файловая оболочка MS-DOS в этой версии была заменена «Диспетчером программ». Использовалась также собственная надстройка: «Диспетчер файлов», применяющийся для навигации по диску.

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

Система помощи пользователю была организована с применением языка HTML, уже содержала в себе гиперссылки. Расширенным был и набор сопутствующего программного обеспечения:

  • Текстовой редактор Word pad.
  • Графический редактор Paintbrush.
  • Игры «Пасьянс-свободные ячейки», «Пасьянс-косынка», «Сапер».
  • Иные утилиты.

Поддерживалось несколько режимов памяти: 16- и 32-разрядный. По словам пользователей, в плане удобства работы ОС была на равных с современными ей продуктами Apple Macintosh.

Windows 3.1

Какое достоинство операционной системы семейства Microsoft Windows версии 3.1? Это первая ОС от корпорации, имеющая поддержку русского языка, отчего получившая широкое распространение в России.

Вышла на рынок в 1992 году. Каких-то отличительных черт тут нет — 3.1 была улучшенной версией предыдущего выпуска. Добавили расширенные настройки рабочей среды, улучшили графический интерфейс, исправили ошибки и повысили стабильность работы.

Windows 95

Кодовое название этой графической операционной системы семейства Windows — «Чикаго». Она была выпущена в августе 1995 года (версия для России представлена в ноябре того же года).

В основном предназначалась для домашних компьютеров. Была гибридной: поддерживала 16- и 32-разрядные системы. Именно здесь появился рабочий стол с привычными нам значками, панели задач и «фирменное» меню «Пуск».

Windows 98

Официальный выпуск (после бета-тестирования) этой версии пришелся на 1998 год. Перечислим основные возможности, характеристику операционной системы семейства Windows:

  • Улучшенная поддержка AGP.
  • Доработанные драйверы для USB.
  • Поддержка работы системы с несколькими мониторами.
  • Первый браузер Internet Explorer.
  • Поддержка Web TV.

В 1999 году была выпущена обновленная версия ОС. Ее отличал более усовершенствованный браузер, добавление поддержки DVD.

Windows 2000 и МЕ

Версия была выпущена, соответственно, в 2000 году. Ее характеризовало следующее:

  • Обновленный интерфейс.
  • Поддержка службы каталогов Active Directory.
  • Файловая система стандарта NTFS 3.0.
  • Служба IIS, представленная в версии 5.0.

В том же 2000-м вышла новая версия системы — Windows ME (Millennium Edition). Кратко представим, чем же она отличалась:

  • Улучшение работы с мультимедийными средствами.
  • Возможность записи как аудио-, так и видеоконференций.
  • Появление средств для восстановления информации после сбоев системы.
  • Отсутствие реального режима от MS-DOS.

Windows XP и Vista

ХР — самая популярная операционная система из группы «Виндовс». Имела версию как для домашних, так и для корпоративных компьютеров. Ключевые добавления:

  • Улучшенный графический интерфейс.
  • Быстрая смена «юзеров».
  • Возможности удаленного управления ПК.
  • Улучшение возможностей восстановления системы.

В 2003 году увидел свет серверный вариант ОС — Windows Server 2003. По словам его разработчиков, здесь было уделено большое внимание безопасности системы. В 2006 году появилась версия ХР для маломощных ПК под названием Windows Fundamentals for Legacy PCs (FLP).

В 2006 году корпоративным клиентам была представлена «Виста». Рядовые пользователи смогли приобрести ее «домашнюю» версию только в 2007 году. «Висту» отличало следующее:

  • Новые возможности по управлению пользовательским интерфейсом.
  • Обновленная подсистема управления памятью, ввода-вывода.
  • Появление режима «гибернации».
  • Улучшение возможностей безопасности.

Windows 7

Эта операционная система от «Виндовс» появилась на прилавках магазинов в 2007 году. Давайте посмотрим на ее отличительные характеристики:

  • Поддержка «Юникод 5.1».
  • Возможность мультитач-управления.
  • Появление 50 новых шрифтов вдобавок к доработанным стандартным.
  • Поддержка псевдонимов папок на внутреннем уровне.
  • Тесная интеграция с изготовителями драйверов.
  • Совместимость с рядом старых приложений, чей запуск был невозможен на «Виста».
  • Новый интерфейс стандартного мультимедиа-проигрывателя.
  • Поддержка нескольких мониторов, расширений мультимедиа, возможность воспроизведения аудиофайлов с низкими задержками.

Windows 8

Данная версия появилась в продаже в 2012 году. По статистике, находится на втором месте по распространенности в мире (после 7-й версии).

Нововведения тут следующие:

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

Windows 10

Новейшая на сегодня версия операционной системы вышла в свет в июле 2015 года. Вот ее ключевые отличия от предыдущих:

  • Модификация меню «Пуск»: представлено в виде настраиваемых пользователем плиток.
  • Изменение размера «Пуска».
  • Новые возможности использования магазина приложений.
  • Появление «Центра уведомлений».
  • Обновленный календарь, часы, батарейный индикатор (для ноутбуков).
  • Современные окна с новой анимацией.
  • Обновленные интерфейсы приветствия и блокировки.

На этом заканчивается наш обзор операционных систем «Виндовс». Возможно, уже в ближайшем будущем список дополнится новой версией.

  • III. Психические свойства личности – типичные для данного человека особенности его психики, особенности реализации его психических процессов.
  • IV. Особенности правового регулирования труда беременных женщин
  • Аграрная реформа 1861 г., ее механизм и особенности проведения в белорусских губерниях.
  • Агрегатный индекс цен: особенности построения с учетом разных весов
  • 7.1. Основные особенности операционной системы Windows

    Операционная система Windows является графической операционной системой для компьютеров платформы IBM PC. Её основные средства управления – мышь и клавиатура. Операционная система Windows предназначена для управления автономным компьютером, но также содержит все необходимое для создания небольшой локальной компьютерной сети. В состав операционной системы включены средства для работы в Интернет.

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

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

    Операционная система Windows содержит набор стандартных прикладных программ. Основные из них следующие:

    Программа Блокнот. Это простейший текстовый редактор, который можно использовать для просмотра текстовых файлов. Для создания текстовых документов используется редко.

    Графический редактор Paint.

    Используется для обучения работе с графическими объектами перед изучением профессиональных графических редакторов.

    Текстовый процессор WordPad.

    Служит для создания, редактирования и просмотра текстовых документов. Является упрощенным вариантом текстового процессора Word.

    Калькулятор.

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

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

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

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

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

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

    Like this post? Please share to your friends:
  • На каком разделе находится загрузчик windows
  • На mac не грузится windows 7
  • На вашем пк возникла проблема windows 10 при включении ноутбука
  • На какие устройства можно установить ос windows
  • На каком порту работает rdp в windows