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

На чтение 4 мин Опубликовано Обновлено

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

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

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

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

Содержание

  1. Как работает операционная система Windows
  2. Подготовка к работе операционной системы
  3. Основные этапы выполнения операционной системы

Как работает операционная система Windows

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

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

Подготовка к работе операционной системы

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

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

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

  3. Создание учетной записи пользователя: после установки операционной системы необходимо создать учетную запись пользователя. Это позволит вам входить в систему под своим личным именем и настраивать персональные параметры.

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

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

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

Основные этапы выполнения операционной системы

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

  1. Биос (Basic Input/Output System) – первая программа, которая запускается сразу после включения компьютера. Биос выполняет инициализацию аппаратных компонентов, таких как процессор, память и другие периферийные устройства.
  2. Загрузчик операционной системы – программа, которая находится на жестком диске или в ПЗУ и загружает операционную систему в память компьютера.
  3. Ядро операционной системы – основная часть операционной системы, которая управляет оборудованием и ресурсами компьютера. Она обеспечивает взаимодействие между аппаратными компонентами и программами пользователя.
  4. Запуск служб и драйверов – на этом этапе запускаются различные службы, такие как сетевые, антивирусные, а также драйверы устройств, которые обеспечивают работу аппаратного обеспечения компьютера.
  5. Загрузка пользовательского интерфейса – на последнем этапе загружается пользовательский интерфейс, который предоставляет пользователю доступ к функциональности операционной системы через графический интерфейс или командную строку.

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

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

1. Загрузка операционной системы. При включении компьютера система проходит этап загрузки, в результате которого происходит инициализация всех необходимых компонентов и драйверов. Загрузка операционной системы может быть разделена на несколько этапов, включая POST (Power-On Self-Test), загрузку BIOS (Basic Input Output System), выбор загрузочного устройства и активацию загрузчика операционной системы.

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

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

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

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

Содержание

  1. Особенности работы операционной системы Windows
  2. Загрузка системы
  3. Запуск и работа операционной системы
  4. Операционная система как посредник

Особенности работы операционной системы Windows

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

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

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

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

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

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

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

Загрузка системы

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

2. Загрузчик (Bootloader) — это программа, находящаяся на загрузочном устройстве, которая запускается BIOS. Загрузчик ищет загрузочные записи и выбирает операционную систему для загрузки. В случае с Windows это может быть запуск Windows Boot Manager или загрузка напрямую из загрузочного сектора диска.

3. Загрузочные файлы — когда загрузчик выбрал операционную систему, он загружает загрузочные файлы операционной системы Windows (например, ntoskrnl.exe). Эти файлы содержат код и данные, необходимые для инициализации ядра операционной системы и загрузки драйверов устройств.

4. Ядро операционной системы — ядро Windows (ntoskrnl.exe) загружается и начинает свою работу. Оно завершает инициализацию операционной системы и создает основные структуры данных, такие как таблица процессов и таблица файловой системы.

5. Сложные услуги и драйверы — после инициализации ядро Windows загружает и инициализирует сложные услуги и драйверы, такие как службы системы, драйверы устройств и другие компоненты.

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

Запуск и работа операционной системы

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

  1. BIOS (Basic Input/Output System) – первый этап загрузки операционной системы. BIOS инициализирует аппаратные компоненты компьютера и проверяет их работоспособность. Затем, BIOS находит и загружает операционную систему с жесткого диска или другого носителя данных.
  2. Bootloader – второй этап загрузки ОС Windows. Bootloader отвечает за загрузку и запуск ядра операционной системы.
  3. Ядро операционной системы – это основная часть ОС, которая управляет все процессы на компьютере. Оно отвечает за обработку запросов, управление ресурсами компьютера и взаимодействие с аппаратным обеспечением.
  4. После загрузки ядра операционной системы, происходит инициализация драйверов и различных служб. Драйверы позволяют операционной системе общаться с аппаратными компонентами компьютера (например, видеокартой, звуковой картой и т.д.), а службы выполняют различные задачи (например, управление сетью, печатью, безопасностью и т.д.).
  5. После загрузки всех необходимых компонентов, ОС запускает графическую оболочку (например, Windows Explorer) или командную строку, в зависимости от настроек пользователя.

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

