Содержание
- О работе ПК ч.3: От включения до полной загрузки Windows 10
- Старт системы
- Поиск загрузчика ОС
- Запуск на UEFI
- Инициализация ядра
- Запуск подсистем – SMSS, CSRSS, WinInit
- Где здесь клавиатура?
- Пару слов о USB
- Структура ОС Windows XP
О работе ПК ч.3: От включения до полной загрузки Windows 10
Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.
Старт системы
Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.
Контакты на материнке для подключения кнопки включения, светодиодов состояния Power, жёсткого диска и динамиков.
Плата ноутбука с кнопкой включения и светодиодом состояния
Прикладная иллюстрация как блок питания получает сигнал от материнки на включение. Если вы задумаете установить мощную видеокарту (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 начинает процесс поиска загрузчика ОС. Для этого он начинает просматривать все подключенные к материнской плате жёсткие диски. Данные на физических дисках адресуются в единицах называемых сектор, обычно он 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.
Запуск на 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.
Инициализация ядра
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.
Сейчас возникает вопрос, откуда у обработчика прерываний аргумент? Кто его передаёт? Ведь 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. Их всего четыре – витая пара для передачи битов данных, плюс и минус питания.
Провода кабеля 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 имеет модульную структуру (рис. 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 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, а также приложения пользовательского режима могут манипулировать процессами и потоками. Во время работы диспетчер процессов сопоставляет с каждым процессом и потоком идентификатор процесса (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: (необходимые драйверы устройств).
Процесс загрузки компьютера начинается с процедуры начального тестирования оборудования (POST – Power-On Self Test). Код, выполняющий POST, зашит в базовой системе ввода-вывода (BIOS) каждого компьютера, при включении питания ему передается управление. Если в процессе тестирования обнаруживаются какие-либо ошибки, то BIOS генерирует коды ошибок (POSTcodes), которые отличаются для BIOS разных производителей, и звуковые коды. Если процедура POST завершается успешно, то BIOS передает управление главной загрузочной записи (MBR – Master 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. Опишите ряд действий выполняемых ядром при инициализации?
Источник
В
лекции рассматриваются следующие
вопросы: методы проектирования и
реализации ОС: уровни абстракции ОС; ОС
с архитектурой микроядра; виртуальные
машины; цели проектирования и разработки
ОС с точки зрения пользователей и
разработчиков; генерация ОС для конкретной
компьютерной системы при ее инсталляции.
Содержание
-
Введение
-
Уровни
абстракции ОС -
Операционные
системы с микроядром -
Виртуальные
машины – другой распространенный
подход к разработке операционных систем
и их пользовательских интерфейсов -
Виртуальная
машина Java (JVM) -
Цели
проектирования и разработки ОС -
Механизмы
и политики -
Реализация
операционных систем -
Генерация
операционной системы -
Ключевые
термины -
Краткие
итоги -
Набор
для практики-
Вопросы
-
Упражнения
-
Темы
для курсовых работ, рефератов, эссе
-
Введение
Сложность
архитектуры ОС приводит к необходимости
использования специальных методов для
их разработки. В лекции рассмотрены
наиболее популярные из таких методов.
Уровни
абстракции ОС
Проектирование
и реализация операционных систем
адекватно соответствуют принципу
уровней абстракции, сформулированному
Э. Дейкстрой и подробно рассмотренному
в «История
ОС. Отечественные ОС. Диалекты UNIX. Режимы
пакетной обработки, мультипрограммирования,
разделения времени «.
На рис.
7.1
изображены уровни абстракции при
разработке ОС.
Каждый
новый уровень абстракции M определяет
новые операции, в реализации которых
используются
операции предшествующего уровня M-1.
Кроме того, уровень M-1 может иметь скрытые
операции, используемые
только на этом уровне и недоступные
другим уровням.
Рис.
7.1.
Уровни абстракции ОС.
На
рис.
7.2
изображены уровни абстракции операционной
системы OS/2
–
второй ОС (вслед за MS DOS), разработанной
фирмой Microsoft (в середине 1980-х гг.) для
персональных компьютеров
PS/2. OS/2 является значительно более
развитой ОС, чем MS DOS, как видно из рисунка.
Рис.
7.2.
Уровни абстракции OS/2
На
верхнем уровне абстракции прикладные
программы пользователей обращаются к
интерфейсу
прикладного программирования (application
programming interface – API), который
представляет собой набор библиотечных
функций. API структурирован по подсистемам,
причем набор подсистем расширяем. Нижние
уровни абстракции реализуют ядро ОС,
выполняющее функции управления памятью,
диспетчеризации задач и управления
устройствами. Наконец, на самом низком
уровне абстракции реализованы драйверы
устройств.
Операционные
системы с микроядром
Микроядро
(micro-kernel) –
один из важнейших принципов разработки
ОС, который заключается в переносе
максимально возможного числа модулей
из системного в пользовательское
«пространство», т.е. ОС разрабатывается
таким образом, что большинство ее модулей
выполняются в пользовательском режиме.
Коммуникация выполняется между
пользовательскими модулями с помощью
передачи сообщений. Преимущества такого
подхода:
-
микроядро
легче расширять; -
легче
переносить ОС на новые аппаратные
платформы; -
увеличивается
надежность ОС, так как большее число
программ выполняются в непривилегированном
режиме; -
улучшается
безопасность ОС.
По
такому принципу разработаны все
операционные системы семейства Windows
NT. Структура Windows NT изображена на рис.
7.3.
Рис.
7.3.
Клиент –серверная структура Windows NT.
Система
Windows NT (от New Technology), разработанная в
середине 1990-х гг., воплотила в себе новый
подход Microsoft к разработке операционных
систем. Его отличительные черты: модульная
клиент-серверная архитектура, микроядро,
обеспечение совместимости с
распространенными видами приложений
для других ОС (например, OS/2), расширенные
сетевые возможности,
повышенная надежность. Windows NT с середины
1990-х гг. широко распространилась как
серверная ОС. Для совместимости с
приложениями для других ОС, в Windows NT
реализованы соответствующие серверы.
Взаимодействие клиентских приложений
с ними показано на схеме. Аббревиатура
Win32
означает
«библиотеки (API) ОС Windows для 32-разрядных
процессоров». POSIX
(Portable Operating Systems of unIX type) – стандарт
для библиотек, системных вызовов и
системных программ для операционных
систем типа UNIX. POSIX-совместимость
означает, что приложение, предназначенное
для UNIX, использует только стандартные
возможности. Все современные ОС (начиная
с Windows NT) обеспечивают совместимость с
POSIX-приложениями. Заметим, что все серверы
для совместимости с другими ОС в Windows
NT выполняются в непривилегированном
режиме, но обращаются к микроядру.
Виртуальные
машины – другой распространенный подход
к разработке операционных систем и их
пользовательских интерфейсов
Концепция
виртуальной машины доводит подход,
основанный на уровнях абстракции, до
своего логического завершения. Согласно
данной концепции, совокупность аппаратуры
и ОС трактуется как машина. Виртуальная
машина предоставляет
интерфейс, полностью аналогичный
интерфейсу обычной машины без базового
программного обеспечения. ОС создает
иллюзию одновременного исполнения
нескольких процессов, каждого в своей
(виртуальной) памяти. Вообще, виртуализация
– один из наиболее современных принципов
развития и использования
программного обеспечения.
Пример:
система виртуальных машин (SVM) в ОС IBM
360/370, разработанная в конце 1980-х гг. Более
современный пример: Microsoft Virtual PC –
продукт, эмулирующий виртуальную машину,
в которую может быть инсталлирована
любая другая ОС, отличная от основной.
При
работе пользователей в виртуальных
машинах физические ресурсы реальной
компьютерной
системы используются совместно для
поддержки нескольких виртуальных машин.
Диспетчеризация процессора создает у
каждого пользователя впечатление, что
он имеет свой собственный процессор.
Буферизация (spooling) и файловая система
предоставляют виртуальные устройства
ввода и вывода. Терминал обычного
пользователя, характерный для более
раннего режима разделения времени,
действует как операторская
консоль.
Модели
операционных систем, разработанных без
использования концепции виртуальной
машины и на основе концепции виртуальных
машин, изображены на рис.
7.4.
Рис.
7.4.
Модели ОС без использования виртуальных
машин и на основе виртуальных машин.
Как
видно из схемы, без использования
виртуальных машин способ использования
ОС и аппаратуры традиционен: имеется
несколько пользовательских процессов,
совместно использующих одно ядро ОС и,
естественно, один экземпляр аппаратуры
компьютера.
При использовании виртуальных машин
картина меняется: процесс каждого
пользователя как бы получает в свое
распоряжение свой персональный
(виртуальный) компьютер и свой собственный
экземпляр ядра ОС, работающий на этом
виртуальном компьютере.
Концепция
виртуальной машины имеет следующие
преимущества и недостатки. С одной
стороны, она обеспечивает полную защиту
системных ресурсов, так как каждая
виртуальная машина изолирована от
других, Однако такая изоляция препятствует
эффективному совместному использованию
ресурсов реального компьютера.
Система
виртуальных машин – хорошая основа для
исследования и разработок в области
ОС. Разработка систем выполняется над
виртуальной машиной, а не на физической
машине, и не нарушает нормального
функционирования системы
Концепцию
виртуальной машины, однако, труднее
реализовать, так как трудно адекватно
смоделировать используемую машину.
Виртуальная
машина Java (JVM)
Подход,
основанный на виртуализации, характерен
не только для разработки операционных
систем, но и для реализации современных
платформ т языков программирования.
Причина в том, что реализаторы этих
языков и платформ стремятся сделать их
переносимыми с одной реальной аппаратной
платформы на другую. Такой подход принят,
как широко известно, при реализации
Java, но авторы Java отнюдь не первыми
предложили данную идею. Программы на
Java компилируются в платформонезависимый
байт-код
(bytecode) – команды
виртуальной Java-машины, построенные на
основе постфиксной записи операндов.
Байт-код исполняется виртуальной
машиной Java (JVM).
JVM
состоит из:
-
загрузчика
классов (class
loader), выполняющего загрузку классов в
виртуальную машину во время выполнения
программы; загрузчик классов может
быть стандартным или может быть
переопределен пользователем; -
верификатора
классов (class
verifier), выполняющего при загрузке класса
проверку корректности его байт-кода,
контроль типов и другие необходимые
проверки; -
интерпретатора
(runtime
interpreter), выполняющего интерпретацию
(эмуляцию) команд байт-кода – абстрактной
машины Java; -
Just-In-Time
(JIT) – компилятора,
выполняющего при первом вызове каждого
метода его компиляцию в объектный код
целевой платформы (native
– код),
что позволяет повысить суммарную
производительность выполнения программ
на Java.
Аналогичную
архитектуру имеет виртуальная машина
VES
(Virtual Execution System) платформы
Microsoft.NET, однако подход .NET более открытый
– поддерживается многоязыковое
программирование, и байт-код (в .NET
называемый CIL
– Common Intermediate Language)
играет роль универсального промежуточного
языка, в который компилируется исходный
код на любом языке, например, на C# или
Visual Basic. Подробное рассмотрение этих
вопросов выходит за рамки данного курса.
В качестве базового учебника по
Java-технологии рекомендую книгу
«Виртуальные
файловые системы (VFS). Реализации файловых
систем. Сетевая файловая система NFS».
Архитектура
виртуальной машины Java изображена на
рис.
7.5.
Рис.
7.5.
Архитектура виртуальной машины Java
(JVM).
Цели
проектирования и разработки ОС
Точки
зрения пользователей и разработчиков
ОС в данном отношении несколько
различаются.
Цели
с точки зрения пользователя:
ОС должна быть удобной в использовании,
простой для изучения, надежной, безопасной
и быстрой.
Цели
с точки зрения разработчика ОС:
ОС должна быть несложной для проектирования,
реализации и сопровождения, а также
гибкой, надежной, свободной от ошибок
и эффективной.
Соседние файлы в папке все лекции по ОС
- #
04.06.2015662.02 Кб16431.doc
- #
- #
04.06.2015699.9 Кб2084.doc
- #
04.06.201582.43 Кб1465.doc
- #
04.06.2015428.54 Кб1376.doc
- #
04.06.2015315.9 Кб1497.doc
- #
04.06.2015462.34 Кб1668.doc
- #
04.06.2015401.92 Кб1529.doc
Подсистемы окружения в Windows 2000
Над executive надстраиваются процессы пользовательского режима, обеспечивающие исполнение программ, разработанных для других ОС.
Windows 2000 использует подсистему Win32 как основное операционное окружение. Подсистема Win32 используется для запуска всех процессов. Она же обеспечивает средства работы с мышью, клавиатурой и средства графики.
Окружение MS-DOS обеспечивается приложением Win32, называемым Virtual Dos machine (VDM),процессом пользовательского уровня, для которого поддерживается страничная организация и диспетчеризация, как и для всех других потоков.
Окружение для 16-битовых Windows обеспечивается VDM, которая содержит подсистему Windows on Windows. Последняя предоставляет процедуры ядра Windows 3.1 для менеджера окон и функций GDI.
Подсистема POSIX спроектирована для исполнения POSIX-приложений, следующих POSIX.1 – стандарту, который базируется на модели UNIX.
Подсистема OS/2 выполняет OS/2 — приложения.
Подсистема входа и безопасности аутентифицирует пользователей, входящих в систему Windows 2000. Требуется, чтобы пользователи имели учетную запись с логином и пароль. Пакет аутентификации подсистемы безопасности аутентифицирует всех пользователей, которые пытаются осуществить доступ к какому-либо объекту системы. Windows 2000 использует Kerberos как пакет аутентификации по умолчанию.
Ключевые термины
Plug-and-Play (PnP) – механизм автоматического распознавания изменений в конфигурации оборудования и адаптации к ним (установки соответствующих драйверов).
Virtual Dos Machine (VDM) — процесс пользовательского уровня, обеспечивающий совместимость с приложениями MS-DOS.
Блокировщик (spin lock, буквально – вертящийся замок ) – системный механизм синхронизации, используемый для взаимного исключения процессов ядра Windows.
Исполнительная подсистема (executive) – основная часть ядра Windows, исполняемая в защищенном режиме, реализующая базовые системные сервисы.
Локальный вызов процедуры (LPC) – системный механизм вызова процедур Windows, передающий запросы и результаты между клиентским и серверным процессами на локальной машине; используется для запросов к сервисам различных подсистем ОС.
Объект-диспетчер — системный объект в Windows, управляющий диспетчеризацией и синхронизацией.
Объектная ссылка (object handle) — ссылка на системный объект ядра Windows.
Управляющий объект — системный объект Windows, управляющий асинхронным вызовом процедуры, обработкой прерывания, нотификацией об электропитании или профилированием.
Уровень абстрагирования от аппаратуры (hardware abstraction layer, HAL) – динамически линкуемая библиотека Windows, инкапсулирующая код, зависящий от конкретного процессора, — тем самым обеспечивающая независимость от аппаратуры всего остального кода Windows.
Краткие итоги
Windows 2000 / XP / 2003 / 2008 / 7 – новейшая линия в развитии ОС Windows, которой предшествовало более чем 20-летнее развитие Windows от графической оболочки в среде MS DOS до наиболее популярной в мире операционной системы. Windows 2000 – объектно-ориентированная ОС, основными целями разработки которой являются переносимость, безопасность, соответствие POSIX, поддержка многопроцессорности, расширяемость, поддержка интернационализации, совместимость приложений с MS DOS и первыми версиями Windows. Использует архитектуру микроядра.
Первой ОС в новой линии развития Windows стала Windows NT, выпущенная в середине 1990-х гг. Windows NT, 2000 и более новые версии Windows имеют общую кодовую базу – ядро ОС.
Windows 2000 написана на C и C++. Код, зависящий от процессора, выделен в специальный API – hardware abstraction layer (HAL).
Архитектура Windows 2000 — многоуровневая. В защищенном режиме исполняется ядро, исполнительная подсистема ядра – executive, реализующая базовые системные сервисы, и HAL. Над этими компонентами надстраиваются подсистемы пользовательского режима, эмулирующие различные ОС и обеспечивающие реализацию безопасности.
Ядро Windows разработано в объектно-ориентированном стиле и использует два набора системных объектов – объекты-диспетчеры и управляющие объекты.
Ядро поддерживает процессы и потоки. Используется гибкая система приоритетов, включающая поддержку потоков реального времени и разделения времени. Процессы реального времени планируются как soft real-time (без обязательности выдерживания фиксированного интервала времени ответа).
Ядро обеспечивает обработку прерываний и системный механизм исключений. Для синхронизации процессов ядра используются блокировщики типа spin locks.
Менеджер системных объектов обеспечивает генерацию системных объектных ссылок (object handles) и выполнение базовых операций над объектами. Поддерживается именование объектов и объекты – символические ссылки. Каждый объект защищен списком управления доступом.
Для реализации виртуальной памяти используется двухуровневая таблица страниц с размером страницы 4 килобайта. Используются файлы откачки.
Для системных вызовов процедур используется механизм LPC (local procedure call), обеспечивающий передачу сообщений или ссылок на общие области памяти.
Менеджер ввода-вывода поддерживает синхронные и асинхронные операции, тайм-ауты для драйверов, кэширование ввода-вывода, использование файлов, отображаемых в память.
Монитор безопасности использует маркеры безопасности процессов и списки управления доступом к объектам для авторизации.
Менеджер PnP отслеживает изменения в конфигурации и установку соответствующих драйверов новых устройств.
Подсистемы окружения Windows: подсистема Win32; DOS Virtual Machine; подсистема Windows on Windows (исполнение 16-битовых приложений Windows); подсистема POSIX, подсистема OS/2; подсистема входа и безопасности (управляет учетными записями пользователей, используя Kerberos-аутентификацию по умолчанию).
Набор для практики
Вопросы
- В каком качестве была реализована первая версия Windows и в какой среде она работала?
- В чем принципиальная новизна подхода к реализации Windows NT?
- Назовите все операционные системы, являющиеся развитием Windows NT.
- В чем новизна и каковы основные преимущества ОС Windows 95 / 98?
- Каковы основные цели разработки Windows 2000?
- На каких языках написана Windows 2000?
- Как называется исполнительная подсистема ядра Windows 2000 и какие основные сервисы она реализует?
- Каким образом достигнута минимальная зависимость кода Windows от аппаратуры?
- С программами для каких ОС и стандартов обеспечивается совместимость в системе Windows 2000?
- Какие компоненты Windows исполняются в защищенном, а какие – в пользовательском режиме?
- Что такое подсистема в ОС Windows? Назовите все подсистемы ОС Windows.
- Какие виды системных объектов использует ядро Windows?
- В каких состояниях может находиться поток в Windows?
- Какие классы процессов и потоков выделяются при планировании в Windows?
- Какие механизмы используются для обработки ошибок в Windows?
- Какие средства используются для синхронизации системных процессов ядра Windows?
- Какие функции выполняет менеджер объектов исполнительной подсистемы ядра Windows?
- Каким образом защищены системные объекты ядра Windows?
- Как организована система виртуальной памяти и таблицы страниц в Windows?
- Какой процедурный механизм коммуникации используется для системных процессов?
- Какие функции выполняет менеджер ввода-вывода?
- Какие системные структуры используются подсистемой безопасности для авторизации процессов?
- Какие функции выполняет менеджер Plug-and-Play?
- Какие подсистемы окружения для совместимости с другими ОС имеются в Windows?
- Какой вид аутентификации используется в Windows?
Упражнения
- Инсталлируйте новую версию Windows, имеющуюся в Вашем распоряжении (Windows 7, Vista и др.) и проанализируйте ее основные возможности для пользователей.
- Используйте открытое академическое ядро Windows (WRK) и изучите по исходным кодам и опишите основные компоненты ядра Windows (executive и др.).
- Поэкспериментируйте с запуском в новой версии Windows приложений для других ОС – MS DOS, Windows 3.1 и др.
Темы для курсовых работ, рефератов, эссе
- История операционных систем семейства Windows (реферат).
- Архитектура и принципы проектирования Windows 2000 (реферат).
- Исполнительная подсистема (executive) ядра Windows 2000 (реферат).
- Подсистемы окружения Windows 2000 и совместимость с другими ОС (реферат).
- Использование открытого академического ядра Windows (WRK) для изучения по исходным кодам и описания основных компонент ядра Windows (executive и др.). (курсовая работа).
- Эксперименты с запуском в новой версии Windows приложений для других ОС – MS DOS, Windows 3.1 и др. (курсовая работа).
Слайд 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
NT, а также
программного интерфейса Win32.
Требования и цели проекта.
История появления ядра Windows
NT, а также
программного интерфейса Win32.Требования
и цели проекта.
ОС 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.
Рис. 1.3.
Сравнение архитектур ОС Windows и VAX/VMS
Объем исходных текстов ядра ОС Windows
неизвестен. По некоторым оценкам, объем
ядра Windows NT 3.5 составляет приблизительно
10Мб, а с каждой новой версией ОС Windows
этот объем неуклонно увеличивается в
полтора-два раза.
Требования и цели проекта.
Перед разработчиками системы была
поставлена задача создать операционную
систему персонального компьютера,
предназначенную для решения серьезных
задач, а также для домашнего использования.
Перечень возможностей системы достаточно
широк, вот лишь некоторые из них [6],[4].
Операционная система Windows:
-
является истинно 32-разрядной, поддерживает
вытесняющую многозадачность; -
работает на разных аппаратных архитектурах
и обладает способностью к сравнительно
легкому переносу на новые аппаратные
архитектуры; -
поддерживает работу с виртуальной
памятью; -
является полностью реентерабельной;
-
хорошо масштабируется в системах с
симметричной мультипроцессорной
обработкой; -
является распределенной вычислительной
платформой, способной выступать в роли
как клиента сети, так и сервера; -
защищена как от внутренних сбоев, так
и от внешних деструктивных действий.
У приложений нет возможности нарушить
работу операционной системы или других
приложений; -
совместима, то есть, ее пользовательский
интерфейс и API совместимы с предыдущими
версиями Windows и MS-DOS. Она также умеет
взаимодействовать с другими системами
вроде UNIX, OS/2 и NetWare; -
обладает высокой производительностью
независимо от аппаратной платформы; -
обеспечивает простоту адаптации к
глобальному рынку за счет поддержки
Unicode; -
поддерживает многопоточность и объектную
модель.
Успешность реализации этих требований
будет продемонстрирована по мере
изучения деталей ОС Windows. В рамках курса
будут введены и впоследствии уточнены
и детализированы различные понятия и
термины.. Некоторые из них приведены в
приложении.
Общее описание структуры системы
Архитектура ОС претерпела ряд изменений
в процессе эволюции. Первые версии
системы имели микроядерный дизайн,
основанный на микроядре Mach, которое
было разработано в университете
Карнеги-Меллона. Архитектура более
поздних версий системы микроядерной
уже не является. Причина заключается в
постепенном преодолении основного
недостатка микроядерных архитектур —
дополнительных накладных расходов,
связанных с передачей сообщений. По
мнению специалистов Microsoft, чисто
микроядерный дизайн коммерчески
невыгоден, поскольку неэффективен.
Поэтому большой объем системного кода,
в первую очередь управление системными
вызовами и экранная графика, был перемещен
из адресного пространства пользователя
в пространство ядра и работает в
привилегированном режиме. В результате
в ядре ОС Windows переплетены элементы
микроядерной архитектуры и элементы
монолитного ядра (комбинированная
система). Сегодня микроядро ОС Windows
слишком велико (более 1 Мб), чтобы носить
приставку «микро». Основные
компоненты ядра Windows NT располагаются в
вытесняемой памяти и взаимодействуют
друг с другом путем передачи сообщений,
как и положено в микроядерных операционных
системах. В тоже время все компоненты
ядра работают в одном адресном пространстве
и активно используют общие структуры
данных, что свойственно операционным
системам с монолитным ядром.Высокая
модульность и гибкость первых версий
Windows NT позволила успешно перенести
систему на такие отличные от Intel платформы,
как Alpha (корпорация DEC), Power PC (IBM) и MIPS
(Silicon Graphic). Более поздние версии
ограничиваются поддержкой архитектуры
Intel x86.Упрощенная схема архитектуры,
ориентированная на выполнение
Win32-приложений, показана на рис.
1.4.
Рис.
1.4.
Упрощенная архитектурная схема ОС
Windows
ОС Windows состоит из компонентов, работающих
в режиме ядра, и компонентов, работающих
в режиме пользователя. Несмотря на
миграцию системы в сторону монолитного
ядра она сохранила некоторую структуру.
В схеме, представленной на рис.
1.4, отчетливо просматриваются
несколько функциональных уровней,
каждый из которых пользуется сервисами
более низкого уровня.Задача уровня
абстрагирования от оборудования
(hardware abstraction layer, HAL)— скрыть аппаратные
различия аппаратных архитектур для
потенциального переноса системы с одной
платформы на другую. HAL предоставляет
выше лежащим уровням аппаратные
устройства в абстрактном виде, свободном
от индивидуальных особенностей. Это
позволяет изолировать ядро, драйверы
и исполнительную систему ОС Windows от
специфики оборудования (например, от
различий между материнскими платами).Ядром обычно называют все компоненты
ОС, работающие в привилегированном
режиме работы процессора или в режиме
ядра. Корпорация Microsoft называетядром
(kernel)компонент, находящийся в
невыгружаемой памяти и содержащий
низкоуровневые функции операционной
системы, такие, как диспетчеризация
прерываний и исключений, планирование
потоков и др. Оно также предоставляет
набор процедур и базовых объектов,
применяемых компонентами высших
уровней.Ядро и HAL являются аппаратно-зависимыми
и написаны на языках Си и ассемблера.
Верхние уровни написаны на языке Си и
являются машинно-независимыми.Исполнительная
система (executive)обеспечивает
управление памятью, процессами и
потоками, защиту, ввод-вывод и взаимодействие
между процессами.Драйверы устройствсодержат аппаратно-зависимый код и
обеспечивают трансляцию пользовательских
вызовов в запросы, специфичные для
конкретных устройств. Подсистема
поддержки окон и графики реализует
функции графического пользовательского
интерфейса (GUI), более известные как
Win-32-функции модулей USER и GDI.В пространстве
пользователя работают разнообразные
сервисы, управляемые диспетчером
сервисов и решающие системные задачи.
Некоторые системные процессы (например,
обработка входа в систему) диспетчером
сервисов не управляются и называются
фиксированными процессами поддержки
системы. Пользовательские приложения
(user applications) бывают пяти типов: Win32, Windows
3.1, MS-DOS, POSIX и OS/2 1.2. Среду для выполнения
пользовательских процессов предоставляют
три подсистемы окружения: Win32, POSIX и OS/2.
Таким образом, пользовательские
приложения не могут вызывать системные
вызовы ОС Windows напрямую, а вынуждены
обращаться к DLL подсистем (краткое
определение dll имеется в приложении).Основныекомпоненты ОС Windows реализованы в
следующих системных файлах, находящихся
в каталоге system32:
-
ntoskrnl.exe — исполнительная система и ядро;
-
ntdll.dll — внутренние функции поддержки и
интерфейсы диспетчера системных
сервисов с функциями исполнительной
системы; -
hal.dll — уровень абстрагирования от
оборудования; -
win32k.sys — часть подсистемы Win32, работающая
в режиме ядра; -
kernel32.dll, advapi32.dll, user32.dll, gdi32.dll — основные
dll подсистемы Win32.
Соседние файлы в папке ГОСЫ
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Обновлено: 08.10.2023
Операционная система
А. Концепция ОС компьютеров в настоящее время влияет на все сферы человеческой деятельности и вызывает множество изменений в промышленности, правительстве, образовании, медицине, науке, исследованиях, праве, социальных науках и в таких искусствах, как музыка и живопись. В настоящее время они используются, среди других приложений. , чтобы:
- Проектируйте здания, мосты и машины.
- Управляйте космическими аппаратами.
- Помощь в подготовке перспективного плана страны.
- Контролируйте запасы, чтобы минимизировать материальные затраты.
- Выставляйте оценки за экзамены и обрабатывайте результаты.
- Помощь в обучении.
- Систематически сохраняйте и быстро извлекайте данные о преступлениях и преступниках.
- Играйте в шахматы и видеоигры.
Области применения компьютеров ограничиваются только ограничениями человеческого творчества и воображения. На самом деле любая задача, которую можно выполнять систематически, используя точный пошаговый метод, может быть выполнена компьютером. Поэтому каждому образованному человеку сегодня необходимо знать о компьютере, его сильных и слабых сторонах и его внутреннем устройстве.
Определение компьютера
Блок-схема компьютера
Компьютер — это электронная машина, которая принимает ввод и производит вывод, следуя некоторым инструкциям (программам). На следующей схеме показана логическая структура компьютера.
Таким образом, компьютер представляет собой комбинацию средств ввода, памяти, процессора и выходных средств ввода, с помощью которых мы можем вводить данные в компьютеры, например. Клавиатура, мышь, сканер и т. д. Средства вывода, с помощью которых мы можем проверять вывод на блок обработки (где выполняются программы), такие как монитор, принтеры и т. д. Память — это область хранения, в которой пользователь сохраняет данные и информацию.
Цели операционных систем
Современные операционные системы обычно преследуют три основные цели. Операционные системы обычно достигают этих целей, запуская процессы с низкими привилегиями и предоставляя вызовы служб, которые вызывают ядро операционной системы в состоянии с высокими привилегиями.
- Чтобы скрыть информацию об оборудовании, создав абстракцию.
Абстракция — это программное обеспечение, которое скрывает детали более низкого уровня и предоставляет набор функций более высокого уровня. Операционная система преобразует физический мир устройств, инструкций, памяти и времени в виртуальный мир, который является результатом абстракций, созданных операционной системой. Есть несколько причин для абстракции. Во-первых, код, необходимый для управления периферийными устройствами, не стандартизирован. Операционные системы предоставляют подпрограммы, называемые драйверами устройств, которые выполняют операции от имени программ, например, операции ввода/вывода. Во-вторых, операционная система вводит новые функции, поскольку она абстрагирует аппаратное обеспечение. Например, операционная система вводит файловую абстракцию, чтобы программам не приходилось иметь дело с дисками. В-третьих, операционная система преобразует компьютерное оборудование в несколько виртуальных компьютеров, каждый из которых принадлежит отдельной программе. Каждая работающая программа называется процессом. Каждый процесс рассматривает оборудование через призму абстракции. В-четвертых, операционная система может обеспечивать безопасность посредством абстракции.
- Чтобы выделить ресурсы процессам (Управление ресурсами)
Операционная система управляет доступом процессов (активных агентов) к ресурсам (пассивным объектам).
- Предоставить приятный и эффективный пользовательский интерфейс.
Пользователь взаимодействует с операционными системами через пользовательский интерфейс и обычно интересуется внешним видом операционной системы. Наиболее важными компонентами пользовательского интерфейса являются интерпретатор команд, файловая система, интерактивная справка и интеграция приложений. В последнее время наблюдается тенденция к все более интегрированным графическим пользовательским интерфейсам, которые охватывают действия нескольких процессов в сетях компьютеров. Операционные системы можно рассматривать с двух точек зрения: менеджер ресурсов и расширенные машины. С точки зрения диспетчера ресурсов формы Операционные системы эффективно управляют различными частями системы, а с точки зрения расширенных машин Операционные системы предоставляют пользователям более удобную виртуальную машину. Структурно операционные системы могут быть спроектированы как монолитная система, иерархия уровней, система виртуальных машин, экзоядро или модель клиент-сервер. Основными понятиями операционных систем являются процессы, управление памятью, управление вводом-выводом, файловые системы и безопасность.
Компонент компьютеров
В целом компьютер состоит из трех компонентов:
Оборудование — это части компьютера (можно сказать, физическая часть), к которым пользователь может прикасаться.Физическая часть компьютера называется аппаратным обеспечением, таким как клавиатура, монитор, мышь и т. д.
Программное обеспечение — это программа, которая хранится в памяти компьютера и не может быть затронута пользователем. Программное обеспечение — это набор программ, а программы — это набор инструкций. Предположим, нам нужно создать программное обеспечение по математике, для этого нам нужно несколько программ сложения, умножения и т. д., а в одной программе есть несколько инструкций. Примеры: windows98, windows2000, MS Office, Internet Explorer и т. д.
Пользователь также является важным компонентом компьютера, поскольку без него мы не можем работать с компьютером. Пользователь также классифицируется по нескольким типам, таким как оператор, программист, аналитик, администратор и т. д. У каждого пользователя есть конкретное назначение для выполнения конкретной задачи. Компоненты компьютеров В широком смысле компьютер состоит из трех компонентов:
Оборудование — это части компьютера (можно сказать, физическая часть), к которым пользователь может прикасаться. Физическая часть компьютера называется аппаратным обеспечением, таким как клавиатура, монитор, мышь и т. д.
Программное обеспечение — это программа, которая хранится в памяти компьютера и не может быть затронута пользователем. Программное обеспечение — это набор программ, а программы — это набор инструкций. Предположим, нам нужно создать программное обеспечение по математике, для этого нам нужно несколько программ сложения, умножения и т. д., а в одной программе есть несколько инструкций. Примеры: windows98, windows2000, MS Office, Internet Explorer и т. д.
Пользователь также является важным компонентом компьютера, поскольку без него мы не можем работать с компьютером. Пользователи также классифицируются по нескольким типам, таким как оператор, программист, аналитик, администратор и т. д. У каждого пользователя есть определенное назначение для выполнения конкретной задачи.
Что такое операционная система?
Существует несколько типов операционных систем, наиболее распространенными из которых являются Windows, Linux и Macintosh. Вот обзор каждой системы:
- Windows. Windows — это популярный бренд Microsoft, предпочитаемый большинством пользователей. Эта система прошла долгий путь от версии 1.0 до новой Vista и скоро будет выпущена Windows 7. Хотя Windows добилась больших успехов в отношении безопасности, она имеет репутацию одной из самых уязвимых систем.< /li>
- Unix/Linux. Операционная система Unix существует уже много лет и хорошо известна своей стабильностью. Unix чаще используется как сервер, чем как рабочая станция. Linux был основан на системе Unix, а исходный код был частью проекта GNU с открытым исходным кодом. Обе системы очень безопасны, но намного сложнее, чем Windows.
- Macintosh. Последние версии операционной системы Macintosh, включая Mac OS X, основаны на защищенной архитектуре Unix. Системы, разработанные Apple, эффективны и просты в использовании, но могут работать только на фирменном оборудовании Apple.
Исторически операционные системы были тесно связаны с архитектурой компьютера, поэтому рекомендуется изучать историю операционных систем по архитектуре компьютеров, на которых они работают. Операционные системы прошли через ряд отдельных этапов или поколений, что примерно соответствует десятилетиям.
У первых электронных цифровых компьютеров не было операционных систем. Машины того времени были настолько примитивны, что программы часто вводились побитно с помощью рядов механических переключателей (разъемных плат). Языки программирования были неизвестны (даже языки ассемблера). О операционных системах никто и не слышал.
К началу 1950-х годов рутина несколько улучшилась с появлением перфокарт. Исследовательские лаборатории General Motors внедрили первые операционные системы в начале 1950-х годов для своего IBM 701. Система 50-х обычно выполняла одну работу за раз. Они назывались однопотоковыми системами пакетной обработки, поскольку программы и данные отправлялись группами или пакетами.
Системы 1960-х годов также были системами пакетной обработки, но они могли лучше использовать ресурсы компьютера, выполняя несколько заданий одновременно. Поэтому разработчики операционных систем разработали концепцию мультипрограммирования, при которой несколько заданий находятся в оперативной памяти одновременно; процессор переключается с задания на задание по мере необходимости, чтобы поддерживать продвижение нескольких заданий, сохраняя при этом использование периферийных устройств. Например, в системе без многозадачности, когда текущее задание приостанавливалось для ожидания завершения другой операции ввода-вывода, ЦП просто бездействовал до завершения ввода-вывода. Решением этой возникшей проблемы стало разделение памяти на несколько частей с разными заданиями в каждом разделе. Пока одно задание ожидало завершения ввода-вывода, другое задание могло использовать ЦП. Еще одной важной особенностью операционной системы третьего поколения была техника, называемая буферизацией (одновременные периферийные операции на линии). При буферизации высокоскоростное устройство, такое как диск, помещается между работающей программой и низкоскоростным устройством, задействованным в вводе/выводе программы.Например, вместо прямой записи на принтер выходные данные записываются на диск. Программы могут выполняться до завершения быстрее, а другие программы могут запускаться раньше, когда принтер становится доступным, выходные данные могут быть распечатаны. Обратите внимание, что метод намотки очень похож на сматывание нити в катушку, чтобы ее можно было позже размотать по мере необходимости. Еще одна особенность, представленная в этом поколении, — это метод разделения времени, вариант метода мультипрограммирования, при котором у каждого пользователя есть онлайновый (т. Е. Подключенный напрямую) терминал. Поскольку пользователь присутствует и взаимодействует с компьютером, компьютерная система должна быстро реагировать на запросы пользователя, иначе может пострадать производительность пользователя. Системы разделения времени были разработаны для многозадачности большого количества одновременных интерактивных пользователей. Четвертое поколение С развитием схем LSI (крупномасштабная интеграция), микросхемы, операционная система вошли в систему, вошедшую в эпоху персональных компьютеров и рабочих станций. Микропроцессорная технология развилась до такой степени, что стало возможным создавать настольные компьютеры, столь же мощные, как мэйнфреймы 1970-х годов. На рынке персональных компьютеров доминировали две операционные системы: MS-DOS, написанная Microsoft, Inc. для IBM PC и других машин с процессором Intel 8088 и его преемниками, и UNIX, которая доминирует на больших персональных компьютерах с процессором Motorola. Семейство ЦП 6899.
Как мы уже знаем, компьютер представляет собой набор аппаратных средств, но пользователь не может взаимодействовать с аппаратными средствами, потому что пользователю нужен некоторый интерфейс для работы с компьютером, поэтому операционная система (ОС) является основным интерфейсом между пользователем и компьютером. ОС — это системная программа , которая дает пользователю простой способ получить доступ к компьютеру . Лучшим примером является DOS и Windows98. В настоящее время Windows 98 является одной из лучших ОС в мире, потому что она очень удобна для пользователя, проста в освоении и поддерживает графический интерфейс пользователя (графический интерфейс пользователя). GUI означает команды, отображаемые в виде изображений. Таким образом, мы можем сказать, что ОС — это прослойка между пользователем и компьютером.
А. типы ОС с примерами Как вы уже знаете, у ОС есть ключевая функция для управления компьютерами. Согласно требованиям, ОС применима для однопользовательской системы, где один пользователь работает только на одном компьютере. Но иногда приходится работать по номеру системы. Итак ОС двух типов:-
Система, которая используется одним пользователем в определенное время, называется однопользовательской системой, а операционная система, которая поддерживает это действие, называется однопользовательской операционной системой. Дисковая операционная система (DOS) является примером системы такого типа. Другими словами, в системе этого типа только один пользователь может получить доступ к файлу и изменить его в любой момент времени.
Система, которая используется более чем одним человеком/пользователем в данный момент времени, называется многопользовательской системой, а операционная система, которая поддерживает эту деятельность, называется многопользовательской операционной системой. MS-Windows и Unix — две такие популярные операционные системы. В такой среде несколько пользователей могут получить доступ к файлу, расположенному в определенной системе, и изменить его из своего местоположения только при условии, что они уполномочены делать это.
Основные части экрана Windows 98
Большая фоновая область экрана Windows. Вы можете настроить рабочий стол, добавив ярлыки к любимым программам, документам и принтерам. Вы также можете изменить внешний вид рабочего стола в соответствии со своим настроением и индивидуальностью.
Мои документы — это специальная папка, в которой удобно хранить файлы и документы, созданные на вашем компьютере.
Мой компьютер позволяет вам видеть все на вашем компьютере. Дважды щелкните значок «Мой компьютер» на рабочем столе, чтобы просмотреть файлы и папки.
Если вы подключены к сети, на рабочем столе появится значок сетевого окружения. Вы можете дважды щелкнуть значок сетевого окружения, чтобы просмотреть компьютер в рабочей группе и компьютер в сети. Если вы подключены к Интернету, на рабочем столе появится значок сетевого окружения , так как Интернет на самом деле тоже является сетью.
В корзине хранятся все файлы, которые вы удаляете с компьютера. Вы можете использовать корзину для извлечения случайно удаленных файлов или очистить корзину, чтобы освободить место на диске.
Если вы работаете на двух компьютерах, вы можете использовать портфель, чтобы обновлять файлы.
Панель задач обычно появляется в нижней части экрана и содержит известную кнопку запуска, которую вы используете для запуска своих программ. Всякий раз, когда вы открываете программу, документ или окно, значок этой программы появляется на панели задач. Это позволяет вам видеть, какие программы запущены в данный момент, и легко переключаться между ними.
Кнопка «Пуск» позволяет быстро открывать программы и документы. Вы также можете использовать кнопку «Пуск», чтобы найти и изменить настройки окон.
Появившаяся в Windows 98 панель быстрого запуска обеспечивает быстрый доступ к наиболее часто используемым приложениям.Internet Explorer, Outlook Express, рабочий стол Windows и несколько веб-сайтов, называемых каналами, уже включены в панель быстрого запуска по умолчанию.
Операционная система – это программный компонент, выступающий в роли ядра компьютерной системы. Он выполняет различные функции и, по сути, является интерфейсом, соединяющим ваш компьютер и его поддерживаемые компоненты. В этой статье мы обсудим основные функции операционной системы, а также проблемы безопасности для наиболее популярных типов. Также узнайте больше об основных операциях Драйверы играют важную роль в операционной системе. Драйвер — это программа, предназначенная для понимания функций конкретного устройства, установленного в системе. Драйвер обеспечивает работу многочисленных устройств, включая мышь, клавиатуру, принтер, видеокарту и дисковод компакт-дисков, преобразуя команды операционной системы или пользователя в команды, понятные соответствующему компоненту. Он также переводит ответы от компонента обратно в операционную систему, программное приложение или пользователя.
Операционная система выполняет другие функции с системными утилитами, отслеживающими производительность,
Информацию об интерфейсах программирования, которые может реализовывать или вызывать ваш драйвер, см. в Справочнике по драйверу режима ядра.
Этот раздел включает общие понятия, которые помогут вам понять программирование в режиме ядра, и описывает конкретные приемы программирования ядра. Общий обзор драйверов Windows см. в разделе «Начало работы с драйверами Windows», в котором представлен общий обзор компонентов Windows, перечислены типы драйверов устройств, используемых в Windows, обсуждаются цели драйверов устройств Windows и обсуждаются типовые образцы драйверов устройств, включенные в комплект.
В этом разделе содержится концептуальная информация, описывающая и помогающая создавать драйверы режима ядра.
Обзор, содержащий:
Компоненты режима ядра описывает основные менеджеры и компоненты режима ядра операционной системы Windows.
Написание драйверов WDM и Введение в WDM содержат информацию, необходимую для написания драйверов с использованием модели драйверов Windows (WDM).
Объекты устройств и другие разделы Объекты устройств и Стеки устройств описывают, как операционная система представляет устройства объектами устройств.
Управление памятью для драйверов Windows показывает, как драйверы режима ядра выделяют память для таких целей, как хранение внутренних данных, буферизация данных во время операций ввода-вывода и совместное использование памяти с другими компонентами режима ядра и пользовательского режима.
Безопасность От управления доступом к устройствам и привилегиями до SDDL для объектов устройств, убедитесь, что ваши драйверы максимально безопасны.
Обработка IRP описывает, как драйверы режима ядра обрабатывают пакеты запросов ввода-вывода (IRP).
Прямой доступ к памяти с прямым доступом к памяти (DMA) – важнейший аспект разработки драйверов, и темы в этом разделе охватывают DMA от А до Я.
Объекты контроллера представляют контроллер физического устройства с подключенными устройствами.
Подпрограммы обслуживания прерываний (ISR) обрабатывают прерывания для драйверов физического устройства, получающего прерывания.
Прерывания, сигнализируемые сообщением, вызывают прерывание, записывая значение в определенный адрес памяти.
Вызовы отложенных процедур (объекты DPC) могут ставиться в очередь из ISR и выполняться позже и с более низким IRQL, чем ISR.
Plug and Play (PnP) фокусируется на поддержке системным программным обеспечением PnP и на том, как драйверы используют эту поддержку для реализации PnP.
Управление питанием описывает архитектуру, обеспечивающую комплексный подход к управлению питанием системы и устройства.
Инструментарий управления Windows (WMI) — это расширения вашего драйвера режима ядра, которые позволяют вашему драйверу стать поставщиком WMI. Поставщик WMI делает данные измерений и инструментов доступными для потребителей WMI, таких как приложения пользовательского режима.
Методы программирования драйверов Для программирования драйверов в режиме ядра Windows требуются методы, которые иногда значительно отличаются от методов обычного программирования в пользовательском режиме.
Организациям требуются системы виртуализации, которые не только поддерживают различные типы приложений, но и упрощают ИТ-инфраструктуру.
Виртуализация приносит экономию средств и экономит время ИТ-специалистам, которые курируют роботов-роботов. Для эффективной реализации требуется облачная среда.
Администраторы часто сравнивают Xen и KVM как варианты с открытым исходным кодом. Основными факторами, которые следует учитывать при выборе основного гипервизора, являются организационные факторы.
Чтобы добиться высокой доступности и отказоустойчивости в AWS, ИТ-администраторы должны сначала понять различия между двумя моделями.
Amazon ECS и EKS похожи, но их различий достаточно, чтобы выделить их для пользователей AWS. Узнайте, что лучше всего подходит для вашего .
Новые дополнения к системам хранения, такие как гибкие блочные тома и высокая доступность для ZFS, делают облачную платформу Oracle более конкурентоспособной.
Хороший дизайн базы данных необходим для удовлетворения потребностей обработки в системах SQL Server.На вебинаре консультант Коэн Вербек предложил .
Базы данных SQL Server можно переместить в облако Azure несколькими способами. Вот что вы получите от каждого из вариантов .
В отрывке из этой книги вы познакомитесь с методами LEFT OUTER JOIN и RIGHT OUTER JOIN и найдете различные примеры создания SQL.
ИТ-администраторам, рассматривающим возможность перехода на Windows 11, следует узнать, как функции версии Enterprise могут помочь их .
Последняя сборка для разработчиков Windows 11 позволяет открывать несколько папок в приложении для управления файлами. Предполагается, что эта функция .
Администраторам настольных компьютеров следует обратить внимание на собственные функции безопасности и архитектуру Windows 10, чтобы установить базовый уровень настольных компьютеров.
Перенаправление папок может поддерживать среду виртуального рабочего стола с перемещаемыми профилями, предоставляя пользователям единообразие при .
Люди, использующие виртуальный рабочий стол VMware на смартфонах и планшетах Samsung, могут получить доступ к Windows как на устройстве, так и на .
Организациям с виртуальными рабочими столами следует планировать свою стратегию управления профилями, и одним из ключевых компонентов является профиль .
Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.
Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.
< бр />
операционная система (ОС), программа, которая управляет ресурсами компьютера, особенно распределением этих ресурсов среди других программ. Типичные ресурсы включают центральный процессор (ЦП), память компьютера, хранилище файлов, устройства ввода-вывода (I/O) и сетевые подключения. Задачи управления включают планирование использования ресурсов, чтобы избежать конфликтов и помех между программами. В отличие от большинства программ, которые выполняют задачу и завершают работу, операционная система работает бесконечно и завершает работу только при выключении компьютера.
Современные многопроцессорные операционные системы позволяют активировать множество процессов, где каждый процесс представляет собой «поток» вычислений, используемый для выполнения программы. Одна из форм многопроцессорной обработки называется разделением времени, что позволяет многим пользователям совместно использовать доступ к компьютеру, быстро переключаясь между ними. Разделение времени должно защищать от помех между программами пользователей, и в большинстве систем используется виртуальная память, в которой память или «адресное пространство», используемое программой, может находиться во вторичной памяти (например, на магнитном жестком диске), когда не используется в данный момент, чтобы его можно было заменить обратно, чтобы по требованию занять более быструю основную память компьютера. Эта виртуальная память увеличивает адресное пространство, доступное для программы, и помогает предотвратить вмешательство программ друг в друга, но требует тщательного контроля со стороны операционной системы и набора таблиц распределения для отслеживания использования памяти. Пожалуй, самой деликатной и критической задачей для современной операционной системы является выделение центрального процессора; каждому процессу разрешается использовать ЦП в течение ограниченного времени, которое может составлять доли секунды, а затем он должен отказаться от управления и приостановиться до следующего хода. Переключение между процессами само по себе должно использовать ЦП при защите всех данных процессов.
Компьютеры размещают веб-сайты, состоящие из HTML, и отправляют текстовые сообщения так же просто, как. РЖУ НЕ МОГУ. Взломайте этот тест, и пусть какая-нибудь технология подсчитает ваш результат и раскроет вам его содержание.
У первых цифровых компьютеров не было операционных систем. Они запускали одну программу за раз, которая распоряжалась всеми системными ресурсами, а оператор-человек предоставлял любые необходимые специальные ресурсы. Первые операционные системы были разработаны в середине 1950-х гг. Это были небольшие «программы-супервизоры», которые обеспечивали базовые операции ввода-вывода (например, управление устройствами чтения перфокарт и принтерами) и вели учет использования ЦП для выставления счетов. Программы супервизора также предоставляли возможности мультипрограммирования, позволяющие запускать несколько программ одновременно. Это было особенно важно, чтобы эти первые многомиллионные машины не простаивали во время медленных операций ввода-вывода.
Компьютеры приобрели более мощные операционные системы в 1960-х годах с появлением разделения времени, которое требовало системы для управления несколькими пользователями, совместно использующими процессорное время и терминалы. Двумя ранними системами разделения времени были CTSS (совместимая система разделения времени), разработанная в Массачусетском технологическом институте, и базовая система Дартмутского колледжа, разработанная в Дартмутском колледже.Другие многопрограммные системы включали Atlas в Манчестерском университете, Англия, и IBM OS/360, вероятно, самый сложный программный пакет 1960-х годов. После 1972 года система Multics для компьютера General Electric Co. GE 645 (а позже и для компьютеров Honeywell Inc.) стала самой сложной системой с большинством возможностей мультипрограммирования и разделения времени, которые позже стали стандартными.
У мини-компьютеров 1970-х годов был ограниченный объем памяти и требовались операционные системы меньшего размера. Самой важной операционной системой того периода была UNIX, разработанная AT&T для больших миникомпьютеров как более простая альтернатива Multics. Он стал широко использоваться в 1980-х годах, отчасти потому, что он был бесплатным для университетов, а отчасти потому, что он был разработан с набором инструментов, которые были мощными в руках опытных программистов. Совсем недавно Linux, версия UNIX с открытым исходным кодом, разработанная частично группой под руководством финского студента информатики Линуса Торвальдса и частично группой под руководством американского программиста Ричарда Столлмана, стала популярной как на персональных компьютерах, так и на большие компьютеры.
Помимо таких систем общего назначения, на небольших компьютерах работают специальные операционные системы, которые управляют сборочными линиями, самолетами и даже бытовой техникой. Это системы реального времени, предназначенные для обеспечения быстрого реагирования на датчики и использования их входных данных для управления механизмами. Операционные системы также были разработаны для мобильных устройств, таких как смартфоны и планшеты. iOS от Apple Inc., работающая на iPhone и iPad, и Android от Google Inc. — две известные мобильные операционные системы.
С точки зрения пользователя или прикладной программы операционная система предоставляет услуги. Некоторые из них представляют собой простые пользовательские команды, такие как «dir» — показать файлы на диске, а другие — низкоуровневые «системные вызовы», которые графическая программа может использовать для отображения изображения. В любом случае операционная система обеспечивает соответствующий доступ к своим объектам, таблицам расположения дисков в одном случае и подпрограммам для передачи данных на экран в другом. Некоторые из его подпрограмм, управляющие процессором и памятью, обычно доступны только другим частям операционной системы.
Современные операционные системы для персональных компьютеров обычно имеют графический интерфейс пользователя (GUI). Графический пользовательский интерфейс может быть неотъемлемой частью системы, как в более старых версиях Mac OS от Apple и ОС Windows от Microsoft Corporation; в других случаях это набор программ, которые зависят от базовой системы, как в системе X Window для UNIX и Mac OS X от Apple.
Операционные системы также предоставляют сетевые службы и возможности обмена файлами — даже возможность совместного использования ресурсов между системами разных типов, такими как Windows и UNIX. Такое совместное использование стало возможным благодаря внедрению сетевых протоколов (правил связи), таких как TCP/IP в Интернете.
Читайте также:
- Php ini, где находится Debian
- Mathcad 15 не запускает Windows 10
- Что такое папка Windows список свойств папки список видов папок в окнах
- Как перейти с 32-битной на 64-битную версию Windows
- Как отключить двустороннюю печать на mac os
Содержание
- О работе ПК ч.3: От включения до полной загрузки Windows 10
- Старт системы
- Поиск загрузчика ОС
- Запуск на UEFI
- Инициализация ядра
- Запуск подсистем – SMSS, CSRSS, WinInit
- Где здесь клавиатура?
- Пару слов о USB
- Структура ОС Windows XP
О работе ПК ч.3: От включения до полной загрузки Windows 10
Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.
Старт системы
Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.
Контакты на материнке для подключения кнопки включения, светодиодов состояния Power, жёсткого диска и динамиков.
Плата ноутбука с кнопкой включения и светодиодом состояния
Прикладная иллюстрация как блок питания получает сигнал от материнки на включение. Если вы задумаете установить мощную видеокарту (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 начинает процесс поиска загрузчика ОС. Для этого он начинает просматривать все подключенные к материнской плате жёсткие диски. Данные на физических дисках адресуются в единицах называемых сектор, обычно он 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.
Запуск на 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.
Инициализация ядра
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.
Сейчас возникает вопрос, откуда у обработчика прерываний аргумент? Кто его передаёт? Ведь 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. Их всего четыре – витая пара для передачи битов данных, плюс и минус питания.
Провода кабеля 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 имеет модульную структуру (рис. 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 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, а также приложения пользовательского режима могут манипулировать процессами и потоками. Во время работы диспетчер процессов сопоставляет с каждым процессом и потоком идентификатор процесса (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: (необходимые драйверы устройств).
Процесс загрузки компьютера начинается с процедуры начального тестирования оборудования (POST – Power-On Self Test). Код, выполняющий POST, зашит в базовой системе ввода-вывода (BIOS) каждого компьютера, при включении питания ему передается управление. Если в процессе тестирования обнаруживаются какие-либо ошибки, то BIOS генерирует коды ошибок (POSTcodes), которые отличаются для BIOS разных производителей, и звуковые коды. Если процедура POST завершается успешно, то BIOS передает управление главной загрузочной записи (MBR – Master 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.
Рис. 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, а также приложения пользовательского режима могут манипулировать процессами и потоками. Во время работы диспетчер процессов сопоставляет с каждым процессом и потоком идентификатор процесса (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: (необходимые драйверы устройств).
Процесс загрузки компьютера начинается с процедуры начального тестирования оборудования (POST – Power-On Self Test). Код, выполняющий POST, зашит в базовой системе ввода-вывода (BIOS) каждого компьютера, при включении питания ему передается управление. Если в процессе тестирования обнаруживаются какие-либо ошибки, то BIOS генерирует коды ошибок (POSTcodes), которые отличаются для BIOS разных производителей, и звуковые коды. Если процедура POST завершается успешно, то BIOS передает управление главной загрузочной записи (MBR – Master 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
Наиболее важные моменты эволюции операционных систем
Известно ( [ Карпов ] ), что операционные системы приобрели современный облик в период развития третьего поколения вычислительных машин, то есть с середины 60-х до 1980 года. В это время существенное повышение эффективности использования процессора было достигнуто за счет реализации многозадачности, в том числе вытесняющей ( preemptive ) многозадачности. Для поддержки псевдопараллельной работы нескольких программ и асинхронного режима работы внешних устройств в составе вычислительных систем были реализованы следующие программно-аппаратные новшества и подсистемы:
К этому же периоду эволюции относится идея создания семейств программно совместимых машин различной архитектуры, работающих под управлением одной и той же операционной системы. Прошедший первую апробацию на IBM-360 данный процесс имеет результатом привычную на сегодня картину работы ОС Windows или Linux на компьютерах самой разной архитектуры.
В период четвертого поколения вычислительных машин (с 1980 г. до настоящего времени) наступила эра персональных компьютеров (ПК) с дружественным интерфейсом. Первоначально ПК имели ограниченные возможности и предназначались для использования одним пользователем в однопрограммном режиме, что повлекло за собой деградацию архитектуры этих ЭВМ и их операционных систем (в частности, пропала необходимость защиты файлов и памяти, планирования заданий и т.п.). Однако, по мере расширения возможностей ПК, рост сложности и разнообразия задач, решаемых на них, необходимость повышения надежности их работы привели к возрождению практически всех черт, характерных для архитектуры больших вычислительных систем.
В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем.
Онтогенез повторяет филогенез
Архитектурные особенности операционных систем.
Создание ОС 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 NT 3.5 составляет приблизительно 10Мб, а с каждой новой версией ОС Windows этот объем неуклонно увеличивается в полтора-два раза.
Возможности системы
Успешность реализации этих требований будет продемонстрирована по мере изучения деталей ОС Windows. В рамках курса будут введены и впоследствии уточнены и детализированы различные понятия и термины.. Некоторые из них приведены в приложении.
Источник
Создание ОС Windows. Структура ОС Windows
В данной лекции говорится о наиболее важных этапах создания ОС Windows наряду с эволюцией операционных систем, структуре системы, а также вводятся некоторые ключевые понятия.
Дружественный интерфейс между пользователем и компьютером достигается за счет абстрагирования, которое является важным методом упрощения и позволяет сконцентрироваться на взаимодействии высокоуровневых компонентов системы, игнорируя детали их реализации. В этом смысле об ОС говорят, что операционная система является абстрактной или виртуальной машиной, с которой иметь дело гораздо удобнее, нежели с низкоуровневыми элементами компьютера
Альтернативный взгляд на ОС дает представление об ОС как о менеджере ресурсов, который осуществляет упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами.
Краткая история создания ОС Windows
Наиболее важные моменты эволюции операционных систем
Известно ( [ Карпов ] ), что операционные системы приобрели современный облик в период развития третьего поколения вычислительных машин, то есть с середины 60-х до 1980 года. В это время существенное повышение эффективности использования процессора было достигнуто за счет реализации многозадачности, в том числе вытесняющей ( preemptive ) многозадачности. Для поддержки псевдопараллельной работы нескольких программ и асинхронного режима работы внешних устройств в составе вычислительных систем были реализованы следующие программно-аппаратные новшества и подсистемы:
К этому же периоду эволюции относится идея создания семейств программно совместимых машин различной архитектуры, работающих под управлением одной и той же операционной системы. Прошедший первую апробацию на IBM-360 данный процесс имеет результатом привычную на сегодня картину работы ОС Windows или Linux на компьютерах самой разной архитектуры.
В период четвертого поколения вычислительных машин (с 1980 г. до настоящего времени) наступила эра персональных компьютеров (ПК) с дружественным интерфейсом. Первоначально ПК имели ограниченные возможности и предназначались для использования одним пользователем в однопрограммном режиме, что повлекло за собой деградацию архитектуры этих ЭВМ и их операционных систем (в частности, пропала необходимость защиты файлов и памяти, планирования заданий и т.п.). Однако, по мере расширения возможностей ПК, рост сложности и разнообразия задач, решаемых на них, необходимость повышения надежности их работы привели к возрождению практически всех черт, характерных для архитектуры больших вычислительных систем.
В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем.
Онтогенез повторяет филогенез
Архитектурные особенности операционных систем.
Создание ОС 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 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. Что он может делать:
- Включать и выключать компьютер, т.е. выполнять программы имея доступ ко всей вычислительной мощности, периферии машины и сети.
- Обходить ограничения файервола.
- Видеть все данные в CPU и RAM, что даёт доступ к запароленным файлам.
- Красть ключи шифрования и получать доступ к паролям
- Логировать нажатия клавиш и движения мыши
- Видеть что отображается на экране
- Вредоносный код в Intel ME не может быть детектирован антивирусом, потому как на такой низкий уровень он добраться не может
- И конечно же скрытно отправлять данные по сети используя свой стек для работы с сетью.
Это вызывает серьёзные вопросы безопасности, потому как он может быть хакнут или использовать в шпионских целях.
Прикладная иллюстрация как блок питания получает сигнал от материнки на включение. Если вы задумаете установить мощную видеокарту (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. Процитирую Википедию, что в себя включают эти тесты:
Сокращённый тест включает:
- Проверку целостности программ BIOS в ПЗУ, используя контрольную сумму.
- Обнаружение и инициализацию основных контроллеров, системных шин и подключённых устройств (графического адаптера, контроллеров дисководов и т. п.), а также выполнение программ, входящих в BIOS устройств и обеспечивающих их самоинициализацию.
- Определение размера оперативной памяти и тестирования первого сегмента (64 килобайт).
Полный регламент работы POST:
- Проверка всех регистров процессора;
- Проверка контрольной суммы ПЗУ;
- Проверка системного таймера и порта звуковой сигнализации (для IBM PC — ИМС i8253 или аналог);
- Тест контроллера прямого доступа к памяти;
- Тест регенератора оперативной памяти;
- Тест нижней области ОЗУ для проецирования резидентных программ в BIOS;
- Загрузка резидентных программ;
- Тест стандартного графического адаптера (VGA или PCI-E);
- Тест оперативной памяти;
- Тест основных устройств ввода (НЕ манипуляторов);
- Тест CMOS
- Тест основных портов LPT/COM;
- Тест накопителей на гибких магнитных дисках (НГМД);
- Тест накопителей на жёстких магнитных дисках (НЖМД);
- Самодиагностика функциональных подсистем BIOS;
- Передача управления загрузчику.
По результатам этого теста может быть обнаружена неисправность, к примеру нерабочая видеокарта или клавиатура. Поскольку экран монитора может не работать результаты тестов сообщаются в виде последовательности звуковых сигналов разной высоты. Что конкретно они значат надо смотреть в документации к материнской плате. Старые компьютеры часто бибикали во время старта — это программа 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:
- Выбирает соотвествующую версию ядра 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.
- Загружает HAL.dll (Hardware Abstraction Layer), который абстрагирует особенности материнки и CPU.
- Загружает файл шрифтов vgaoem.fon
- Загружает файлы в которых содержится инфомрация о представлениях даты времени, форматов чисел и пр. Эта функциональность называется National Language System.
- Загружает в память реестр SYSTEM, в нём содержится информация о драйверах которые надо загрузить. Информация о всех драйверах находится в HKLMSYSTEMCurrentControlSetServices. Драйвера которые надо загрузить имеют ключ start = SERVICE_BOOT_START (0). Об устройстве реестра мы поговорим в другой статье.
- Загружает драйвер файловой системы для раздела на котором располагаются файлы драйверов.
- Загружает драйвера в память, но пока не инициализирует их из-за круговых зависимостей.
- Подготавливает регистры 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:
- Инициализация и запуск Firmware, запуск чип-сета.
- POST тест, аналогично BIOS
- Загрузка EFI-драйверов и поиск диска подпадающего под требования EFI для загрузочного диска
- Поиск папки с именем EFI. Спецификация UEFI требует чтобы был раздел для EFI System Partition, отформатированный под файловую систему FAT, размером 100Мб – 1Гб или не более 1% от размера диска. Каждая установленная Windows имеет свою директорию на этом разделе – EFIMicrosoft.
- Читает из настроек UEFI сохранённых в NVRAM (энергонезависимая память) путь к файлу загрузчика.
- Находит и запускает EFI/Microsoft/Boot/BootMgrFw.efi.
- 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 собрал во время своей работы. Они включают:
- Пути к System (загрузчик Windows) и Boot (C:WindowsSystem32) директориям.
- Указатель на таблицы виртуальной памяти которые создал WinLoad
- Дерево с описанием подключенного hardware, оно используется для создания HKLMHARDWARE ветки реестра.
- Копия загруженного реестра HKLMSystem
- Указатель на список загруженных (но не инициализированных) драйверов участвующих в старте Windows.
- Прочая информация необходимая для загрузки.
Инициализация ядра Windows происходит в два этапа. До этого происходит инициализация Hardware Abstraction Layer, который в числе всего прочего настраивает контроллеры прерывания для каждого CPU.
На этой же стадии загружаются в память строки с сообщениями для BSOD, потому как в момент падения они могут быть недоступны или повреждены.
- Первая фаза инициализации ядра:
- Слой Executive инициализирует свои объекты состояний – глобальные объекты, списки, блокировки. Производится проверка Windows SKU (Stock Keeping Unit), примеры Windows 10 SKU — Home, Pro, Mobile, Enterprise, Education.
- Если включен Driver Verifier, то он инициализируется.
- Менеджер памяти создаёт структуры данных, необходимые для работы внутренних API для работы с памятью (memory services), резервирует память для внутреннего пользования ядром.
- Если подключен отладчик ядра (kernel debugger) ему отправляется уведомление загрузить символы для драйверов загружаемых во время старта системы.
- Инициализируется информация о версии билда Windows.
- Старт Object Manager – позволяет регистрировать именованные объекты к которым могут получать доступ по имени другие компоненты. Яркий пример – мьютекс по которому приложение позволяет запустить единственный экземпляр. Здесь же создаётся храниться handle table, по которой устанавливается соответствие к примеру между HWND и объектом описывающим окно.
- Старт Security Reference Monitor подготавливает всё необходимое для создания первого аккаунта.
- Process Manager подготавливает все списки и глобальные объекты для создания процессов и потоков. Создаются процесс Idle и System (в нём исполняется “Windows10.exe” он же NtOsKrnl.exe), они пока не исполняются, потому как прерывания выключены.
- Инициализация User-Mode Debugging Framework.
- Первая фаза инициализации Plug and Play Manager. PnP – это стандарт который реализовывается на уровне производителей периферии, материнских плат и ОС. Он позволяет получать расширенную информацию о подключенных устройствах и подключать их без перезагрузки ПК.
- Вторая фаза инициализации ядра. Она содержит 51 шаг, поэтому я пропущу многие из них:
- По завершению первой фазы главный поток процесса System (NtOsKrnl.exe) уже начал исполнение. В нём производится вторая фаза инициализации. Поток получает самый высокий приоритет – 31.
- HAL настраивает таблицу прерываний и включает прерывания.
- Показывается Windows Startup Screen, которая по умолчанию представляет из себя чёрный экран с progress bar.
- Executive слой инициализирует инфраструктуру для таких объектов синхронизации как Semaphore, Mutex, Event, Timer.
- Объекты для User-Mode Debugger проинициализированы.
- Создана symbolic link SystemRoot.
- NtDll.dll отображена в память. Она отображается во все процессы и содержит Windows APIs.
- Инициализирован драйвер файловой системы.
- Подсистема межпроцессного общения между компонентами Windows ALPC проинициализирована. Можете думать о ней как о named pipes или Windows Communication Foundation для межпроцессного общения.
- Начинается инициализация I/O Manager, который создаёт необходимые структуры данных для инициализации и хранения драйверов подключенной к компьютеру периферии. Этот процесс очень сложный.
Здесь же инициализируются компоненты Windows Management Instrumentation и Event Tracing for Windows (на него полагается Windows Performance Analyzer). После этого шага все драйвера проинициализированы. - Запускается процесс 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. Далее он запускает процессы:
- Services.exe – Services Control Manager (SCM) запускает сервисы и драйвера помеченные как AutoStart. Сервисы запускаются в процессах svchost.exe. Есть утилита tlist.exe, которая запущенная с параметром tlist.exe -s напечатает в консоли имена сервисов в каждом из svchost.exe.
- LSASS.exe – Local System Authority.
- LSM.exe – Local Session Manager.
WinLogon.exe – загружает провайдеры аутентификации (credential providers), которые могут быть password, Smartcard, PIN, Hello Face. Он порождает процесс LogonUI.exe который и показывает пользователю интерфейс для аутентификации, а после валидирует введённые данные (логин и пароль, PIN).
Если всё прошло успешно, то WinLogon запускает процесс указанный в ключе реестра HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinLogonUserinit. По умолчанию это процесс UserInit.exe, который:
- Запускает скрипты указанные в реестрах:
- HKCUSoftwarePoliciesMicrosoftWindowsSystemScripts
- HKLMSOFTWAREPoliciesMicrosoftWindowsSystemScripts
- Если групповая политика безопасности определяет User Profile Quota, запускает %SystemRoot%System32Proquota.exe
- Запускает оболочку 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:
- High – когда происходит краш системы, обычно это вызов функции KeBugCheckEx.
- Power Fail – не используется. Изначально был придуман для Windows NT.
- Interprocessor Interrupt – нужен отправить запрос другому CPU на мультипроцессорной системе выполнить действие, например обновить TLB cache, system shutdown, system crash (BSOD).
- Clock – нужен чтобы обновлять системные часы, а так же вести статистику сколько времени потоки проводят в режиме пользователя и ядра.
- Profile – используется для real-time clock (local APIC-timer) когда механизм kernel-profiling включен.
- Device 1 … Device N – прерывания от устройств I/O. Во время прерывания данные от клавиатуры, мыши и других устройств считываются в отдельные буфера и сохраняются в объектах типа DPC (Deferred Procedure Call), чтобы обработать их позже и дать возможность устройствам переслать данные. После приоритет снижается до Dispatch DPC
- Dispatch DPC — как только данные от устройств получены можно начинать их обрабатывать.
- APC — Asynchronous Procedure Call. Через этот механизм вы можете исполнить код когда поток будет спать вызвав WaitForSingleObject, Sleep и другие.
- 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), который знает как найти объект описывающий прерывание в памяти. Что же интересного есть в нём?
- Указатель на объект представляющий драйвер в памяти.
- Указатель на функцию i8042prt!I8042KeyboardInterruptService, которая и вызывает код считывающий данные из порта PS2 через ассемблерную команду IN AL, 0x60 – сохранить значение из порта номер 0x60 в регистре AL.
- Функция dispatcher – ей передаётся указатель функцию из пункта №2 и она вызывает её.
- Состояние регистров CPU. Перед вызовом прерывания состояние CPU будет сохранено сюда, и отсюда же будет восстановлено.
- Приоритет прерывания. Не тот который определяет контроллер прерываний, а тот который 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
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;
Диспетчер
объектов –
служит для управления всеми разделяемыми
ресурсами компьютера. В момент обращения
приложения к какому-либо ресурсу
диспетчер объектов сопоставляет с этим
ресурсом объект (например, окно) и отдает
приложению дескриптор (№ окна) этого
объекта. Используя дескриптор, приложение
взаимодействует с объектом, совершая
в его отношении различные операции.
Монитор системы безопасности следит
при этом за тем, чтобы с объектом
выполнялись только разрешенные действия;
Диспетчер
процессов –
предоставляет интерфейс, при помощи
которого другие компоненты 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,
программы управления системой) понимают
программы, отвечающие за выполнение
отдельных специализированных задач
управления (управляющих функций
системы). Одни утилиты запускаются
лишь один раз для инициализации и
конфигурирования отдельных элементов
системы, другие вызываются регулярно,
например, утилиты принимающие запросы
на регистрацию с терминалов системы,
либо утилиты обновляющие файлы
регистрации.
Не все утилиты
выполняют функции системного
администрирования. Часть системных
программ отвечают за выполнение простых
задач, в частности, просмотр каталогов,
перенос и удаление файлов, просмотр
содержимого файла. Более сложные
поддерживают некоторые функции обработки
текстовых данных, например, сортировку
данных либо поиск по заданному шаблону
в тексте.
MS—dos
ОС
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.
Рисунок |
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Аннотация: В лекции говорится о наиболее важных этапах создания ОС 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 года. Вот ее ключевые отличия от предыдущих:
- Модификация меню «Пуск»: представлено в виде настраиваемых пользователем плиток.
- Изменение размера «Пуска».
- Новые возможности использования магазина приложений.
- Появление «Центра уведомлений».
- Обновленный календарь, часы, батарейный индикатор (для ноутбуков).
- Современные окна с новой анимацией.
- Обновленные интерфейсы приветствия и блокировки.
На этом заканчивается наш обзор операционных систем «Виндовс». Возможно, уже в ближайшем будущем список дополнится новой версией.
7.1. Основные особенности операционной системы Windows
Операционная система Windows является графической операционной системой для компьютеров платформы IBM PC. Её основные средства управления – мышь и клавиатура. Операционная система Windows предназначена для управления автономным компьютером, но также содержит все необходимое для создания небольшой локальной компьютерной сети. В состав операционной системы включены средства для работы в Интернет.
В операционной системе Windows реализован документно-ориентированный подход. Это означает, что пользователь концентрирует своё внимание на своих документах, а не на приложениях (программах), с помощью которых эти документы обрабатываются.
Документ Windows – это любой файл, обрабатываемый с помощью приложений. Документ может содержать текстовую, графическую, звуковую и видеоинформацию. Особенностью Windows является то, что когда открывается документ, то автоматически запускается приложение, работающее с файлом этого документа. Например, если необходимо работать с рисунком, то следует открыть файл, в котором он содержится, а графический редактор будет загружен автоматически.
Операционная система Windows содержит набор стандартных прикладных программ. Основные из них следующие:
Программа Блокнот. Это простейший текстовый редактор, который можно использовать для просмотра текстовых файлов. Для создания текстовых документов используется редко.
Графический редактор Paint.
Используется для обучения работе с графическими объектами перед изучением профессиональных графических редакторов.
Текстовый процессор WordPad.
Служит для создания, редактирования и просмотра текстовых документов. Является упрощенным вариантом текстового процессора Word.
Калькулятор.
В состав операционной системы Windows входит набор служебных программ, предназначенных для обслуживания и настройки компьютера.
Для правильной работы приложение должно пройти операцию установки. Необходимость в установке связана с тем, что разработчики программного обеспечения не могут знать заранее особенности аппаратной и программной конфигурации вычислительной системы, на которой будет работать приложение. Установочный диск содержит полуфабрикат, из которого в процессе установки на компьютере формируется полноценное приложение. При этом осуществляется его привязка к аппаратной и программной среде и настройка. Управление установкой осуществляет операционная система.
Поскольку 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-порты на своем ПК, но выигрыш от этой операции составил около секунды.
Впрочем, не за секунды ли мы и боремся?
Внимание!
Читайте другие интересные статьи на эту тему в разделе ‘Статьи и Книги’.
Так же в разделе ‘Полезное’ много интересной информации
Оцените статью: Голосов
Слайд 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
Спасибо за работу, до новых встреч!