Операционная система как посредник

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

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

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

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

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

Содержание

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

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

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

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

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

image loader

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

image loader

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

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

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

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

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

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

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

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

tpr6pxn5 z7lpltyt5j8qspnngi

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

image loader

t84sptgyzelnge5ymtzakl0vj4e

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

image loader

Запуск на UEFI

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

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

yku7pr2rkc5ih

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

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

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

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

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

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

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

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

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

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

image loader

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

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

Пару слов о USB

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

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

a4pofgenbf2j5fecifpemzlqjr8

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

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

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

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

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

Источник

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

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

image015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание ОС Windows

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

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

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

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

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

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

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание ОС Windows

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

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

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

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

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

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

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

Источник

Слайд 1

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

Слайд 2

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

Слайд 3

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

Слайд 4

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

Слайд 5

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

Слайд 6

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

Слайд 7

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

Слайд 8

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

Слайд 9

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

Слайд 10

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

Слайд 11

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

Слайд 12

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

Слайд 13

Структура Windows XP

Слайд 15

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

Слайд 16

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

Слайд 17

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

Слайд 18

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

Слайд 19

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

Слайд 20

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

Слайд 21

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

Слайд 22

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

Слайд 23

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

Слайд 24

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

Слайд 25

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Выбирает соотвествующую версию ядра Windows. Можете думать о нём как о Windows10.exe, хотя на самом деле он называется NtOsKrnl.exe. Какие есть версии? Согласно википедии:
    • ntoskrnl.exe — однопроцессорное ядро Windows. без поддержки режима PAE
    • ntkrnlmp.exe (англ. NT Kernel, Multi-Processor version) — многопроцессорное ядро Windows. без поддержки режима PAE
    • ntkrnlpa.exe — однопроцессорное ядро Windows с поддержкой режима PAE.
    • ntkrpamp.exe — многопроцессорное ядро Windows с поддержкой режима PAE.
  2. Загружает HAL.dll (Hardware Abstraction Layer), который абстрагирует особенности материнки и CPU.
  3. Загружает файл шрифтов vgaoem.fon
  4. Загружает файлы в которых содержится инфомрация о представлениях даты времени, форматов чисел и пр. Эта функциональность называется National Language System.
  5. Загружает в память реестр SYSTEM, в нём содержится информация о драйверах которые надо загрузить. Информация о всех драйверах находится в HKLMSYSTEMCurrentControlSetServices. Драйвера которые надо загрузить имеют ключ start = SERVICE_BOOT_START (0). Об устройстве реестра мы поговорим в другой статье.
  6. Загружает драйвер файловой системы для раздела на котором располагаются файлы драйверов.
  7. Загружает драйвера в память, но пока не инициализирует их из-за круговых зависимостей.
  8. Подготавливает регистры CPU для выполнения ядра Windows выбранного на первом шаге – NtOsKrnl.exe.

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

Запуск на UEFI

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

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

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

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

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

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

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

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

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

  • Первая фаза инициализации ядра:
    1. Слой Executive инициализирует свои объекты состояний – глобальные объекты, списки, блокировки. Производится проверка Windows SKU (Stock Keeping Unit), примеры Windows 10 SKU — Home, Pro, Mobile, Enterprise, Education.
    2. Если включен Driver Verifier, то он инициализируется.
    3. Менеджер памяти создаёт структуры данных, необходимые для работы внутренних API для работы с памятью (memory services), резервирует память для внутреннего пользования ядром.
    4. Если подключен отладчик ядра (kernel debugger) ему отправляется уведомление загрузить символы для драйверов загружаемых во время старта системы.
    5. Инициализируется информация о версии билда Windows.
    6. Старт Object Manager – позволяет регистрировать именованные объекты к которым могут получать доступ по имени другие компоненты. Яркий пример – мьютекс по которому приложение позволяет запустить единственный экземпляр. Здесь же создаётся храниться handle table, по которой устанавливается соответствие к примеру между HWND и объектом описывающим окно.
    7. Старт Security Reference Monitor подготавливает всё необходимое для создания первого аккаунта.
    8. Process Manager подготавливает все списки и глобальные объекты для создания процессов и потоков. Создаются процесс Idle и System (в нём исполняется “Windows10.exe” он же NtOsKrnl.exe), они пока не исполняются, потому как прерывания выключены.
    9. Инициализация User-Mode Debugging Framework.
    10. Первая фаза инициализации Plug and Play Manager. PnP – это стандарт который реализовывается на уровне производителей периферии, материнских плат и ОС. Он позволяет получать расширенную информацию о подключенных устройствах и подключать их без перезагрузки ПК.
  • Вторая фаза инициализации ядра. Она содержит 51 шаг, поэтому я пропущу многие из них:
    1. По завершению первой фазы главный поток процесса System (NtOsKrnl.exe) уже начал исполнение. В нём производится вторая фаза инициализации. Поток получает самый высокий приоритет – 31.
    2. HAL настраивает таблицу прерываний и включает прерывания.
    3. Показывается Windows Startup Screen, которая по умолчанию представляет из себя чёрный экран с progress bar.
    4. Executive слой инициализирует инфраструктуру для таких объектов синхронизации как Semaphore, Mutex, Event, Timer.
    5. Объекты для User-Mode Debugger проинициализированы.
    6. Создана symbolic link SystemRoot.
    7. NtDll.dll отображена в память. Она отображается во все процессы и содержит Windows APIs.
    8. Инициализирован драйвер файловой системы.
    9. Подсистема межпроцессного общения между компонентами Windows ALPC проинициализирована. Можете думать о ней как о named pipes или Windows Communication Foundation для межпроцессного общения.
    10. Начинается инициализация I/O Manager, который создаёт необходимые структуры данных для инициализации и хранения драйверов подключенной к компьютеру периферии. Этот процесс очень сложный.
      Здесь же инициализируются компоненты Windows Management Instrumentation и Event Tracing for Windows (на него полагается Windows Performance Analyzer). После этого шага все драйвера проинициализированы.
    11. Запускается процесс SMSS.exe (Session Manager Sub System). Он отвечает за создание режима пользователя, в котором будет создана визуальная часть Windows.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Routine Description:

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

Arguments:

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

    Context - A pointer to the device object.

Return Value:

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

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

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

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

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

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

Пару слов о USB

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

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

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

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

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

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

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

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

Windows XP

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

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

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


 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Linux

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

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

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

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

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

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

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

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

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

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

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

MSdos

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание ОС Windows

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

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

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

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

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

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

Windows Server 2003 — в 2003 г. В настоящее время выпущена Windows Vista, ранее известная под кодовым именем Longhorn, — новая версия Windows, продолжающая линейку Windows NT.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Теория.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Практика.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Средства OLE

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

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

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

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

О MS Windows

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

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

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

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

Развитие ОС

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

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

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

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

Windows 1.0

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

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

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

Windows 2.0

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

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

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

Windows 3.0

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

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

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

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

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

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

Windows 3.1

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

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

Windows 95

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

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

Windows 98

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

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

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

Windows 2000 и МЕ

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

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

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

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

Windows XP и Vista

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

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

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

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

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

Windows 7

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

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

Windows 8

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

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

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

Windows 10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • управление оборудованием (включает в себя приём микрокода от BIOS чипа материнской платы, управление оперативной памятью, диагностику неисправностей и сочленение установленного оборудования и программ к нему)
    • управление программами (включает в себя установку и удаление программ, запуск программ и участие работе “железных” компонентов от имени программ)
    • управление файлами (всё, что можно создавать, перемещать и удалять на твердотельных накопителях)
    • создание пользовательского интерфейса (графического или командного/текстового) для обеспечения или контроля всех или многих указанных выше функций

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

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

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

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

    Это часть операционной системы, которая завязана и с пользователем и с приложениями. Именно шелл позволяет нам запускать флешки, устанавливать программы, запускать word-вый документ и печатать в нём, сохраняя в любое дозволенное системой место, которое заметно проводнику. Shell – это и File Explorer (проводник Windows), и контрольная панель Пуск, и окна Свойства системы и Мой компьютер. Человек или пользователь знает шелл как различные инструменты пользовательского интерфейса, такие как диалоговые окна, ярлыки и иконки, контекстные меню дополнительных команд.

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

    Сам шелл состоит из нескольких подсистем, которые управляются в пользовательском режиме. Такой режим означает, что эти подсистемы имеют очень ограниченный доступ к системной информации, и доступ к “железу” может осуществляться ТОЛЬКО через системные службы (службы самой Windows). Одна из таких подсистем – подсистема безопасности Win32 – обеспечивает вход в систему (регистрацию пользователя), сохранение и распространение его привилегий на файлы и папки, а также другие функции безопасности. Абсолютно все программы и приложения “здороваются с Windows” только через подсистему Win32.

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

    Как и в других ОС, отвечает за работу с оборудованием, которое внутри компьютера находится или во время работы к компьютеру “пристёгивается”. Режим ядра полномочий имеет гораздо больше. Никакая программа, установленная в Windows, не имеет доступа к “железу” напрямую – только через шелл, который, в свою очередь, посылает все запросы к ядру. Такая система взаимодействия обеспечивает стабильную работу ОС. Это чем-то напоминает ресторан: перед тем как заказать блюдо, вам нужно позвать официанта (к шеф-повару и на саму кухню вас не пропустят).

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

    • слой аппаратных абстракций HALhardware abstraction layer
      – (ближайший к железу уровень)
    • уровень исполнительных служб (обеспечивает взаимодействие подсистем в пользовательском режиме со слоем аппаратных абстракций)

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

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

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

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

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

    Ну, а всем операционным системам нужно место, где данные о программах и оборудовании, а также настройках и предпочтении пользователя можно хранить. Нужно хранить информацию и о том, как пользователь хочет, чтобы Windows и программы выглядели, где хранить скачиваемое и создаваемое и т.д. Для всего этого (или для почти всего) Windows использует … правильно, реестр. Некая информация хранится в файлах инициализации (характерные файлы с расширением .ini и .inf).

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

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

    Если программа установлена, мы подразумеваем, что её остов где-то хранится. Чаще всего это жёсткий диск или флешка. Когда пользователь запускает программу, некоторые из её файлов копируются в оперативную память. Так появляется процесс. практически в том виде, каком мы видим его в Диспетчере задач или Process Explorer. Процессом можно назвать программу, запущенную вместе с соответствующими системными службами и другими ресурсами. Ресурсы нередко включают в себя и другие программы, включая захват дополнительных ячеек оперативной памяти для временного хранения данных. Когда процесс делает запрос к системе по типу “Мне нужны ресурсы!”, подразумевается, что программа обращается именно к подсистеме Win32. Так появляется поток данных. Поток – это единичная, выделенная задача (запустить или создать документ, вставить рисунок из буфера обмена, распечатать документ на принтере и т.д.). Схематично это выглядит так:

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

    Технология работы в ОС Windows

    Информационные и коммуникационные технологии

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

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

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

    · во-первых, управление всеми ресурсами компьютера;

    · во-вторых, обмен данными между устройствами компьютера, между компьютером и человеком.

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

    Ещё не так давно работы по настройке приходилось выполнять пользователю вручную, а сегодня производители компонентов компьютерной техники разработали протокол plug-and-play (включил — заработало). Этот протокол позволяет операционной системе в момент подключения нового компонента получить информацию о новом устройстве, достаточную для настройки ОС на работу с ним.

    Операционные системы для ПК различаются по нескольким параметрам. В частности, ОС бывают:

    · однозадачныеимногозадачные;

    · однопользовательские и многопользовательские;

    · сетевые и несетевые.

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

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

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

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

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

    В настоящее время, с появлением мощных компьютеров, широкое распространение получили два типа ОС. К первому типу относятся достаточно похожие ОС семейства Windows компании Microsoft. Они многозадачные и имеют многооконный графический интерфейс. На рынке персональных компьютеров с Windows конкурируют ОС типа UNIX. Это многозадачная многопользовательская ОС с командным интерфейсом. В настоящее время разработаны расширения UNIX, обеспечивающие многооконный графический интерфейс. UNIX развивалась в течение многих лет разными компаниями, но до недавнего времени она не использовалась на персональных компьютерах, т.к. требует очень мощного процессора, весьма дорога и сложна, её установка и эксплуатация требуют высокой квалификации. В последние годы ситуация изменилась. Компьютеры стали достаточно мощными, появилась некоммерческая, бесплатная версия системы UNIX для персональных компьютеров — система Linux. По мере роста популярности этой системы в ней появились дополнительные компоненты, облегчающие её установку и эксплуатацию. Немалую роль в росте популярности Linux сыграла мировая компьютерная сеть Internet. Хотя освоение Linux гораздо сложнее освоения систем типа Windows, Linux — более гибкая и в то же время бесплатная система, что и привлекает к ней многих пользователей.

    Существуют и другие ОС. Известная компания Apple производит компьютеры Macintosh с современной ОС MacOS. Эти компьютеры используются преимущественно издателями и художниками. Фирма IBM производит ОС OS/2. Операционная система OS/2 такого же класса надёжности и защиты, как и Windows NT.

    Разбираемся, как работают операционные системы

    Linux, Windows, Mac OS? Зачем они нужны? Понимание того, как работают операционные системы, поможет создавать качественные приложения.

    Есть несколько причин, почему программистам стоит знать, как работают операционные системы. Одна из них – чтобы понимать, как работают программы. Представьте: вы пишете код, который кажется рабочим, но программа тормозит. Что делать? Можно попробовать разобраться с ограничениями операционной системы, но вы ведь не умеете!

    Если стремитесь построить карьеру программиста, стоит понять, как работают операционные системы. Например, можно изучить курс «Введение в операционные системы» от Georgia Tech. В нем рассказывается, как работают ОС: механизмы работы, параллельное программирование (потоки и синхронизация), взаимодействие между процессами, распределённые ОС.

    Осветим 10 наиболее важных принципов, о которых говорилось в курсе Udacity, и разберемся, как же работают операционные системы.

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

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

    Файловая система, планировщик и драйверы – всё это основные инструменты работы ОС.

    Существует три ключевых элемента операционной системы:

    1. Абстракции (процессы, потоки, файлы, сокеты, память).
    2. Механизмы (создание, управление, открытие, запись, распределение).
    3. Реализации (алгоритмы LRU, EDF).

    Кроме того, есть два основных принципа проектирования операционных систем:

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

    Теперь подробнее разберём глобальные концепции, которые помогут сформировать понимание того, как работают операционные системы.

    Процессы и управление

    Процесс – не что иное, как исполнение программы. Так как программа записана в виде последовательности действий в текстовый файл, процессом она становится только при запуске.

    Загруженная в память программа может быть условно разделена на четыре части: стек, кучу, контекст и данные.

    • Stack: стек процесса содержит временные данные, такие как параметры метода, адрес возврата и локальные переменные.
    • Heap: это динамически распределяемая память процесса времени его выполнения.
    • Text: хранит состояние регистров, состояние программного счетчика, режим работы процессора, незавершенные операции ввода-вывода, информацию о выполненных системных вызовах.
    • Data: раздел содержит глобальные и статические переменные.

    Когда процесс выполняется, он проходит через разные состояния. Эти этапы могут различаться в разных операционных системах.

    Общая картина выглядит так:

    • Start: начальное состояние при создании процесса.
    • Ready: процесс ожидает исполнения на процессоре. В течение работы процессор может переключаться между процессами, переводя одни в режим готовности, другие – в режим исполнения.
    • Running: выполнение инструкций.
    • Wait: процесс переходит в состояние ожидания. Например, ждёт ввода данных или получения доступа к файлу.
    • Terminated: как только процесс завершится, он перейдёт в это состояние и будет ожидать удаления.

    Немного терпения: мы уже близки к пониманию того, как работают операционные системы 😉

    Блок управления процессов (Process Control Block) – это структура данных, поддерживаемая операционной системой для каждого процесса. PCB имеет идентификатор PID. Именно PCB хранит всю информацию, необходимую для отслеживания процесса.

    • Process ID: идентификатор каждого из процессов в ОС.
    • State: текущее состояние процесса.
    • Privileges: разрешения доступа к системным ресурсам.
    • Pointer: указатель на родительский процесс.
    • Priority: приоритет процесса и другая информация, которая требуется для планирования процесса.
    • Program Counter: указатель на адрес следующей команды, которая должна быть выполнена.
    • CPU registers: регистры процессора, необходимые для состояния исполнения.
    • Accounting Information: уровень нагрузки на процессор, статистика и другие данные.
    • I/O Information: список ресурсов, использующих чтение и запись.

    Потоки и параллелизм

    Поток (нить, thread) – это ход исполнения программы. Он также имеет свой program counter, переменные, стек.

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

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

    Каждый поток относится к какому-то процессу и не может существовать без него. Сегодня потоки широко применяются в работе серверов и многопроцессорных устройств с общей памятью.

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

    Потоки имеют два уровня реализации:

    • Пользовательский уровень, то есть потоки, управляемые приложениями;
    • Уровень ядра, то есть потоки, управляемые ядром операционной системы.

    В первом случае ядро ​​управления потоками ничего не знает о существовании потоков вообще. А библиотека потоков просто содержит код для создания и уничтожения потоков, а также передачи сообщений и данных между ними для планирования выполнения потоков и сохранения (восстановления) контекстов потоков.

    Во втором случае ядро выполняет создание потоков, а ещё планирование и управление в пространстве ядра. Заметим, что потоки ядра обычно медленнее, чем потоки пользователей.

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

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

    ОС поддерживает все блоки управления процессом (PCB) в очередях планирования процесса:

    • Очередь задач (job queue) поддерживает все процессы в системе.
    • Очередь ожидания (ready queue) хранит информацию обо всех процессах, находящихся в основной памяти в состоянии ожидания. В эту очередь попадают и новые процессы.
    • Очереди из устройств (device queue) – это процессы, заблокированные из-за недоступности устройств ввода-вывода.

    ОС может использовать разные методы реализации для управления очередями (FIFO, Round Robin, Priority). Планировщик ОС определяет, когда и как перемещать процессы между готовыми и запущенными очередями (могут иметь только одну запись на ядро ​​процессора в системе). На приведенной выше диаграмме он был объединен с процессором.

    Модели состояния делятся на активные и неактивные:

    • Активные: при создании нового процесса он переходит в класс активных.
    • Неактивные: процессы, которые не выполняются, а ждут завершения других процессов. Каждая запись в очереди является указателем на конкретный процесс. Очередь реализуется с использованием связанного списка. Использование диспетчера заключается в следующем: когда процесс прерывается, то переносится в очередь ожидания. Если процесс завершен или отменен – он отменяется вовсе.

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

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

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

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

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

    Адресное пространство процесса – набор логических адресов, к которым программа обращается в коде. Например, если используется 32-битная адресация, то допустимые значения варьируются от 0 до 0x7fffffff, то есть 2 Гб виртуальной памяти.

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

    • Символьные адреса: или по-другому адреса, используемые в исходном коде. Имена переменных, константы и метки инструкций являются основными элементами символического адресного пространства.
    • Относительные адреса: компилятор преобразует символические адреса в относительные адреса.
    • Физические адреса: загрузчик генерирует эти адреса в момент загрузки программы в основную память.

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

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

    Хотите разобраться подробнее в том, как работают операционные системы? Посмотрите соответствующие книги в нашем Телеграм-канале.

    Межпроцессорное взаимодействие

    Существует два типа процессов: независимые и взаимодействующие. На независимые не оказывается влияние процессов сторонних, в отличие от взаимодействующих.

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

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

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

    Метод использования общей памяти

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

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

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

    Аналогично потребитель сначала проверит наличие товара, и если ни один элемент не будет доступен, придётся ждать его освобождения.

    Метод анализа сообщений

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

    • Устанавливается связь (если её ещё не существует).
    • Начинается обмен сообщениями с помощью базовых примитивов. Нам нужно как минимум два примитива – отправить (сообщение, пункт назначения) или получить (сообщение).

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

    Управление вводом и выводом

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

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

    • Блочные: то есть устройства, с которыми драйверы связываются, отправляя целые блоки данных. Например, жесткие диски, USB-камеры, Disk-On-Key.
    • Символьные: те устройства, с которыми драйвер связывается, отправляя и получая одиночные символы (байты или октеты). Например, последовательные порты, параллельные порты, звуковые карты и так далее.

    ЦПУ должен иметь способ передачи информации на устройство ввода-вывода и обратно. И есть три способа сделать это:

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

    1. Входы и выходы с отображением памяти

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

    1. Прямой доступ к памяти (DMA)

    Медленные устройства, такие как клавиатуры, генерируют прерывания ЦПУ после передачи каждого байта. Если бы быстрые устройства работали похожим образом, то ОС бы тратила большую часть времени впустую, на обработку этих прерываний. Поэтому для снижения нагрузки обычно используется прямой доступ к памяти (DMA).

    Это означает, что ЦПУ предоставляет модулю ввода и вывода полномочия для чтения или записи в память. Сам модуль управляет обменом данными между основной памятью и устройством ввода-вывода. ЦПУ участвует в начале и конце передачи, а прерывается только после полной передачи блока.

    Организация прямого доступа к памяти требует специального оборудования, называемого контроллером DMA (DMAC). Он управляет передачей данных и доступом к системной шине. Контроллеры запрограммированы с указателями источника и места назначения, счетчиками для отслеживания количества переданных байтов и прочими настройками.

    Виртуализация

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

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

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

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

    Проще говоря, виртуализация создает дополнительные мощности для выполнения процессов.

    Типы виртуализации

    1. Данные: позволяет компаниям обеспечивать вычислительные мощности для объединения данных из нескольких источников, размещения новых источников и преобразования данных в соответствии с потребностями пользователя.
    2. Рабочий стол: легко спутать с виртуализацией операционной системы. Виртуализация рабочего стола позволяет центральному администратору одновременно развёртывать смоделированные среды на сотнях физических машин. Виртуальные системы позволяют администраторам выполнять массовые конфигурации, обновления и проверки безопасности на всех устройствах сразу.
    3. Серверы: программная имитация с помощью специального ПО аппаратного обеспечения компьютера: процессор, память, жесткий диск, и т. д. На такой виртуальный компьютер можно установить операционную систему, и она будет на нем работать точно так же, как и на простом, «железном» компьютере. Самое интересное достоинство этой технологии – это возможность запуска нескольких виртуальных компьютеров внутри одного физического. При этом, все виртуальные компьютеры могут работать независимо друг от друга.
      Сервер – компьютер, спроектированный под выполнение большого объема специфических задач. Виртуализация сервера позволит ему выполнять больше этих специальных задач, а также разделить функционал на разные компоненты.
    4. ОС: это способ одновременного запуска Linux и Windows-сред. Преимущество в том, что это уменьшает затраты на оборудование, повышает безопасность и экономит время на обслуживании.
    5. Сетевые функции: разделяет ключевые функции сети (например, службы каталогов, общий доступ к файлам и IP-конфигурацию) для распределения между средами. Виртуальные сети сокращают количество физических компонентов: коммутаторов, маршрутизаторов, серверов, кабелей.

    Система файловой дистрибуции

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

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

    Сетевая файловая система Sun Microsystems (NFS), Novell NetWare, распределенная файловая система Microsoft и DFS от IBM являются примерами распределенных файловых систем.

    Распределенная общая память

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

    Преимущества распределенной общей памяти:

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

    Облачные вычисления

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

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

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

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

    Итоги

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

    Разобрались, как работают операционные системы? Вот ещё несколько интересных статей на тему:

    Источник: Как работают операционные системы: 10 концептов, которые нужно знать разработчикам on Medium.

  • Мыльное изображение на мониторе windows 10
  • На каком языке сделана windows
  • На windows 8 1 есть doc
  • На какие ноутбуки можно установить windows 11
  • Мы не можем сейчас подключиться проверьте подключение к сети и повторите попытку позже windows 11