Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.
Старт системы
Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.
Контакты на материнке для подключения кнопки включения, светодиодов состояния Power, жёсткого диска и динамиков.
Плата ноутбука с кнопкой включения и светодиодом состояния
Cистемный контроллер обладает огромными полномочиями – включать и выключать компьютер, исполнять код в режиме ядра. Помимо него могут быть и другие чипы со сравнимыми возможностями, такие как Intel Management Engine или AMD Secure Technology (часть CPU), которые так же работают когда компьютер «выключен». Чип с Intel ME имеет в себе x86 CPU с операционной системой MINIX 3. Что он может делать:
- Включать и выключать компьютер, т.е. выполнять программы имея доступ ко всей вычислительной мощности, периферии машины и сети.
- Обходить ограничения файервола.
- Видеть все данные в CPU и RAM, что даёт доступ к запароленным файлам.
- Красть ключи шифрования и получать доступ к паролям
- Логировать нажатия клавиш и движения мыши
- Видеть что отображается на экране
- Вредоносный код в Intel ME не может быть детектирован антивирусом, потому как на такой низкий уровень он добраться не может
- И конечно же скрытно отправлять данные по сети используя свой стек для работы с сетью.
Это вызывает серьёзные вопросы безопасности, потому как он может быть хакнут или использовать в шпионских целях.
Прикладная иллюстрация как блок питания получает сигнал от материнки на включение. Если вы задумаете установить мощную видеокарту (Nvidia 2070 S) на офисный ПК, то просто вставить её недостаточно, потому как она требует питание в 600W, в то время как такой ПК имеет блок на ~500W. Первое что придёт в голову – купить новый блок питания на 650W с отдельной линией для видеокарты. Но и здесь будут разочарования, потому как разъёмы материнки будут не совпадать с разъёмами БП, а если его отдельно воткнуть в розетку и подключить к видюхе тоже ничего не будет – в блоке питания вентилятор не крутится и изображения нет. Так происходит, потому что БП должен получить сигнал от материнки на полное включение. Очевидное решение – новая материнка с совместимыми разъёмами, однако она стоит ~$300. Есть решение проще, хоть оно и вызывает опасения пожаробезопасности. Берём скрепку, разгибаем и вставляем в зелёный (PS_ON) и один из чёрных пинов (COM). Теперь всё должно работать.
Поиск загрузчика ОС
Есть два вида прошивки материнки – BIOS (Basic Input Output System) на старых машинах и UEFI (Unified Extensible Firmware Interface) на новых. Windows 10 поддерживает обе и абстрагирует различия между ними. UEFI правильней называть ОС чем прошивкой, потому как он предлагает больше возможностей, к примеру богатый графический интерфейс вместо текстового, наличие мышки, больший объём доступной памяти, улучшенная модель безопасности и валидации файлов ОС, взаимодействие с железом через API, вместо прерываний как в BIOS.
Пример экрана монитора BIOS.
Программа BIOS хранится на отдельном чипе, подключенном к Южному мосту. Этот чип можно достать и перепрошить новой программой, по факту это просто носитель памяти, а не самостоятельный микрокомпьютер.
Настройки BIOS (системное время, например), хранятся на другом чипе который как правило находится возле круглой батарейки, которая на самом деле является литиевым аккумулятором, подзаряжающимся во время работы ПК. Называется он CMOS, что означает Complementary Metal Oxide Semiconductor, а по-русски просто — КМОП, что есть комплементарная структура металл-оксид-полупроводник.
Первым делом программа BIOS выполняет проверку подсистем, эта процедура называется POST – Power On Self Test. Тест может быть сокращённый либо полный, это задаётся в настройках BIOS. Процитирую Википедию, что в себя включают эти тесты:
Сокращённый тест включает:
- Проверку целостности программ BIOS в ПЗУ, используя контрольную сумму.
- Обнаружение и инициализацию основных контроллеров, системных шин и подключённых устройств (графического адаптера, контроллеров дисководов и т. п.), а также выполнение программ, входящих в BIOS устройств и обеспечивающих их самоинициализацию.
- Определение размера оперативной памяти и тестирования первого сегмента (64 килобайт).
Полный регламент работы POST:
- Проверка всех регистров процессора;
- Проверка контрольной суммы ПЗУ;
- Проверка системного таймера и порта звуковой сигнализации (для IBM PC — ИМС i8253 или аналог);
- Тест контроллера прямого доступа к памяти;
- Тест регенератора оперативной памяти;
- Тест нижней области ОЗУ для проецирования резидентных программ в BIOS;
- Загрузка резидентных программ;
- Тест стандартного графического адаптера (VGA или PCI-E);
- Тест оперативной памяти;
- Тест основных устройств ввода (НЕ манипуляторов);
- Тест CMOS
- Тест основных портов LPT/COM;
- Тест накопителей на гибких магнитных дисках (НГМД);
- Тест накопителей на жёстких магнитных дисках (НЖМД);
- Самодиагностика функциональных подсистем BIOS;
- Передача управления загрузчику.
По результатам этого теста может быть обнаружена неисправность, к примеру нерабочая видеокарта или клавиатура. Поскольку экран монитора может не работать результаты тестов сообщаются в виде последовательности звуковых сигналов разной высоты. Что конкретно они значат надо смотреть в документации к материнской плате. Старые компьютеры часто бибикали во время старта — это программа BIOS сообщала о результатах тестов. Иногда может дополнительно использоваться индикатор, показывающий номер ошибки.
Если всё прошло успешно, BIOS начинает процесс поиска загрузчика ОС. Для этого он начинает просматривать все подключенные к материнской плате жёсткие диски. Данные на физических дисках адресуются в единицах называемых сектор, обычно он 512 байт, однако современный стандарт – 4096 байт. Установщик Windows в самый первый сектор на диске записывает специальный программный код и данные о разделах. Этот сектор называется Master Boot Record. Диск разбивается на разделы (partitions), отформатированный своей файловой системой. Максимум 4 раздела, каждый из который может быть расширенным (extended partition), такой можно рекурсивно делить на 4 раздела и теоретически их число не ограничено. Как только BIOS находит Master Boot Record он считывает оттуда код и передаёт ему управление. Этот код поочередно просматривает данные о разделах и находит тот который помечен как активный, в нём находится код загрузчика Windows (Это не раздел с C:WindowsSystem32!), этот раздел называется system partition. Как правило он занимает 100Мб и скрыт от пользователя. В первом секторе этого раздела хранится загрузочный код, которому передаётся управление. Это volume boot sector, код в нём ищет файл Bootmgr, с которого и начинается процесс загрузки Windows. Файл Bootmgr создан через соединение в один файлов Startup.com и Bootmgr.exe.
Процессор начинает свою работу в режиме который называется «Реальный». Это режим совместимости, в нём CPU работает так же как и старые 16-bit процессоры, не имевшие поддержки виртуальной памяти и работавшие напрямую с физической памятью через 20-bit шину адресов, позволявшую адресовать 1Мб памяти. Простые MS-DOS программы выполнялись в этом режиме и имели расширение .COM. Первое что делает Startup.com (Bootmgr) – переключает процессор в режим «Защищённый», где под защитой понимается защита процессов друг от друга. В этом режиме поддерживается виртуальная память и 32х битные адреса, которыми можно адресовать 4Гб оперативной памяти. Следующим этапом Bootmgr заполняет таблицу виртуальных адресов на первые 16Мб RAM и включает трансляцию с виртуальных адресов в физические. В этом режиме и работает Windows. Поскольку на этом этапе подсистемы ОС ещё не созданы, Bootmgr имеет свою простую и неполную реализацию файловой системы NTFS, благодаря которой он находит BCD файл (Boot Configuration Data), в котором хранятся настройки параметров загрузки ОС. Вы можете редактировать его через утилиту BcdEdit.exe. В этих настройках BCD может быть указано, что Windows была в состоянии гибернации, и тогда Bootmgr запустит программу WinResume.exe, которая считывает состояние из файла Hyberfil.sys в память и перезапускает драйвера. Если BCD говорит, что есть несколько ОС, то Bootmgr выведет на экран их список и попросит пользователя выбрать. Если ОС одна, то Bootmgr запускает WinLoad.exe, этот процесс и выполняет основную работу по инициализации Windows:
- Выбирает соотвествующую версию ядра Windows. Можете думать о нём как о Windows10.exe, хотя на самом деле он называется NtOsKrnl.exe. Какие есть версии? Согласно википедии:
- ntoskrnl.exe — однопроцессорное ядро Windows. без поддержки режима PAE
- ntkrnlmp.exe (англ. NT Kernel, Multi-Processor version) — многопроцессорное ядро Windows. без поддержки режима PAE
- ntkrnlpa.exe — однопроцессорное ядро Windows с поддержкой режима PAE.
- ntkrpamp.exe — многопроцессорное ядро Windows с поддержкой режима PAE.
- Загружает HAL.dll (Hardware Abstraction Layer), который абстрагирует особенности материнки и CPU.
- Загружает файл шрифтов vgaoem.fon
- Загружает файлы в которых содержится инфомрация о представлениях даты времени, форматов чисел и пр. Эта функциональность называется National Language System.
- Загружает в память реестр SYSTEM, в нём содержится информация о драйверах которые надо загрузить. Информация о всех драйверах находится в HKLMSYSTEMCurrentControlSetServices. Драйвера которые надо загрузить имеют ключ start = SERVICE_BOOT_START (0). Об устройстве реестра мы поговорим в другой статье.
- Загружает драйвер файловой системы для раздела на котором располагаются файлы драйверов.
- Загружает драйвера в память, но пока не инициализирует их из-за круговых зависимостей.
- Подготавливает регистры CPU для выполнения ядра Windows выбранного на первом шаге – NtOsKrnl.exe.
Во время загрузки драйверов WinLoad проверяет их цифровые подписи и если они не совпадают, то будет синий (BSOD) или зелёный (GSOD, для insider preview сборок) «экран смерти».
Запуск на UEFI
Пример экрана загрузки UEFI
BIOS существует больше 30 лет и в попытках исправить его недостатки компания Intel в 1998 году создала стандарт Intel Boot Initiative, позже переименованный в EFI и в 2005 году пожертвованный организации EFI Forum. Недостатки BIOS:
• Работает только в 16-битном режиме
• Может адресовать только 1Mb оперативной памяти
• Часто имеет проблемы совместимости
• MBR ограничен только четырьмя главными разделами диска
• Диск с ОС не может быть больше чем 2.2Tb.
• Имеет очень ограниченные возможности для валидации загрузчика ОС.
На смену BIOS пришёл UEFI, по сути это миниатюрная ОС которая может работать и в 32-bit и в 64-bit. Для совместимости есть опция Compatibility Support Module, которая включается в настройках и эмулирует работу BIOS.
В UEFI загрузка происходит в родной для процессора битности – 32 или 64, есть доступ ко всей памяти, поддерживается виртуальная память, включен Secure Boot и есть возможность запустить antimalware до начала загрузки ОС. Порядок загрузки ОС в UEFI:
- Инициализация и запуск Firmware, запуск чип-сета.
- POST тест, аналогично BIOS
- Загрузка EFI-драйверов и поиск диска подпадающего под требования EFI для загрузочного диска
- Поиск папки с именем EFI. Спецификация UEFI требует чтобы был раздел для EFI System Partition, отформатированный под файловую систему FAT, размером 100Мб – 1Гб или не более 1% от размера диска. Каждая установленная Windows имеет свою директорию на этом разделе – EFIMicrosoft.
- Читает из настроек UEFI сохранённых в NVRAM (энергонезависимая память) путь к файлу загрузчика.
- Находит и запускает EFI/Microsoft/Boot/BootMgrFw.efi.
- BootMgrFw.efi находит раздел реестра BCD, который хранится в отдельном файле с именем BCD. Из него он находит WinLoad.efi, который расположен в C:WindowsSystem32winload.efi.
Чтобы посмотреть содержимое раздела EFI System Partition откройте консоль с правами админа (WinKey+X => Windows PowerShell (Admin)) и выполните команды mountvol Z: /s, Z:, dir. CD — меняет директорию.
Главное отличие компонентов BootMgr и WinLoad для UEFI от своих копий для BIOS тем что они используют EFI API, вместо прерываний BIOS и форматы загрузочных разделов MBR BIOS и EFI System Partition сильно отличаются.
Инициализация ядра
Напоминаю, что мы рассматриваем загрузку ПК в контексте работы клавиатуры, поэтому не стоит заострять внимание на всех этапах. Надо понять где в этом процессе находится клавиатура, важные для понимания этапы выделены.
На предыдущем этапе был запущен компонент WinLoad.exe/WinLoad.efi, который запускает NtOsKrnl.exe указав ему параметры загрузки в глобальной переменной nt!KeLoaderBlock (память режима ядра доступна всем процессам), которые WinLoad собрал во время своей работы. Они включают:
- Пути к System (загрузчик Windows) и Boot (C:WindowsSystem32) директориям.
- Указатель на таблицы виртуальной памяти которые создал WinLoad
- Дерево с описанием подключенного hardware, оно используется для создания HKLMHARDWARE ветки реестра.
- Копия загруженного реестра HKLMSystem
- Указатель на список загруженных (но не инициализированных) драйверов участвующих в старте Windows.
- Прочая информация необходимая для загрузки.
Инициализация ядра Windows происходит в два этапа. До этого происходит инициализация Hardware Abstraction Layer, который в числе всего прочего настраивает контроллеры прерывания для каждого CPU.
На этой же стадии загружаются в память строки с сообщениями для BSOD, потому как в момент падения они могут быть недоступны или повреждены.
- Первая фаза инициализации ядра:
- Слой Executive инициализирует свои объекты состояний – глобальные объекты, списки, блокировки. Производится проверка Windows SKU (Stock Keeping Unit), примеры Windows 10 SKU — Home, Pro, Mobile, Enterprise, Education.
- Если включен Driver Verifier, то он инициализируется.
- Менеджер памяти создаёт структуры данных, необходимые для работы внутренних API для работы с памятью (memory services), резервирует память для внутреннего пользования ядром.
- Если подключен отладчик ядра (kernel debugger) ему отправляется уведомление загрузить символы для драйверов загружаемых во время старта системы.
- Инициализируется информация о версии билда Windows.
- Старт Object Manager – позволяет регистрировать именованные объекты к которым могут получать доступ по имени другие компоненты. Яркий пример – мьютекс по которому приложение позволяет запустить единственный экземпляр. Здесь же создаётся храниться handle table, по которой устанавливается соответствие к примеру между HWND и объектом описывающим окно.
- Старт Security Reference Monitor подготавливает всё необходимое для создания первого аккаунта.
- Process Manager подготавливает все списки и глобальные объекты для создания процессов и потоков. Создаются процесс Idle и System (в нём исполняется “Windows10.exe” он же NtOsKrnl.exe), они пока не исполняются, потому как прерывания выключены.
- Инициализация User-Mode Debugging Framework.
- Первая фаза инициализации Plug and Play Manager. PnP – это стандарт который реализовывается на уровне производителей периферии, материнских плат и ОС. Он позволяет получать расширенную информацию о подключенных устройствах и подключать их без перезагрузки ПК.
- Вторая фаза инициализации ядра. Она содержит 51 шаг, поэтому я пропущу многие из них:
- По завершению первой фазы главный поток процесса System (NtOsKrnl.exe) уже начал исполнение. В нём производится вторая фаза инициализации. Поток получает самый высокий приоритет – 31.
- HAL настраивает таблицу прерываний и включает прерывания.
- Показывается Windows Startup Screen, которая по умолчанию представляет из себя чёрный экран с progress bar.
- Executive слой инициализирует инфраструктуру для таких объектов синхронизации как Semaphore, Mutex, Event, Timer.
- Объекты для User-Mode Debugger проинициализированы.
- Создана symbolic link SystemRoot.
- NtDll.dll отображена в память. Она отображается во все процессы и содержит Windows APIs.
- Инициализирован драйвер файловой системы.
- Подсистема межпроцессного общения между компонентами Windows ALPC проинициализирована. Можете думать о ней как о named pipes или Windows Communication Foundation для межпроцессного общения.
- Начинается инициализация I/O Manager, который создаёт необходимые структуры данных для инициализации и хранения драйверов подключенной к компьютеру периферии. Этот процесс очень сложный.
Здесь же инициализируются компоненты Windows Management Instrumentation и Event Tracing for Windows (на него полагается Windows Performance Analyzer). После этого шага все драйвера проинициализированы. - Запускается процесс SMSS.exe (Session Manager Sub System). Он отвечает за создание режима пользователя, в котором будет создана визуальная часть Windows.
Запуск подсистем – SMSS, CSRSS, WinInit
SMSS.exe отличается от пользовательских процессов, это нативный процесс и это даёт ему дополнительные полномочия. SMSS.exe работает с ядром в обход Windows API, он использует то что называется Native API. Windows API – обёртка вокруг Native API. SMSS.exe первым делом запускает подсистему Windows (CSRSS.exe – Client Server Runtime Sub System) и заканчивает инициализацию реестра.
Процесс и потоки SMSS.exe помечены как критические, это значит что если они неожиданно завершаться, к примеру из-за ошибки, это приведёт к падению системы. Для общения с подсистемами, к примеру вызову API создающему новую сессию, SMSS создаёт ALPC-порт с именем SmApiPort. Загружаются из реестра переменные среды окружения, запускаются программы такие как Check Disk (autochk.exe, эти программы записаны в реестре HKLMSYSTEMCurrentControlSetControlSession ManagerBootExecute). SMSS.exe запускается для каждой пользовательской сессии. Глобальные переменные (очередь сообщений например) у каждой сессии своя за счёт механизма виртуальной памяти. В Windows есть контексты потока, процесса и сессии. Каждый SMSS.exe запускает свой экземпляр подсистемы, на данный момент это только CSRSS.exe (Windows), в прошлом поддерживались операционные системы OS/2 (os2ss.exe) и POSIX (psxss.exe), но эта идея была неудачной. Самый первый SMSS.exe засыпает в ожидании процесса WinInit.exe. Остальные экземпляры вместо этого создают процесс WinLogon который показывает UI для входа.
WinInit.exe инициализирует подсистемы для создания графической оболочки – Windows Station и десктопы, это не тот рабочий стол который вы видите, это иная концепция Windows. Далее он запускает процессы:
- Services.exe – Services Control Manager (SCM) запускает сервисы и драйвера помеченные как AutoStart. Сервисы запускаются в процессах svchost.exe. Есть утилита tlist.exe, которая запущенная с параметром tlist.exe -s напечатает в консоли имена сервисов в каждом из svchost.exe.
- LSASS.exe – Local System Authority.
- LSM.exe – Local Session Manager.
WinLogon.exe – загружает провайдеры аутентификации (credential providers), которые могут быть password, Smartcard, PIN, Hello Face. Он порождает процесс LogonUI.exe который и показывает пользователю интерфейс для аутентификации, а после валидирует введённые данные (логин и пароль, PIN).
Если всё прошло успешно, то WinLogon запускает процесс указанный в ключе реестра HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinLogonUserinit. По умолчанию это процесс UserInit.exe, который:
- Запускает скрипты указанные в реестрах:
- HKCUSoftwarePoliciesMicrosoftWindowsSystemScripts
- HKLMSOFTWAREPoliciesMicrosoftWindowsSystemScripts
- Если групповая политика безопасности определяет User Profile Quota, запускает %SystemRoot%System32Proquota.exe
- Запускает оболочку Windows, по умолчанию это Explorer.exe. Этот параметр конфигурируется через реестр:
- HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell
- HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell
WinLogon уведомляет Network Provider о залогинившемся пользователе, на что тот восстанавливает и подключает системные диски и принтеры сохранённые в реестре. Network Provider представляет из себя файл mpr.dll из системной папки, который хостится в процессе svchost.exe, т.е. сервис Windows.
Дерево процессов выглядит следующим образом, на нём можно увидеть кто и кого создал (показаны не все процессы, может немного отличаться от последний версий Windows).
Где здесь клавиатура?
Во время запуска ядро Windows считывает из реестра информацию о контроллере системной шины, как правило это шина PCI (реже MSI), к ней подключены контроллеры портов ввода-вывода, в том числе и USB, PS/2. Информация о нём записывается во время установки Windows. Система загружает для него драйвер и рекурсивно обходит все порты так же загружая для каждого из них свой драйвер. Драйвера могут комбинироваться в узлы (driver node), к примеру драйвер клавиатуры, будет соединён с драйвером порта PS2. А вот порт USB сложнее — сначала драйвер порта, потом драйвер для работы с протоколом HID и только потом клавиатура.
Каждый порт контроллируется своим чипом, который мониторит подключение, принимает/отправляет сигналы между CPU и устройством. Если чип-сет Южный мост не встроен в CPU, как это часто делают в ноутбуках, а существует отдельным чипом на материнке, то правильней говорить: сигнал между Южным мостом и контроллером порта. Чип контроллирующий порт имеет выделенную линию с контроллером прерываний (PIC или APIC), по которой он может попросить обратить на себя внимание CPU, к примеру считать данные от клавиатуры (порт PS/2, с USB другая история). Поскольку ОС загрузила для порта драйвер, она может отдавать ему команды, читать и отправлять данные. В нашем примере был загружен драйвер из C:WindowsSystem32i8042prt.sys. Давайте вспомним предыдущую статью. В старых компьютерах с PIC на чипе Intel 8259 было 15 линий прерываний, где клавиатура была подключена к ножке IRQ1, таймер IRQ0, а мышка к IRQ12, который на самом деле был пятой ножкой второго чипа 8259, который мультиплексировал свои прерывания через ножку IRQ2 первого контроллера. В современных PIC могут быть 255 контактов для сигналов прерываний. Во время загрузки ОС программирует APIC/PIC возвращать определённое число когда скажем пришло прерывание от порта клавиатуры или USB и по этому номеру CPU находит в таблице векторов прерываний функцию которую надо выполнить. Номер прерываний определяют HAL и Plug’n’Play Manager. Контроллер прерываний ищет сигнал на своих ножках в определённом порядке, к примеру в бесконечном цикле проверяет напряжение на ножках от 1 до MAX_PIN. Этот порядок определяет приоритет, к примеру клавиатура будет замечена раньше мышки, а таймер раньше клавиатуры. Чтобы не зависеть от особенностей работы контроллеров прерываний Windows абстрагирует концепцию IRQ (Interrupt Request) в IRQL (Interrupt Request Level). Будь у контроллера прерываний хоть 15 хоть 255 линий они все будут отображены на 32 IRQL для x86 и 15 IRQL для x64 и IA64.
Что означают приоритеты IRQL:
- High – когда происходит краш системы, обычно это вызов функции KeBugCheckEx.
- Power Fail – не используется. Изначально был придуман для Windows NT.
- Interprocessor Interrupt – нужен отправить запрос другому CPU на мультипроцессорной системе выполнить действие, например обновить TLB cache, system shutdown, system crash (BSOD).
- Clock – нужен чтобы обновлять системные часы, а так же вести статистику сколько времени потоки проводят в режиме пользователя и ядра.
- Profile – используется для real-time clock (local APIC-timer) когда механизм kernel-profiling включен.
- Device 1 … Device N – прерывания от устройств I/O. Во время прерывания данные от клавиатуры, мыши и других устройств считываются в отдельные буфера и сохраняются в объектах типа DPC (Deferred Procedure Call), чтобы обработать их позже и дать возможность устройствам переслать данные. После приоритет снижается до Dispatch DPC
- Dispatch DPC — как только данные от устройств получены можно начинать их обрабатывать.
- APC — Asynchronous Procedure Call. Через этот механизм вы можете исполнить код когда поток будет спать вызвав WaitForSingleObject, Sleep и другие.
- Passive/Low — здесь исполняются все приложения в User Mode.
Если вы всегда программировали в режиме пользователя, то никогда не слышали про IRQL, потому что все пользовательские программы выполняеются с приоритетом Passive/Low (0). Как только происходит событие с большим уровнем приоритета (событие от клавиатуры, таймер планировщика потоков), процессор сохраняет состояние прерванного потока, которое представляет из себя значения регистров CPU, и вызывает диспетчер прерываний (interrupt dispatcher, просто функция), который повышает приоритет IRQL через API KeRaiseIrql в HAL и вызывает непосредственно сам код обработчика (interrupt’s service routine). После этого IRQL CPU понижается до прежнего уровня через функцию KeLowerIrql и прерванный поток начинает обработку с того же места где его прервали. На этом механизме основан планировщик потоков. Он устанавливает таймер, который с определённым интервалом (квант времени) генерирует прерывание с приоритетом DPC/Dispatch (2) и в своей interrupt’s service routine по определённому алгоритму назначает новый поток на исполнение.
Механизм IRQL реализовывается на уровне софта в Hardware Abstraction Layer (HAL.dll), а не железа. В Windows системах есть драйвер шины (bus driver), который определяет наличие устройств подключенных к шинам – PCI, USB и др. и номера прерываний которые могут быть назначены каждому устройству. Драйвер шины сообщает эту информацию Plug and play manager, который уже решает какие номера прерываний назначить каждому устройству. Далее арбитр прерываний внутри PnP Mgr (PnP interrupt arbiter) устанавливает связи между IRQ и IRQL.
Когда приходит прерывание от клавиатуры, любой исполняемый в данный момент поток (это может быть ваша программа) назначается на его обработку. Interrupt dispatcher повышает приоритет IRQL CPU до одного из уровней Device1-DeviceN. После этого менеджер виртуальной памяти не сможет найти страницу если она не загружена в RAM (не сможет обработать Page Fault), планировщик потоков не сможет прервать выполнение, потому что они все работают с меньшим уровнем IRQL. Главная задача драйвера клавиатуры в этот момент считать полученные данные и сохранить их для дальнейшей обработки. Данные записываются в объект типа _DPC (Deferred Procedure Call), который сохраняется в список DPC потока (что-то вроде std::list<DPC>, в ядре ОС вместо массивов используются связанные списки). Как только прерывания от всех внешних устройств обработаны, IRQL потока понижается до уровня DPC в котором и производится обработка отложенных процедур (DPC). В коде обработчика DPC для клавиатуры вызывается функция из драйвера клавиатуры Kbdclass.sys:
VOID KeyboardClassServiceCallback(
_In_ PDEVICE_OBJECT DeviceObject,
_In_ PKEYBOARD_INPUT_DATA InputDataStart,
_In_ PKEYBOARD_INPUT_DATA InputDataEnd,
_Inout_ PULONG InputDataConsumed
);
Так вот, драйвер клавиатуры (kbdclass.sys) получает данные от порта (USB, PS2) через прерывание и записывает их через WriteFile, компонент внутри ядра Windows просыпается, считывает их используя API ReadFile и добавляет в очередь сообщений с клавиатуры. API для работы с файлом могут использоваться для чтения данных с драйверов. С этого момента начинается обработка данных стеком ввода Windows, об этом в следующей статье.
Если у вас есть ПК с PS2 портом и вы умеете пользоваться WinDbg в режиме ядра, то можете легко найти обработчик прерываний клавиатуры напечатав команду !idt, которая выведет на экран всю таблицу векторов прерываний. Прерывание вклинивается в ход выполнения программы, слово вектор здесь подразумевает направление, направление исполнения программы. WinDbg был сделан специально для отладки Windows, самая последняя версия называется WinDbgX. Он имеет текстовый интерфейс, который отпугивает людей привыкших к Visual Studio, однако предоставляет гораздо больше возможностей, в частности исполнение скриптов. Прерывание фиолетового порта PS2 выделено красным. Функция которая его обрабатывает называется I8042KeyboardInterruptService, которая находится в файле i8042prt.sys.
BOOLEAN
I8042KeyboardInterruptService(
IN PKINTERRUPT Interrupt,
IN PVOID Context
);
Routine Description:
This is the interrupt service routine for the keyboard device when
scan code set 1 is in use.
Arguments:
Interrupt - A pointer to the interrupt object for this interrupt.
Context - A pointer to the device object.
Return Value:
Returns TRUE if the interrupt was expected (and therefore processed);
otherwise, FALSE is returned.
Сейчас возникает вопрос, откуда у обработчика прерываний аргумент? Кто его передаёт? Ведь CPU ничего не знает о нём. Если поставите в неё breakpoint, то удивитесь ещё больше увидев несколько функций выше по стеку:
0: kd> kC
# Call Site
00 i8042prt!I8042KeyboardInterruptService
01 nt!KiCallInterruptServiceRoutine
02 nt!KiInterruptSubDispatch
03 nt!KiInterruptDispatch
04 nt!KiIdleLoop
Объяснение здесь простое – это не та функция которая сохранена в регистре IDT процессора. То что вы видите на картинке выше на самом деле объекты типа _KINTERRUPT. В таблице прерываний сохранён специальный ассемблерный код (nt!KiIdleLoop), который знает как найти объект описывающий прерывание в памяти. Что же интересного есть в нём?
- Указатель на объект представляющий драйвер в памяти.
- Указатель на функцию i8042prt!I8042KeyboardInterruptService, которая и вызывает код считывающий данные из порта PS2 через ассемблерную команду IN AL, 0x60 – сохранить значение из порта номер 0x60 в регистре AL.
- Функция dispatcher – ей передаётся указатель функцию из пункта №2 и она вызывает её.
- Состояние регистров CPU. Перед вызовом прерывания состояние CPU будет сохранено сюда, и отсюда же будет восстановлено.
- Приоритет прерывания. Не тот который определяет контроллер прерываний, а тот который Windows считает нужным. Это IRQL (Interrupt Request Level) – абстракция над IRQ.
Как только обработчик прерываний клавиатуры будет вызван, он уведомит драйвер клавиатуры о полученных данных, после чего будет уведомлено ядро ОС, которое обработав данные отправит их дальше по стеку ввода, где они могут быть доставлены приложению, которое на них отреагирует, или перед этим в обработчик языков (азиатские иероглифы, автокоррекция, автозаполнение).
Ядро ОС напрямую не взаимодействует с драйвером клавиатуры, для этих целей используется Plug’n’Play Manager. Этот компонент предоставляет API IoRegisterPlugPlayNotification, который вызовет предоставленную callback-функцию когда устройство будет добавлено или удалено.
Пару слов о USB
Ознакомление с работой порта USB потребовало бы отдельной статьи описывающей его работу и плюс описание обработки данных HID на Windows. Это очень сильно усложнило бы материал, к тому же уже есть хорошие статьи по теме, поэтому PS2 идеальный пример из-за своей простоты.
USB создавался как универсальный порт для всех устройств, будь то клавиатура, фотоаппарат, сканнер, игровой руль с педалями, принтер и пр. Вдобавок он поддерживает вложенность портов – USB материнки => монитор с USB => клавиатура с USB к которой подключена мышка, флешка и USB-hub к которому подключен жёсткий диск. Взглянув на контакты USB 2.0 вы увидите что они не заточены под передачу каких-то определённых данных, как у PS2. Их всего четыре – витая пара для передачи битов данных, плюс и минус питания.
Провода кабеля USB 2.0
USB 3.0 быстрее за счёт дополнительных пяти контактов. Как видите там нету линии CLOCK для синхронизации, поэтому логика передачи данных сложнее. Слева USB 2.0 и справа USB 3.0 для сравнения.
Все данные передаются через протокол HID (Human Interface Device), который описывает форматы, порядок взаимодействия и передачи данных и всё остальное. Стандарт USB 2.0 занимает 650 страниц, документ HID Class Specification, описывающий работу устройств (мыши, клавиатуры и пр) – 97 страниц, их рекомендуется изучить если вы работаете с USB.
Первым делом подключенное устройство должно рассказать о себе, для этого оно отправляет несколько структур данных, в которых указывается ID устройства и ID производителя по которым Plug’n’Play manager может найти в реестре информацию, загрузить и соединить драйвера. USB устройства пассивны, т.е. хост должен сам с определённым интервалом проверять наличие данных. Частота опроса и размер пакета данных задаются в одном из дескрипторов устройства USB. Максимальный размер пакета – 64 байта, что для информации о нажатых клавишах более чем достаточно.
В Windows есть встроенная поддержка HID, она не такая простая как связь драйвера порта PS2 с драйвером клавиатуры, потому что драйвер HID должен уметь обрабатывать все поддерживаемые протоколом сценарии. Вне зависимости от провайдера данных — порты PS2, USB или Remote Desktop или виртуальная машина – на самом верху driver node будет находится Kbdclass, от которого ядро ОС и будет получать информацию. Уведомление о подсоединении клавиатуры будет обрабатываться через Plug’n’Play Manager, так что для ядра Windows не имеет значение какой порт или источник данных от устройства используется.
ч.1 — Основы ОС и компьютера
ч.2 — Как работает материнская плата и клавиатура через порт PS2
Загрузка ОС происходит в несколько этапов:
1. После нажатия кнопки включения или перезагрузки управление берет на себя Базовая система ввода/вывода (Basic Input/Output System — BIOS). BIOS — это программа, записанная в постоянной энергонезависимой памяти компьютера -ПЗУ (английская аббревиатура — CMOS). BIOS производит тестирование и инициализацию всех устройств и, если они прошли успешно, считывает MBR по абсолютному адресу. Затем помещает считанный код главного загрузчика в оперативную память и передает ему управление.
2. Главный загрузчик определяет, откуда следует загружать ОС. В зависимости от типа загрузчика управление будет передано либо загрузочному коду, находящемуся в активном разделе жесткого диска, либо менеджеру загрузки, либо сам загрузчик поместит ядро ОС в оперативную память и передаст ему управление.
3. Получивший управление загрузчик операционной системы инициирует загрузку ядра ОС в память.
4. Запускается сама операционная система.
Как видно из вышесказанного, при загрузке компьютера используются абсолютные адреса, т.е. номера жестких дисков, цилиндров, головок, секторов, блоков. Выполнение этапов загрузки происходит по жестко заданной цепочке. Для успешной загрузки ОС необходимо, чтобы все участники цепочки находились на своих строго определенных местах: главный загрузчик и основная таблица разделов в загрузочном секторе диска, загрузчик(и) ОС и таблицы разделов в остальных разделах диска.
При нарушении этого порядка, например, при подключении нового диска к компьютеру, на котором уже установлена одна или несколько операционных систем, возможна ситуация, когда процесс остановится с сообщением типа «ОС не найдена».
← Особенности загрузки различных ОС Загрузка DOS |
Загрузчик системы → |
---|
Download PC Repair Tool to quickly find & fix Windows errors automatically
Ever wondered what happens when you push the power button? In this post, we will see how Windows 11/10 boots and all that goes behind in the background. While all we see it as one process, everything happens in steps. It has been designed in such a fashion that if you face any issue with Windows Boot, you will be able to troubleshoot it.
Windows boot process on BIOS systems comprises of four major phases. It starts from POST and ends up loading the Windows OS Loader or the Kernel. Here is a detailed description of the Windows 10 boot process and the list of stages it goes through:
- PreBoot
- Windows Boot Manager
- Windows OS Loader.
- Windows NT OS Kernel.
During every process, a program is loaded. Depending on whether it uses Legacy BIOS or UEFI, the file paths and files change.
Phase | Boot Process | BIOS | UEFI |
1 | PreBoot | MBR/PBR (Bootstrap Code) | UEFI Firmware |
2 | Windows Boot Manager | %SystemDrive%bootmgr | EFIMicrosoftBootbootmgfw.efi |
3 | Windows OS Loader | %SystemRoot%system32winload.exe | %SystemRoot%system32winload.efi |
4 | Windows NT OS Kernel | %SystemRoot%system32ntoskrnl.exe |
1] PreBoot: POST or Power-On Self-Test loads firmware settings. It checks for a valid disk system, and if the system is good to go for the next phase. If the computer has a valid MBR, i.e., Master Boot Record, the boot process moves further and loads Windows Boot Manager.
2] Windows Boot Manager: This step determines if you have multiple OS installed on your computer. If yes, then it offers a menu with the names of the OSs. When you select the OS, it will load the right program, i.e., Winload.exe to boot you into the correct OS.
3] Windows OS Loader: Like its name, WinLoad.exe loads important drivers to kick start the Windows Kernel. The kernel uses the drivers to talk to the hardware and do rest of the things required for the boot process to continue.
4] Windows NT OS Kernel: This is the last stage that picks up the Registry settings, additional drivers, etc. Once that has been read, the control is taken by the system manager process. It loads up the UI, the rest of the hardware and software. That’s when you finally get to see your Windows 10 Login screen.
When you run Windows 11/10 on a computer that supports Unified Extensible Firmware Interface (UEFI), Trusted Boot protects your computer from the moment you power it on. When the computer starts, it first finds the operating system bootloader. Computers without Secured Boot simply run whatever bootloader is on the PC’s hard drive.
When a computer equipped with UEFI starts, it first verifies that the firmware is digitally signed. If Secure Boot is enabled, the firmware examines the bootloader’s digital signature to verify that it is intact hasn’t been modified. You can read more on how to secure the Windows Boot Process.
Do remember that lot of things happen even after you log in, but that’s all post-boot process scenarios. Also note that there is much more to Windows 11/10 Boot process than we explained here – we only explained the basics!
Anand Khanse is the Admin of TheWindowsClub.com, a 10-year Microsoft MVP (2006-16) & a Windows Insider MVP (2016-2022). Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.
Download PC Repair Tool to quickly find & fix Windows errors automatically
Ever wondered what happens when you push the power button? In this post, we will see how Windows 11/10 boots and all that goes behind in the background. While all we see it as one process, everything happens in steps. It has been designed in such a fashion that if you face any issue with Windows Boot, you will be able to troubleshoot it.
Windows boot process on BIOS systems comprises of four major phases. It starts from POST and ends up loading the Windows OS Loader or the Kernel. Here is a detailed description of the Windows 10 boot process and the list of stages it goes through:
- PreBoot
- Windows Boot Manager
- Windows OS Loader.
- Windows NT OS Kernel.
During every process, a program is loaded. Depending on whether it uses Legacy BIOS or UEFI, the file paths and files change.
Phase | Boot Process | BIOS | UEFI |
1 | PreBoot | MBR/PBR (Bootstrap Code) | UEFI Firmware |
2 | Windows Boot Manager | %SystemDrive%bootmgr | EFIMicrosoftBootbootmgfw.efi |
3 | Windows OS Loader | %SystemRoot%system32winload.exe | %SystemRoot%system32winload.efi |
4 | Windows NT OS Kernel | %SystemRoot%system32ntoskrnl.exe |
1] PreBoot: POST or Power-On Self-Test loads firmware settings. It checks for a valid disk system, and if the system is good to go for the next phase. If the computer has a valid MBR, i.e., Master Boot Record, the boot process moves further and loads Windows Boot Manager.
2] Windows Boot Manager: This step determines if you have multiple OS installed on your computer. If yes, then it offers a menu with the names of the OSs. When you select the OS, it will load the right program, i.e., Winload.exe to boot you into the correct OS.
3] Windows OS Loader: Like its name, WinLoad.exe loads important drivers to kick start the Windows Kernel. The kernel uses the drivers to talk to the hardware and do rest of the things required for the boot process to continue.
4] Windows NT OS Kernel: This is the last stage that picks up the Registry settings, additional drivers, etc. Once that has been read, the control is taken by the system manager process. It loads up the UI, the rest of the hardware and software. That’s when you finally get to see your Windows 10 Login screen.
When you run Windows 11/10 on a computer that supports Unified Extensible Firmware Interface (UEFI), Trusted Boot protects your computer from the moment you power it on. When the computer starts, it first finds the operating system bootloader. Computers without Secured Boot simply run whatever bootloader is on the PC’s hard drive.
When a computer equipped with UEFI starts, it first verifies that the firmware is digitally signed. If Secure Boot is enabled, the firmware examines the bootloader’s digital signature to verify that it is intact hasn’t been modified. You can read more on how to secure the Windows Boot Process.
Do remember that lot of things happen even after you log in, but that’s all post-boot process scenarios. Also note that there is much more to Windows 11/10 Boot process than we explained here – we only explained the basics!
Anand Khanse is the Admin of TheWindowsClub.com, a 10-year Microsoft MVP (2006-16) & a Windows Insider MVP (2016-2022). Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.
Опер. сист.(ОС)
– это совокупность программ, управляющих
работой всех устройств персонального
компьютера (ПК) и процессом выполнения
прикладных программ. ОС выполняет след.
ф-ии:
контроль работоспособности оборудования
ПК; выполнение процедуры начальной
загрузки; управление работой всех
устройств ПК; управление файловой
системой ПК; взаимодействие пользователя
с ПК; загрузка и выполнение прикладных
программ; распределение ресурсов ПК
(оперативная память, процессорное время,
периферийные устройства) между прикладными
программами.
История Windows берет
свое начало в 1986 году, когда появилась
первая версия системы. Она представляла
собой набор программ, расширяющих
возможности существующих операционных
систем для большего удобства в работе.
Семейство
Операционных систем Windows
В настоящее время
большинство компьютеров в мире работают
под управлением той или иной версии
операционной среды Windows фирмы Microsoft.
Охарактеризуем наиболее распространенные
версии.
Windows 98
отличается от Windows 95 тем, что в ней
операционная система объединена с
браузером Internet Explorer посредством
интерфейса, выполненного в виде
Web-браузера и оснащенного кнопками
«Назад» и «Вперед» для перехода
на предыдущую и последующую Web-страницы.
Кроме этого, в ней улучшена совместимость
с новыми аппаратными средствами
компьютера, она одинаково удобна как
для использования на настольных, так и
на портативных компьютерах.
Windows 2000 Professional
— операционная система нового поколения
для делового использования на самых
разнообразных компьютерах — от
портативных до серверов. Эта ОС является
наилучшей для ведения коммерческой
деятельности в Интернете. Она объединяет
присущую Windows 98 простоту использования
в Интернете, на работе, в пути с присущими
Windows NT надежностью, экономичностью и
безопасностью.
Windows CE 3.0
— операционная система для мобильных
вычислительных устройств, таких, как
карманные компьютеры, цифровые
информационные пейджеры, сотовые
телефоны, мультимедийные и развлекательные
приставки, включая DVD проигрыватели и
устройства целевого доступа в Интернет.
Операционная
система Windows CE — 32-разрядная, многозадачная,
многопоточная операционная cистема,
имеющая открытую архитектуру, разрешающую
использование множеств устройств.
Windows CE позволяет устройствам различных
категорий «говорить» и обмениваться
информацией друг с другом, связываться
с корпоративными сетями и с Интернет,
пользоваться электронной почтой.
Windows CE компактна,
но высоко производительна. Это мобильная
система, функционирующая с микропроцессорами
различных марок и изготовителей. Для
нее есть программы Word и Excel, которые
совместимы с их настольными аналогами.
Имеет интегрированную систему управления
питанием.
Процессы
загрузки
ОС – это комплекс
взаимосвязанных системных программ,
назначение которого – организовать
взаимодействие пользователя с компьютером
и выполнение всех других программ.
Состав
операционной системы.
Структуру ОС
составляют следующие модули:
базовый модуль
(ядро ОС)- управляет работой программы
и файловой системой, обеспечивает доступ
к ней и обмен файлами между периферийными
устройствами;
командный процессор
— расшифровывает и исполняет команды
пользователя, поступающие прежде всего
через клавиатуру;
драйверы периферийных
устройств — программно обеспечивают
согласованность работы этих устройств
с процессором (каждое периферийное
устройство обрабатывает информацию по
разному и в различном темпе);
дополнительные
сервисные программы (утилиты) — делают
удобным и многосторонним процесс общения
пользователя с компьютером.
Загрузка ОС. Файлы,
составляющие ОС, хранятся на диске,
поэтому система называется дисковой
операционной (ДОС). Известно, что для их
выполнения программы — и, следовательно,
файлы ОС — должны находится в оперативной
памяти (ОЗУ). Однако, чтобы произвести
запись ОС в ОЗУ, необходимо выполнить
программу загрузку, которой сразу после
включения компьютера в ОЗУ нет. Выход
из этой ситуации состоит в последовательной,
поэтапной загрузке ОС в оперативную
память.
Первый
этап
загрузки ОС. В системном блоке компьютера
находится постоянное запоминающее
устройство (ПЗУ, постоянная память,
ROM-Read Only Memory — память с доступом только
для чтения), в котором содержатся
программы тестирования блоков компьютера
и первого этапа загрузки ОС. Они начинают
выполнятся с первым импульсом тока при
включении компьютера. На этом этапе
процессор обращаются к диску и проверяет
наличие на определенном месте (в начале
диска) очень небольшой программы —
загрузчика. Если эта программа обнаружена,
то она считывается в ОЗУ и ей передается
управление.
Второй
этап
загрузки ОС. Программа — загрузчик, в
свою очередь, ищет на диске базовый
модуль ОС, переписывает его память и
передает ему управление.
Третий
этап
загрузки ОС. В состав базового модуля
входит основной загрузчик, который ищет
остальные модули ОС и считывает их в
ОЗУ. После окончания загрузки ОС
управление передается командному
процессору и на экране появляется
приглашение системы к вводу команды
пользователя.
Заметим, что в
оперативной памяти во время работы
компьютера обязательно должны находится
базовый модуль ОС и командный процессор.
Следовательно, нет необходимости
загружать в оперативную память все
файлы ОС одновременно. Драйверы устройств
и утилиты могут подгружаться в ОЗУ по
мере необходимости, что позволяет
уменьшать обязательный объем оперативной
памяти, отводимый под системное
программное обеспечение.
Описание
модулей:
1. Базовая система
ввода-вывода (BIOS),
находящаяся в постоянной памяти
компьютера. Эта часть ОС явл. «встроенной»
в комп-ер. Ее назначение состоит в
выполнении наиболее простых и универсальных
услуг ОС, связанных с осуществлением
ввода-вывода. Базовая система ввода-вывода
содержит программу вызова загрузчика
ОС. Без модуля BIOS
MS-DOS
функционировать не может. Основная ф-ия
BIOS
– управление стандартными внешними
устройствами (дисплей, клавиатура,
дисководы, принтер..).
2. Загрузчик ОС –
это очень короткая программа, находящаяся
в первом секторе каждой дискеты с ОС
MS-DOS.
Ф-ия этой программы заключается в
считывании в память еще двух модулей
ОС, кот-ые и завершают процесс загрузки
DOS.
3. Драйверы устройств
– это спец. программы, кот. дополняют
систему ввода – вывода DOS
и обеспечивают обслуживание новых или
нестандартное использование имеющихся
устройств. Например, с помощью драйверов
возможна работа с «электронным диском»,
т. е. частью памяти компьютера, с которой
можно работать также как с диском.
Драйверы загружаются в память комп-ра
при загрузке ОС, их имена указываются
в спец. файле CONFIG.SYS.
Такая схема облегчает добавление новых
устройств и позволяет делать это, не
затрагивая системные файлы DOS.
4. Важными классами
системных программ являются также
программы вспомогательного назначения
— утилиты
(лат. utilitas — польза). Они либо расширяют
и дополняют соответствующие возможности
операционной системы, либо решают
самостоятельные важные задачи. Кратко
опишем некоторые разновидности утилит:
*программы контроля,
тестирования и диагностики, которые
используются для проверки правильности
функционирования устройств компьютера
и для обнаружения неисправностей в
процессе эксплуатации; указывают причину
и место неисправности;
*программы-драйверы,
которые расширяют возможности операционной
системы по управлению устройствами
ввода-вывода, оперативной памятью и
т.д.; с помощью драйверов возможно
подключение к компьютеру новых устройств
или нестандартное использование
имеющихся;
*программы-упаковщики
(архиваторы), которые позволяют записывать
информацию на дисках более плотно, а
также объединять копии нескольких
файлов в один архивный файл;
*антивирусные
программы, предназначенные для
предотвращения заражения компьютерными
вирусами и ликвидации последствий
заражения вирусами;
Windows
представ.
Собой 32- разрядную операц. Систему,
обеспеч. Многозадач. И многопоточную
обработку приложений (программ). Она
поддерж. Удобный граф. Пользоват.
Интерфейс, возможность работы в защищенном
режиме, совместимость с программами
реального режима и сетевые возможности.
ОСОБЕННОСТИ:
-
налич. Граф.
Интерфейса.
2. возмож. Испол.
Длинные имена.
3. вожможн. Испол.
Win32
и возмож. Испол. 32 разрядного режима для
исполнения программ.
4. расширение
адресного прост-ва.
Графический
интерфейс.
Комбинация монитора
и мыши обеспеч. Наибол. Современ. Тип
интер- фейса пользователя, ко- тор. Наз-ся
графическим. Пользователь наблюд. На
экране графич. Обьекты и элементы управл.
С помощью мыши он измен. Св-ва обьектов
и привод. В действие элементы управ.
Компьют. Системой, а с помощью монитора
получ. От нее отклик в графич. Виде.
Кодовая табл.
Ansi.
Для того чтобы
весь мир
один. Кодиров. Текст. Данные, нужны един.
Табл. Кодир. Для английск. Языка
институт
стандартизации США (Ansi)
ввел в действие систему кодирования
ASCII.
В системе ASCII
закрепл. 2 табл. Кодиров.- базовая и
расширенная. Базовая табл. Закреп.
Значения кодов от 0 до 127, а расширенная
относ. К символам с номерами от 128 до
255. Первые 32 кода базов. Табл. , начиная
с 0, отданы производителям аппаратных
средств (в перв. Очередь производ.
Компьют. И печатающ. Уст-в). В этой области
размещ. Так наз-ые управл. Коды, котор.
Не соответст. Никакие символы языков,
и, соответст., эти коды не выводятся ни
на экран, ни на уст-ва печати, но ими
можно управ. Тем, как произв. Вывод прочих
данных. Начин. С кода 32 по код 127 размещ.
Коды символов англ. Алфавита, знаков
препин., цифр, арифм. Действий и некот.
Вспомогат. Символов. Поддерж. Проивод.
Оборудов. И программ вывела Америк. Код
Ascii
на уровень международ. Стандарта, и
национал системам кодиров. Пришлось
«отступить» во 2, расширенную систему
кодиров., определ. Знач. Кодов со 128 по
255.
Обмен данными
м/у приложениями.
Уст-во, преднач.
Для обмена инф-ией м/у удал. Комп-ми по
каналам связи, принято наз-ть модемом.
При этом под каналом связи поним. Физич.
Линии ( проводные, оптоволоконные,
каабельные и радиочастотные), способ
их испол. ( коммутируемые и выделенные)
и способ передачи данных ( цифровые или
аналог. Сиглалы). Цифр. Данные, поступ.
В модем из ком-ра, преобр. В нем путем
модуляции(по ампит. , тастоте, фазе) в
соотв. С избран. Стандар. (протоколом) и
направ. В телеф. Линию. Модем- приемник,
пониам. Данный протокол, осущ. Обратное
преобр. (демодуляцию) и пересыл. Восстан.
Цифровые данные в свой ком-тер. Т.о.
обеспеч. Удал. Связь м/у ком-рами и обмен
данными м/у ними.
Технолог. Внедрен.
Обьектов OLE
Работа с докум. По
стандарту OLE
предостав. Возможн. Встраивания в
документ обьектов из др. приложений ( к
пр-ру, та бл. Процессоров, графич.
Редакторов, систем управл. Базами данных)
с возмож. Вызова послед. Для обработки
связанных обьектов.
Совмест. Применение
различ. Приложений с возмож. Доступак
ф-ям др. друга без выхода из своих сред
предусмотр. Одним из наиб. Распрст.
Стандартов интеграции OLE
(связывание и встраивание обьектов) ,
положенным в основу разраб. Соврем.
Программных систем. Обьекткми могут
быть рисунки, диаграммы, табл. И др.
элементы документов. Совр. Вариант
технологии- OLE.2-
позвол. При создании докум. В среде
текст. Процессора (OLE-
клиента) испол. Данные и функцион. Возмож.
Др. программ (OLE-
серверов). В частности, технологию OLE.2
поддерж. Программы WRITE,
WORD,
(OLE-
клиенты) и EXCEL,
PowerPoint,
Paint(OLE-
серверы).
Графическая
оболочка
ОС Windows обеспечивает взаимодействие
пользователя с компьютером в форме
диалога с использованием ввода и вывода
на экран дисплея графической информации,
управления программами с помощью
пиктограмм, меню, окон, панелей (управления,
задач, инструментов) и других элементов
управления.
Основными элементами
графического интерфейса Windows являются:
Рабочий стол, Панель задач с кнопкой
Пуск. Так как в Windows применен графический
пользовательский интерфейса, то основным
устройством управления программами
является манипулятор мышь.
сновные
элементы графического интерфейса
Windows
Основными
элементами графического интерфейса
Windows являются:
Рабочий
стол с пиктограммами
Панель
задач, на которой размещаются программные
кнопки, индикаторы, Панель быстрого
запуска, Главное меню (кнопка Пуск),
Контекстное меню (отображается при
щелчке правой кнопкой мыши по выбранному
объекту)
Меню
в Windows
В
ОС Windows применяются четыре типа меню
(меню – это список команд, выводимых на
экран и предлагаемых пользователю для
выбора):
Главное
меню
(открывается кнопкой Пуск)
Строка
меню в окнах
приложения (все программы, входящие в
стандартный пакет поставки Windows, имеют
строку меню)
Системное
меню в окнах
приложения (для изменения размеров окна
и его положения)
Контекстное
меню
Работа
с файлами
Все
файлы, документы и программы в Windows
хранятся в папках. В электронной папке,
как правило, хранят файлы, сгруппированные
по какому-либо признаку, типу и другие
папки.
Папка
– это контейнер для программ и файлов
в графических интерфейсах пользователя,
отображаемый на экране с помощью значка,
имеющего вид канцелярской папки. Windows
предоставляет средства для управления
файлами и папками.
К
таким средствам относятся программа
Проводник и окно Мой компьютер. Приложение
Проводник является главным инструментом
Windows для просмотра файлов и папок,
хранящихся на жестких и гибких дисках
и других носителях информации.
Проводник
отображает иерархическую структуру
файлов, папок и дисков на ПК. В левой
части проводника Windows использует
иерархическое представление папок,
файлов и других ресурсов, подключенных
к компьютеру или сети.
Мой
компьютер – программа,используемая
для работы с файлами и папками, хранящимися
на дисках компьютера. Мое сетевое
окружение – программа, используемая
для работы с сетевыми ресурсами в рабочей
группе.
Манипулирование
файлами и папками:
Создание
нового файла и папки, Присвоение имени,
Переименование, Перемещение и копирование,
Удаление, Восстановление, Поиск, Просмотр
и изменение свойств файлов и папок,
Создание ярлыка на рабочем столе (правой
кнопкой мыши, с проводника, с главного
меню, с папки мой компьютер)
Настройка
операционной системы Windows
Настройка
ОС осуществляется с целью создания
условий для эффективной работы на ПК.
Средства
настроек можно разделить на пять групп:
Средства
ввода – вывода (клавиатура, мышь, принтер)
Настройка
элементов управления (панель задач,
главное меню, корзина)
Настройка
элементов оформления (тема, рабочий
стол, заставка, оформление, параметры)
Настройка
средств автоматизации (автоматический
запуск приложений при включении ПК,
запуск приложений по расписанию)
Настройка
шрифтов и другие настройки
Установка
приложений и особенности
есть
несколько способов установки приложений,
но основным является метод, основанный
на использовании значка Установка и
удаление программ в папке Панель
управления (Пуск —> Настройка —>
Панель управления) Во всех случаях
рекомендуется использовать именно это
средство, поскольку прочие методы
установки не гарантируют правильной
регистрации приложений в реестре
операционной системы. Приступая к
установке приложений, необходимо знать
особенности операционной системы,
связанные с совместным использованием
ресурсов, и помнить, что процедура
установки непроверенных программных
средств относится к категории потенциально
опасных.
Принцип
совместного использования ресурсов
лежит в основе спецификаций Windows, и в
области программного обеспечения он
приводит к тому, что разные приложения
могут использовать общие программные
ресурсы.
Так,
например, в большинстве приложений
Windows можно встретить одинаковые элементы
оформления и управления (окна, кнопки,
раскрывающиеся списки, меню, флажки,
переключатели и многое другое). Одинаковы
и приемы управления ими, и методы их
использования. С точки зрения приложений
это означает, что их многие компоненты
обрабатываются одним и тем же программным
кодом.
Поэтому
в Windows принято выделять стереотипные
программные фрагменты и группировать
их в динамические библиотеки, к которым
открыт доступ из разных программ
(динамические библиотеки имеют расширение
имени файла .DLL).
При
установке новых приложений вместе с
ними устанавливаются только те программные
ресурсы, которые нужны для работы данного
приложения, но отсутствуют на данном
компьютере, то есть, не зарегистрированы
в его операционной системе. Поэтому для
установки новых приложений очень важно,
чтобы они проходили правильную
регистрацию.
Соседние файлы в папке GOSY
- #
- #
- #
- #
- #
- #
- #
Компьютер включается не сразу после нажатия кнопки подачи питания. Ему нужно время на подготовку преимущественно программного комплекса. Пользователю приходится ждать, пока тестируется оборудование и происходит загрузка операционной системы. Процесс отличается для различных версий Windows подходом к размещению ядра и прочих файлов ОС в оперативной памяти.
Как выполняется загрузка ОС
«Операционки», файлы которых хранятся на жестком или твердотельном накопителе, называют дисковыми. Для запуска ОС копии их критически важных компонентов необходимо поместить в оперативную память, причём в определённой последовательности. Этим занимается программа запуска, находящаяся на системном разделе. Разберёмся, что собой представляет процесс загрузки операционной системы Windows.
Предзагрузка или POST
Этап, общий для запуска всех компьютеров. Ещё называется инициализацией аппаратуры средствами BIOS/UEFI, самотестированием оборудования.
Состоит из более чем десятка этапов.
- После подачи электропитания на материнскую плату тактовый генератор сбрасывает состояние ЦП в исходное.
- Выполнение микропрограммы BIOS – проверяет хэши или целостность программ в ПЗУ.
- Идентификация центрального процессора.
- Распознавание основных аппаратных компонентов системной платы.
- Проверка и выделение первых 64 КБ оперативной памяти под BIOS, настройка прерываний.
- Тестирование CMOS, элемента её питания.
- Поиск загрузочных накопителей (жёсткие, твердотельные накопители, флешки).
- Идентификация системных и периферийных устройств.
- Подключение видеосистемы, передача картинки на дисплей.
- Тестирование незадействованной ОЗУ для выявления неполадок в её работе.
- Инициализация разнообразных контроллеров: накопителей, дисководов, устройств ввода (клавиатуры).
На финальном этапе предзагрузки BIOS передает управление загрузчику. Дальнейший процесс – начальная загрузка операционной системы – зависит от установленной на компьютере версии Windows.
Этапы загрузки операционной системы для ОС Windows 7
На этапе POST загрузчик попадает в оперативную память.
- Он обращается к первому сектору активного тома для считывания содержимого основной загрузочной записи (MBR).
- Получив сведения о таблице разделов и адресе активного диска, MBR помещает в ОЗУ содержимое его первого сектора – запускает boot manager – файл bootmgr.
- Последний считывает BCD (Boot Configuration Data) из каталога Boot на активном разделе.
Если на компьютере установлено несколько ОС, появится меню с предложением выбрать нужную. По истечении определённого времени (30 секунд) грузится указанная по умолчанию операционная система.
- Далее активируется модуль winload. exe.
- Он запускает следующие составляющие ядра Windows: файлы hal.dll, ntoskrnl.exe.
- Далее стартуют критические сервисы, драйверы.
В это время на дисплее отображается логотип Windows 7.
- Выполняется winlogon.exe, управляющий авторизацией пользователей.
Если на ПК один аккаунт без пароля – загрузится Рабочий стол, в ином случае нужно выбрать пользователя, указать пароль. Финальный этап – запуск оставшихся драйверов, приложений из автозагрузки, выполнение запланированных задач, прорисовка графического интерфейса, подготовка рабочего пространства.
Перечислите основные этапы загрузки устаревшей операционной системы компьютера.
Порядок загрузки операционной системы Windows 10 на компьютере
Процесс запуска новой ОС от Microsoft с разметкой MBR почти не отличается.
- PreBoot – предзагрузка. EFI (на старых компьютерах BIOS) выполняет инициализацию POST.
- После завершения самотестирования и обнаружения boot-раздела с него считывается первый сектор с загрузочной записью.
- Стартует диспетчер запуска Windows 10, который помещает в память процесс winload.exe.
- Тот занимается запуском ядра операционной системы.
- После ядра грузятся основополагающие драйверы (с пометкой BOOT_START). Оно передаёт управление диспетчеру сеансов smss.exe.
- Приложение подгружает оставшиеся драйверы (без метки BOOT_START), задействует периферийное оборудование.
- Далее процедура переходит к процессу администратора Windows 10.
- В память записывается файл для авторизации пользователей winlogon.exe – появится экран блокировки.
После можно выбирать аккаунт и загружать Рабочий стол, если установлен пароль или на ПК несколько учётных записей.
На компьютерах с новой средой UEFI вместо BIOS и таблицей разделов GPT, сменившей MBR, последовательность и этапы загрузки компьютера заметно отличаются.
- Процедуру POST выполняет Platform Initialization (PI), а не BIOS. IP определяет причину старта: перезапуск, выход из сна. В состав этапа входит подготовка среды выполнения драйверов.
- После тестирования оборудования запускается менеджер загрузки.
- Последний определяется со списком драйверов и модулями UEFI, нужными на текущем этапе. Предлагает интерфейс для взаимодействия с пользователем.
- Запускается загрузчик операционной системы или собственный UEFI OS loader, совместимый с EFI.
- Далее задействуется рассмотренный ранее алгоритм с шага №3: стартует ядро, критические драйверы, менеджер сессий, службы, Проводник, прикладные программы.
Алгоритм применим только к накопителям с файловой таблицей GPT, которая заметно отличается от дисков с MBR.
В процессе загрузки операционной системы Windows происходит в разы больше событий. Мы описали её максимально просто.
В случае с UEFI появилась функция Fast Boot – быстрого старта. Platform Initialization пропускает часть операций инициализации аппаратных компонентов, которые Windows всё равно повторяет. Протокол Secure Boot предотвратит загрузку неподписанных драйверов, приложений, вредоносного ПО.
В процессе загрузки ОС происходит самотестирование аппаратного комплекса, предварительное считывание файлов в ОЗУ, запуск ядра Windows, её необязательных компонентов, затем – прикладного программного обеспечения.
Это статья для повышения компьютерного кругозора. Если сегодня хочется попрограммировать, сделайте проект с колесом фортуны, а если нужны задачи — вот подборка самых интересных задач на логику.
Сегодня покажем, что происходит в обычном стационарном компьютере, когда вы его включаете и загружаете. Прямо по шагам, углубляясь в детали.
Воткнули вилку в розетку
Чаще всего компьютер включён в сеть постоянно, и это значит, что блок питания подаёт на материнскую плату совсем небольшой ток. Ток настолько мал, что внутри блока питания ничего не греется, поэтому не нужно включать никакие вентиляторы.
Ток поступает на контакты питания материнской платы, а оттуда — на системный контроллер. Системный контроллер — специальная микросхема (или группа микросхем), которая управляет всем, что находится на материнской плате, включая процессор и оперативную память. Когда есть питание, системный контроллер просто ждёт, пока пользователь не нажмёт кнопку включения компьютера.
Получается, даже когда компьютер условно выключен, на самом деле он включён — работает системный контроллер, который, как сторож, проверяет, нужно ли подавать электричество на остальные устройства внутри компьютера.
Нажали кнопку включения
После нажатия кнопки включения системный контроллер получает от неё сигнал и говорит блоку питания: «Мне нужно больше тока». Блок начинает полноценно работать и подаёт полноценное питание на материнскую плату и остальные компоненты — теперь начинают работать все основные компоненты компьютера:
- процессор,
- оперативная память,
- микросхемы BIOS или UEFI (про них позже),
- жёсткий диск.
Когда всё это заработало, системный контроллер берёт содержимое микросхемы BIOS, загружает его в оперативную память и говорит «Ну всё, дальше ты». С этого момента управление компьютером переходит к BIOS.
Загрузился BIOS
BIOS — это аббревиатура от Basic Input/Output System, базовая система ввода-вывода. Она отвечает за первоначальную загрузку компьютера. Все данные BIOS хранятся в отдельной микросхеме на материнской плате, а чтобы настройки не пропали после отключения от розетки, ставят батарейку. Если питания от сети не будет, батарейка будет поддерживать память в микросхеме около 10 лет.
Первое, что делает BIOS, — запускает POST (Power On Self Test), самотестирование при включении. Тест проверяет работу процессора, оперативной памяти, контроллеров, загрузчиков и всего остального оборудования, важного для загрузки компьютера. Если всё в порядке, то компьютер пропищит один раз и продолжит загрузку — так он сообщает о результатах тестирования. А если будут ошибки — пропищит иначе, например:
- короткий и длинный — ошибка с оперативной памятью;
- длинный и 2 коротких — проблемы с видеокартой;
- постоянно длинный и короткий гудки — что-то с процессором;
- всё время пищит — ошибки с блоком питания.
Когда POST пройден, BIOS начинает искать загрузчик операционной системы. Для этого он смотрит у себя в настройках порядок загрузки — список дисков по очереди, с которых можно загрузиться. Например, вот порядок загрузки на экране BIOS компьютера Lenovo. Видно, что сначала нужно попробовать загрузиться с USB (первые три строчки), потом, если USB-дисков нет, — с жёсткого диска (п. 4), а если и диска нет — то попробовать с CD-дисковода или загрузиться по сети:
Как только загрузчик найден, BIOS считывает его код и передаёт ему всё дальнейшее управление компьютером.
Немного про UEFI
У BIOS есть проблема — устаревший интерфейс и мало возможностей для настроек компьютера. Чтобы это исправить, придумали UEFI — мини-операционную систему, которая так же, как и BIOS, может управлять основными настройками, но ещё обладает дополнительными возможностями. Например, у неё есть полноценный графический интерфейс с мышкой, расширенные возможности по настройке устройств и более полный доступ к возможностям железа.
Основное отличие от BIOS в том, что UEFI требуется больше памяти для первоначальных программ загрузки компьютера. Для этого UEFI забирает себе первые 100 мегабайт на диске и берёт эти данные оттуда, а сам раздел делает скрытым.
Работа загрузчика
Загрузчик — это сборное название всех программ и драйверов, которые понадобятся операционной системе для полноценной загрузки.
Можно провести такую аналогию: операционная система — это строительная бригада, которая может сделать что угодно. Но для её работы нужен менеджер, чтобы он заранее съездил к заказчику, выяснил, что нужно сделать, составил смету, закупил материалы и прикинул график работ. Загрузчик — это как раз тот самый менеджер, который делает все предварительные работы. Если менеджер не сделает свою часть, бригада не сможет приступить к работам.
Сам загрузчик находится на жёстком диске, и как только BIOS его находит и отправляет в оперативную память, загрузчик начинает действовать:
- включает нужный режим работы процессора, который защищает одни процессы от других;
- распределяет оперативную память и сгружает туда файл с параметрами загрузки операционной системы;
- загружает драйверы устройств и проверяет их цифровую подпись;
- подключает файловую систему, чтобы компьютер мог полноценно работать со всеми дисками.
На финальном этапе загрузчик находит ядро операционной системы, загружает его в память и передаёт управление ему.
Запуск ядра операционной системы
Если процесс загрузки дошёл до этой точки, то компьютер понимает, что скоро загрузится операционная система, а значит, можно показать пользователю стартовый экран. На Windows он выглядит так:
Пока крутится индикатор загрузки, ядро занимается тем, что загружает и запускает все служебные программы и скрипты:
- смотрит, какое подключено железо и какие драйверы для него нужны прямо сейчас;
- считывает настройки системы и запускает скрипты сразу с нужными параметрами;
- запускает службы и демоны;
- настраивает графический интерфейс;
- включает систему входа пользователей в систему.
Смысл ядра — запустить все программы, которые будут нужны для дальнейшей работы операционной системы. В нашей аналогии со строительной бригадой, ядро — это прораб, который находится всё время на объекте от начала работ до их полного окончания. Прораб следит за ключевыми процессами и вмешивается, если что-то идёт не так. Ядро действует точно так же: обеспечивает работоспособность всей ОС и регулирует ключевые процессы.
Вход пользователя в систему
Последний шаг загрузки компьютера — вход пользователя в систему. Он может быть автоматическим, если нет пароля на вход — в противном случае система попросит его ввести:
После входа операционная система загружает все пользовательские настройки и программы — ставит нужный фон на рабочий стол, применяет какую-то схему оформления и запускает те программы, которые выбрал этот пользователь.
И всё.
Вёрстка:
Кирилл Климентьев
Обновлено: 05.02.2023
1. Включить сетевой фильтр и стабилизатор напряжения, если компьютер подключен через них.
2. Включить принтер и другие периферийные устройства (если
они будут использоваться).
3. Включить монитор компьютера.
4. Включить системный блок компьютера.
Алгоритм выключения компьютера
1. Закончите работу в прикладных программах.
2. Для Windows XP/NT/W7 выполните стандартную процедуру завершения работы и дождитесь появления надписи, разрешающей выключить компьютер. В среде Windows для этого необходимо выбрать меню Пуск_ Завершение работы (Выключение).
Последовательное выключение питания:
1. Выключить принтер и другие периферийные устройства.
2. Выключить монитор компьютера.
3. Выключить стабилизатор напряжения и сетевой фильтр.
Внимание!
Помимо этих общих правил каждое отдельное устройство имеет свои особенности использования, которые необходимо изучить в инструкциях по эксплуатации, прилагающихся к оборудованию.
Не нашли то, что искали? Воспользуйтесь поиском:
Лучшие изречения: При сдаче лабораторной работы, студент делает вид, что все знает; преподаватель делает вид, что верит ему. 9506 — | 7341 — или читать все.
Отключите adBlock!
и обновите страницу (F5)
очень нужно
Для рядового пользователя правильное включение, перезагрузка и выключение компьютера не представляет никакой проблемы. Однако для тех, кто только-только начинает делать первые шаги в освоении PC, данная процедура может вызвать вопросы. А учитывая то, что некорректное завершение работы компьютера может вызвать проблемы, начиная от ошибок при загрузке операционной системы и заканчивая потерей данных, то начинать изучение компьютера следует именно с этих шагов.
Правильное включение компьютера
Включение компьютера – это самая простая процедура. Для этого потребуется:
Если вы все сделали правильно и ваш компьютер исправен, то загорится индикатор питания на передней панели, зашумят вентиляторы компьютера и послышится короткий писк, сигнализирующий об успешном прохождении самотестирования. На экране монитора появится фирменная заставка производителя материнской платы или служебная информация в виде белых букв на черном фоне (зависит от настроек BIOS). Через короткое время загрузится операционная система с ее рабочим столом.
Правильное выключение компьютера
После выполнения этих действий, компьютер сохранит настройки и выключится. Индикатор питания погаснет.
Перезагрузка компьютера
Иногда компьютеру требуется перезагрузка. Это процесс корректного завершения работы работающих программ и операционной системы, с ее повторной загрузкой и без отключения питания. Перезагрузка может потребоваться после обновления программ или самой операционной системы, хотя чаще всего программы или система сами предлагает перезагрузиться, посредством диалоговых окон.
После завершения работы с компьютером следует правильно его выключать – не только для экономии электроэнергии, но и для того, чтобы сохранить информацию и защитить компьютер от повреждений.
Существует три способа выключения компьютера:
После нажатия кнопки Завершить работу компьютер закрывает все открытые программы, саму систему Windows и компьютер с экраном полностью отключаются. Поскольку во время выключения компьютера таким способом результаты работы не сохраняются, следует перед этим сохранить свои файлы.
Если компьютер подключен к сетевому домену, то через установленные администратором сети параметры (настройки групповой политики), вероятно, невозможно будет изменить эти настройки описанным выше способом.
Примечание: Для запуска компьютера после завершения работы требуется больше времени, чем для его пробуждения из спящего режима.
Использование спящего режима Windows
Поскольку Windows сохраняет вашу работу, нет необходимости закрывать программы и файлы, прежде чем компьютер перейдет в режим сна. Однако желательно всегда сохранять работу перед переводом компьютера в любой из режимов пониженного энергопотребления. В следующий раз при включении компьютера (и пароля, если нужно) экран будет выглядеть так же, как он выглядел перед выключением.
Примечание: Когда компьютер находится в спящем режиме он потребляет незначительный объем электроэнергии, чтобы хранить в памяти вашу работу. Если у вас ноутбук, не волнуйтесь – батарея не разрядится. После пребывания компьютера в спящем режиме в течение нескольких часов или при разрядке аккумулятора ваша работа сохраняется на жесткий диск, и компьютер выключается полностью и не потребляет электроэнергию.
Когда следует выключать компьютер
Хотя перевод компьютера в режим сна – это самый быстрый способ его выключения и оптимальный способ быстрого возвращения к работе, в следующих случаях все равно нужно завершить работу компьютера.
- При добавлении или модернизации оборудования компьютера, например, устанавливаете память, дисковод, звуковую плату или видеоадаптер. Выключите компьютер и отключите его от источника питания, прежде чем устанавливать оборудование.
- При подключении к компьютеру принтера, монитор, внешний диск или другое оборудование не с помощью USB или порта IEEE 1394. Выключите компьютер перед подключением устройства.
Примечание: Для подключения оборудования с помощью кабеля USB, компьютер выключать не нужно. Большинство новых устройств используют этот кабель.
Для пользователей ноутбуков – закройте крышку
Если у вас ноутбук, есть еще более простой способ отключения компьютера – закрыть крышку. Кстати, можно настроить действия, которые будет выполнять компьютер при закрытии крышки – заснет, выключится или перейдет в другое состояние энергосбережения.
Малиновский филиал Ачинского колледжа транспорта и сельского хозяйства
а) Образовательная: изучение технологии организации работы в среде Windows; научить студентов переключаться между программами; открывать и сохранять документы в программном приложении;
б) Воспитательная: привить чувство ответственности за правильность и своевременность выполнения задания;
в) Развивающая: развить логическое мышление и профессиональные способности при работе с компьютером.
Вид занятия: практическое занятие
Тип занятия: урок применения знаний, умений, навыков.
Раздаточный материал: инструкционные карты.
Содержание и ход занятия
Дидактические этапы
Последовательность раскрытия содержания урока
Методические приемы
§ Проверка готовности аудитории к занятиям;
§ Отметка отсутствующих студентов
Проверка усвоения ране изученного материала:
§ Что такое операционная система компьютера?
§ Версии О.С. Windows.
§ Тестирование по теме: операционная система Windows
Подведение итогов проверки знаний.
Обобщение итогов проверки знаний студентов и подведение их к выполнению практической работы
Запуск операционной системы Windows
Переключение между программами
Объяснение с элементами беседы.
Самостоятельна работа студентов с программными приложениями.
Задание 1. Запуск нескольких стандартных программ
Задание 2. Ввод текста в текстовом редакторе WordPad
Задание 4. Создание рисунка и копирование его в редактор WordPad
Задание 5. Вставка рисунка в Paint из файла
Задание 6. Модификация рисунков
Задание 7. Дополнительное задание
Работа с инструкционной картой занятия.
Для студентов быстро выполнившим основное задание.
Подведение итогов занятия:
§ Проверка правильности выполнения заданий;
§ Исправление допущенных ошибок;
§ Выставление оценок студентам за работу с учетом фронтального опроса и активности работы на уроке.
Тема: Запуск и завершение работы в Windows
Цель занятия: Знать способы переключения между программами; открытия и сохранения документов в программном приложении Windows.
Норма времени: 2 часа
Основные правила ТБ на рабочем месте:
- Дисциплина.
- Точно выполнять указания преподавателя.
- Наблюдать за работой компьютера.
- О необычных звуках докладывать преподавателю.
- Запрещено приходить во влажной одежде и работать влажными руками.
Контрольные вопросы при допуске к работе:
- Что такое операционная система компьютера?
- Версии О.С. Windows.
- Виды О.С.
Содержание работы и последовательность ее выполнения
Внимание! Во время загрузки компьютера нельзя нажимать ни на какие клавиши!
Можно использовать любой из следующих способов:
- Пуск Программы или Пуск Документы
- Двойной щелчок по значку файла или ярлыка
- на Рабочем столе
- в окне программы Проводник
- в окне программы Мой компьютер (в окне папки)
Задание 1. Запуск нескольких стандартных программ.
Задание 2. Ввод текста в текстовом редакторе WordPad.
Порядок работы
- Перейдите в окно программы WordPad и наберите текст объемом примерно 500 знаков по образцу. Образец состоит из текстовой части и примеров для расчета.
Образец текста
Чтобы занести число в память калькулятора, нажмите кнопку MS. После сохранения числа над кнопками памяти на панели калькулятора появится индикатор М. Каждое новое число, занесенное в память, заменяет предыдущее.
Чтобы вызвать число из памяти, нажмите кнопку MR. Чтобы очистить память, нажмите кнопку МС. Чтобы сложить отображаемое число с числом, хранящимся в памяти, нажмите кнопку М+. Чтобы вызвать результат, нажмите кнопку
Примеры для расчета:
Задание 3. Расчеты на компьютерном калькуляторе и
Задание 4. Создание рисунка и копирование его в редактор WordPad.
Выделите фрагмент созданного рисунка и скопируйте в буфер обмена (Правка/Копировать), вставьте фрагмент в текстовый файл после примеров (Правка/Вставить). Выполните текущее сохранение текстового файла.
Задание 5 Вставка рисунков в Paint из файла.
Порядок работы
- Вставьте имеющийся у вас рисунок из файла (можно вставить рисунок из папки Windows) командой Правка/Вставить из файла (задайте тип файла — точечный рисунок *.bmp) (рис.).
- Введите текстовые надписи на цветном фоне и фоне рисунка, для этого воспользуйтесь кнопками ниже набора инструментов. Примерные результаты работы приведены на рис.
Задание 6. Модификация рисунков.
Дополнительное задание 7.
Компьютер завис, когда он не реагирует на нажатие клавиш и кнопок мыши. На экране может быть некорректная информация.
1. Если зависла одна программа, ее необходимо снять, т.е. нажать Alt+Ctrl+Delete, выбрать зависшую программу и нажать на кнопку
2. Если зависла вся система, то Alt+Ctrl+Delete нажать два раза. А если это не приведет к перезагрузке компьютера, то нажать RESET на системном блоке.
Кнопка RESET, в отличии от комбинации клавиш, не сохраняет данных на диске и пагубно влияет на работоспособность некоторых блоков, также как и внезапное отключение питания.
Опасность используемых приемов:
- Закрыть все открытые программы. (обычно щелкнуть по кнопке x).
- Пуск ® выключение
- Способы переключения между программами
- Порядок включения компьютера
- Порядок выключения компьютера
Поддержка
(495) 589-87-71
Редакция Информио.ру оставляет за собой право удалить комментарий пользователя без предупреждения и объяснения причин. Однако этого, скорее всего, не произойдет, если Вы будете придерживаться следующих правил:
Претензии к качеству материалов, заголовкам, работе журналистов и СМИ в целом присылайте на адрес
Этапы загрузки операционных систем
Давным-давно, когда я был маленьким работал в институтской лаборатории на большом компьютере СМ-3 (что-то вроде знаменитой PDP-11), bootstrapping (загрузка) ЭВМ выглядела так. В фотосчитыватель заправлялась коротенькая бумажная перфолента с пробитой на ней программой начальной загрузки, запускался процесс считывания, а дальше … как повезет.
В современных компьютерах процесс загрузки большей частью автоматизирован, однако это не означает, что он не заслуживает того, чтобы с ним познакомиться.
Основные определения и этапы загрузки операционной системы
Включение компьютера, POST, BootMonitor
Начальный этап загрузки операционной системы после включения компьютера начинается в BIOS (Basic Input/Output System — базовая система ввода-вывода). В настройках BIOS мы указываем загрузочное устройство, или ряд загрузочных устройств в порядке их приоритета. Возможны различные варианты загрузки и их комбинации: с жесткого диска, CD/DVD – диска, USB-flash и другие.
Сразу после прохождения POST (Power-On Self-Test — самотестирование после включения) BIOS компьютера начнет поочередно перебирать указанные загрузочные устройства до тех пор, пока на одном из них не найдет подходящую специальную запись, в которой содержится информация о дальнейших действиях.
Загрузчик 1-го уровня. Master Boot Record
Master Boot Record — главная загрузочная запись, расположена в первых физических секторах загрузочных устройств хранения. Она содержит таблицу разделов (Partition Table) и исполняемый код.
Главной задачей программы, записанной в MBR, является поиск активного системного раздела диска и передача управления его загрузочному сектору. Таким образом, эту стадию можно назвать подготовительной, в силу того, что непосредственно загрузки самой ОС еще не происходит.
Системным принято называть раздел диска (устройства хранения) на котором расположены файлы операционной системы, отвечающие за процесс загрузки ОС (сама операционная система может размещаться в другом разделе). В принципе, системных разделов может быть несколько, поэтому один из них отмечается как активный. Именно его ищет программа, загруженная с MBR.
Загрузчик 2-го уровня. Partition Boot Sector
Следующим этапом загрузки компьютера является передача управления исполняемому коду, записанному в PBS (Partition Boot Sector — загрузочный сектор активного раздела). PBS расположен в первом секторе (секторах) соответствующего раздела диска. В коде PBS прописано имя файла загрузчика операционной системы, которому и передается управление на этом этапе.
Начальный этап загрузки операционной системы. Менеджер загрузки ОС
Первоначально в Linux загрузчиком являлся LILO (Linux Loader). В силу имевшихся в нем недостатков, главным из которых была неспособность понимать используемые в Linux файловые системы, позднее начал использоваться загрузчик GRUB (GRand Unified Bootloader) в котором недостатки LILO были исправлены.
Если речь идет о версиях Windows до Vista, например, Windows XP, то будет загружен Ntldr. Он, в свою очередь, считывает информацию из текстового файла Boot.ini, в котором записана информация об установленных операционных системах.
Загрузка ядра операционной системы
Завершающим этапом загрузки операционной системы является загрузка ядра ОС и передача ему управления.
Видимо Microsoft как то узнала об этом случае и в следующей версии своей ОС решила припрятать файлы загрузчика получше.
Особенности загрузки операционных систем Windows Vista / 7 / 8
В Windows Vista или Windows 7 / 8 диспетчер загрузки называется Bootmgr. Он читает список установленных операционных систем не из простого текстового файла, коим является boot.ini, а из системного хранилища BCD (Boot Configuration Data), доступ к которому осуществляется посредством специальной утилиты bcdedit.exe .
Но это еще не все. Откроем “Управление компьютером” –> “Управление дисками” >
В Windows 7 размер такого раздела составляет 100 МБ, из которых занято около 30 МБ, в Windows 8 – уже 350 МБ, причем занято из них 105 МБ. Такая разница объясняется тем, что в Windows 8 на этот раздел перенесена папка “Recovery”.
Если в системе установлен файловый менеджер FAR Manager, то для просмотра можно воспользоваться им и не заниматься настройкой видимости скрытых файлов.
Как и ожидалось, в корне раздела мы видим загрузчик Bootmgr.
В папке мы находим базу хранилища данных конфигурации загрузки BCD и сопутствующие ей папки с языковыми файлами и файлами шрифтов.
Для полноты картины осталось сказать о том, какой раздел называется загрузочным. Ответ уже показан на картинке с томами Windows 7. Очевидно, что это раздел, на котором находятся все основные файлы операционной системы.
Главной задачей загрузчика 3-го уровня, в роли которого выступает, в зависимости от типа ОС, Bootmgr, Ntldr или GRUB, является чтение с загрузочного диска и загрузка ядра операционной системы. Кроме того, в случае множественной загрузки, когда на компьютере установлено несколько операционных систем, загрузчик 3-го уровня позволяет выбирать нужную при каждом запуске компьютера.
Классической ошибкой, которой Microsoft посвятила отдельную статью, является установка Windows XP после Windows Vista / 7 /8. Установщик Windows XP помечает свой раздел как активный, после чего, во время загрузки, MBR передает управление PBS этого раздела а он, в свою очередь, — Ntldr. Загрузчик Windows XP ничего не знает о более поздних версиях операционных систем Windows и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.
Добавить к этому практически нечего и можно переходить непосредственно к редактированию загрузочного меню. Начнем с загрузочного меню Windows.
Загрузка операционной системы является сложным процессом и состоит из нескольких этапов.
2. После завершения автоматического тестирования BIOS ищет загрузочный сектор на дискете, жестком диске, компакт-диске или другом носителе, поддерживаемом системной платой. Порядок поиска загрузочного сектора задается с помощью настроек BIOS, описание которых можно найти в инструкции к материнской плате.
3. После определения загрузочного диска с него загружается содержимое первого сектора диска, в котором находится основная загрузочная запись (Master Boot Record, MBR). В MBR также содержится таблица разделов диска, один из которых должен быть помечен как активный.
4. MBR находит активный раздел и передает управление загрузочной записи, которая должна находиться в первом секторе активного раздела. С помощью загрузочной записи запускается менеджер загрузки Windows 7 (файл bootmgr, который находится в корневой папке активного раздела).
5. Менеджер загрузки считывает данные конфигурации системы, которые хранятся в файле BCD (Boot Configuration Data). При наличии нескольких записей в файле BCD будет отображено меню выбора операционной системы. Файл BCD находится в папке Boot активного раздела.
6. После выбора системы запускаются модуль загрузки операционной системы Winload. exe, компоненты ядра Ntoskrnl. exe и Hal. dll, системные службы и другие компоненты – этот этап сопровождается выводом анимированного экрана с логотипом Windows.
7. Загружается процесс winlogon. exe, который управляет входом пользователей в систему. Если на компьютере имеется всего одна учетная запись, не защищенная паролем, вход будет выполнен автоматически. В противном случае система будет ожидать выбора имени пользователя и ввода пароля.
8. В процессе входа в систему запускаются элементы автозагрузки, которые прописаны в реестре Windows 7 и папке Автозагрузка.
Исходя из сказанного выше, можно сделать вывод, что для успешной загрузки Windows 7 необходимы следующие условия.
• Текущие настройки BIOS должны обеспечивать загрузку с жесткого диска, на котором установлена Windows 7. Если в BIOS установлена первоочередная загрузка со сменных носителей, следует также извлечь диски из приводов.
• В первом секторе жесткого диска должны присутствовать правильная главная загрузочная запись и таблица разделов, один из которых должен быть помечен как активный.
• На активном разделе должна иметься загрузочная запись Windows 7, а в его корневой папке должен находиться файл bootmgr.
• В папке Boot активного раздела должен присутствовать файл BCD, содержащий правильные записи об установленных операционных системах.
При установке Windows 7 в качестве второй операционной системы активным обычно является раздел, на котором установлена предыдущая версия Windows. Именно там находятся файл bootmgr и папка Boot. Если же вы выполняли разбивку жесткого диска на разделы средствами Windows 7, то активным будет назначен скрытый раздел размером около 100 Мбайт.
• Посмотрите, отображается ли на экране меню выбора операционной системы или меню дополнительных вариантов загрузки. Если нет, попробуйте в процессе загрузки несколько раз нажать клавишу F8. Если меню выбора вариантов загрузки не удалось вывести на экран, причинами могут быть ошибки оборудования, неправильные параметры BIOS, поврежденные загрузочные секторы или файлы (см. этапы 1–5 описанной выше последовательности загрузки Windows).
• Если меню загрузки отображается, но сразу после выбора операционной системы запуск останавливается, возможно, в файле BCD содержатся ошибочные записи.
• Если запуск останавливается после вывода анимированного экрана с логотипом Windows, вероятно, причиной сбоя является драйвер устройства или системная служба.
Читайте также:
- Закон о муниципальной службе в республике башкортостан кратко
- Отношение к школьному и семейному воспитанию дистервег
- Культурная политика в ссср кратко
- Активность личности в психологии кратко
- Районный суд основное звено судов общей юрисдикции кратко
Содержание
- Как происходит загрузка операционной системы виндовс
- Загрузка BIOS
- Процесс загрузки Windows XP
- Как происходит загрузка операционной системы
- Инициализация системы средствами BIOS
- Загрузка операционной системы
- Все, что вы хотели знать про загрузку Windows, загрузчики и восстановление загрузки ОС
- Принципы загрузки операционных систем
- Типы MBR
- Разнообразие PBR
- Кратко о загрузчике Syslinux
- Загрузчики Windows
- Конфигурирование BOOTMGR и BCD
- Загрузчик GRUB4DOS
- Установка GRUB загрузчика под Windows
- Выводы
- Как загружается Windows 10?
- Как загружается Windows 10
Как происходит загрузка операционной системы виндовс
В данной статье я поэтапно опишу процесс загрузки операционных систем Windows XP, Vista и Seven. Хотя этот вопрос рассматривается в сети достаточно часто, не затронуть его я не могу. Подобная информация бывает очень полезна при диагностировании неисправности и восстановления работоспособности “умершей” ОСи.
Сегодня мы рассмотрим:
Загрузка BIOS
BIOS – это набор микропрограмм, записанных в ПЗУ компьютера и служащих для инициализации устройств на материнской плате, их проверки и настройки, загрузки операционной системы.
При включении компьютера BIOS проверяет “железо” и если есть проблемы, то информирует нас звуковыми сигналами (набор длинных и коротких гудков). Вот таблица звуковых сигналов BIOS:
Сигнал | Возможная неисправность |
---|---|
Отсутствует | Неисправен блок питания |
2к | Ошибка четности ОЗУ |
3к | Ошибка в первых 64 кБ ОЗУ |
4к | Неисправность системного таймера |
5к | Неисправен CPU |
6к | Неисправен контроллер клавиатуры |
7к | Неисправна системная плата |
8к | Неисправна память видеокарты |
9к | Ошибка контрольной суммы BIOS |
10к | Невозможна запись в CMOS |
11к | Неисправен кэш на системной плате |
1д+2к | Неисправна видеокарта |
1д+3к | Неисправна видеокарта |
1д+8к | Не подключен монитор |
Сигнал | Возможная неисправность |
---|---|
2к | Обычно – проблемы в CMOS Setup или с системной платой (мелкие ошибки) |
3д | Ошибка контроллера клавиатуры |
1д+1к | Ошибки в ОЗУ |
1д+2к | Неисправна видеокарта |
1д+3к | Ошибка инициализации клавиатуры |
1д+9к | Ошибка при чтении из ПЗУ |
к, повторяющийся | Неисправен блок питания |
д, повторяющийся | Проблемы с ОЗУ |
непрерывный | Неисправен блок питания |
Если загрузка прервалась на этом этапе, то по сигналу находим вышедшую из строя деталь и заменяем. В случаях с оперативной памятью и видеокартами иногда помогает их извлечение и очистка контактов от пыли.
После проверки BIOS считывает настройки из CMOS и в соответствии с мини стартует загрузчик с указанного носителя (CD, HDD, Flash карта). Если загрузка производится с жёсткого диска, то система считывает первые 512 байт Master Boot Record (MBR) и передаёт ему управление.
Если MBR не найден, то загрузка останавливается. Восстановить MBR можно с помощью консоли восстановления Windows (Recovery Console) командой fixmbr.
Процесс загрузки Windows XP
Загрузкой Windows управляет NTLDR, который состоит из двух частей – первый StartUp переводит процессор в защищённый режим и стартует загрузчик ОС. Загрузчик содержит в себе основные функции для работы с дисками отформатированными в FAT*, NTFS и CDFS системы. Загрузчик считывает содержимое boot.ini и, в соответствии с его содержимым (количество ОС, диски на котором установленны и т.п.), продолжает загрузку. Если Windows была переведена в состояние гибернации, то NTLDR загружает в память компьютера файл hiberfil.sys и передаёт управление в ядро Windows. Если вы завершили работу компьютера простым выключением/перезагрузкой, то NTLDR загружает DOS’овский файл NTDETECT.COM, который строит список аппаратного обеспечения и загружает саму операционную систему Windows.
Если файл NTLDR удалён/перемещён/повреждён, то система не загрузится и выведет сообщение “NTLDR is missing. Press CTRL+ALT+DEL to restart“. Решить эту проблему можно в консоли восстановления Windows (Recovery Console) командой fixboot или скопировав NTLDR с рабочей системы в корень диска.
Перед загрузкой ядра, NTLDR выводит на экран опции запуска (Если была нажата клавиша F8, или работа системы была завершена аварийно). После выбора параметров запуска, стартует ядро системы – ntoskrnl.exe (мы видим анимацию из белых прямоугольников на чёрном экране). Далее загружается тип абстрактного уровня аппаратного обеспечения – HALL.DLL. Это нужно, чтобы ядро могло абстрагироваться от железа, оба файла находятся в директории System32. Далее загружается библиотека расширения ядра отладчика аппаратного обеспечения kdcom.dll и bootvid.dll, который загружает логотип Windows и индикатор статуса загрузки).
Одним из самых ответственных моментов является загрузка системного реестра configsystem, очень часто система не может прочитать файл system и загрузка становится невозможна или начинается циклическая перезагрузка.
Источник
Как происходит загрузка операционной системы
Вкратце процесс загрузки компьютера описан в статье «Включение ПК» раздела BIOS. Рассмотрим этот процесс более подробно.
Инициализация системы средствами BIOS
Загрузка операционной системы
Ядро операционной системы (ОС) загружается в ОЗУ, после чего в памяти системы размещается основная часть ОС.
На заре развития персоналок конфигурирование системы требовало от пользователей соответствующей квалификации. Наверняка, пользователи со стажем еще помнят такие файлы, как config.exe и autoexec.bat, которые надо было правильно настроить, чтобы «телега» нормально поехала.
Задача, в общем-то, довольно сложная. Для облегчения ее выполнения производители чипсетов и разработчики ПО согласовали и установили определенные правила механизма начальной загрузки. Теперь компоненты компьютерной системы, требующие инициализации и настройки комплектовались соответствующим программным обеспечением (инициализирующими программами, драйверами, INF-файлами):
Начальная загрузка Windows ведется под управлением командного файла, который содержит перечень программ и драйверов выполняемых в процессе загрузки ОС. Это, так называемая, «заготовка» командного файла, которая должна в процессе первоначальной установки Windows на компьютер, переделана в рабочую версию, соответственно установленному оборудованию на данном компьютере.
Windows имеет определенный набор универсальных драйверов (который постоянно пополняется с выходом новой версии ОС), позволяющих выполнить настройку всех компонентов системы. Справедливости ради следует сказать, что универсальные драйвера Windows далеко не всегда способны произвести оптимальную настройку того или иного устройства, что снижает производительность и стабильность работы всей компьютерной системы. Поэтому, все устройства поставляются со «своим» установочным ПО (как правило, на CD). При первоначальной установке нового устройства Windows может попросить вас установить в дисковод диск с соответствующими драйверами для правильной настройки нового устройства. Рекомендуется также следить за выходом новой версии драйверов (в которых исправлены ошибки, сделана оптимизация работы и проч.) для чипсета своей материнской платы и регулярно обновлять их.
Источник
Все, что вы хотели знать про загрузку Windows, загрузчики и восстановление загрузки ОС
В этой статье я не планирую подробно рассказывать обо всех типах загрузчиков, но хочу свести воедино всю необходимую информацию, которую нужно знать для создания загрузочных дисков, флэшек, а также для восстановления загрузчиков.
Принципы загрузки операционных систем
При включении компьютера управление процессором получает BIOS, и если он настроен на загрузку (boot) с винчестера, то он подгружает в оперативную память компьютера первый сектор диска (MBR) и передает управление ему. Если у вас несколько жестких дисков, то каждый из них содержит свою MBR. В этом случае можно или менять порядок загрузки дисков в BIOS, или же прописать все операционные системы с разных дисков в один PBR загрузчик, об этом ниже.
Сразу оговоримся, что если у BIOS у вас включен режим загрузки UEFI, то структура разделов диска у вас должна быть не MBR, а GPT. GPT имеет не только другую структуру разделов, но и другую структуру загрузочной области. Там в первый сектор записывается «заглушка» для BIOS (Protective MBR), которая служит для того, чтобы старый Legacy BIOS мог загрузиться с GPT диска в режиме совместимости, если ОС была установлена на GPT (часто в BIOS его называют CSM – Compatibility Support Module). Однако, вы никогда не сможете загрузить ОС с MBR диска, если в BIOS выставлена загрузка в режиме UEFI.
При загрузке операционной системы, сначала считывается первый сектор с устройства загрузки, представляющий собой главную загрузочную запись (Master Boot Record — MBR). Стандартно, в качестве MBR выступает первый сектор загрузочного диска. MBR содержит список разделов, признак активного раздела (раздела, с которого будет выполняться загрузка ОС), некоторые служебные данные, а также программный код для считывания в память загрузочного сектора активного раздела (Partition Boot Record — PBR) и передачи ему управления.
Размер сектора на жестком диске — 512 байт. В секторе MBR хранятся данные, которые должны заканчиваться специальной сигнатурой. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена.
Общая структура MBR может быть представлена следующей таблицей:
Смещение Длина Описание
000h 446 Код загрузчика
1BEh 64 Таблица разделов
1FEh 2 Сигнатура (55h AAh)
Длина указана в байтах.
Как видно, MBR может содержать информацию максимум о 4 разделах. Каждый 16-байтовый блок, содержащий информацию о разделах, в своем начале содержит признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — может иметь значения 80h (раздел активен) и 00h (раздел не активен). Количество активных разделов должно быть не более одного.
Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.
Типы MBR
Выше мы увидели, что в сектор MBR записывается код загрузчика. Что же это? Дело в том, что в MBR может быть записан как «стандартный» загрузчик, так и альтернативные загрузчики.
Существуют следующие распространенные типы MBR:
Конечно, с учетом многообразия ОС, существует масса других MBR, но они не так популярны.
Операционные системы дружат только с определёнными типа загрузчиков, однако это не значит, что их нельзя модифицировать для поддержки других ОС. Так, в Windows MBR можно добавить информацию о Linux разделе, но этого недостаточно, чтобы Linux стал грузиться. Для этого также потребуется редактировать и PBR. Однако линуксовый LDLINUX.SYS требует наличия своего микрокода в MBR, чтобы обращаться к нему в процессе загрузки, то есть если у вас загрузочная запись Windows NT MBR, а загрузчик GRUB, то такая схема работать не будет. Виндовсовые загрузчики могут обойтись без наличия соответствующего микрокода в MBR, поэтому они могут грузиться и через GRUB MBR.
Главное, что вам нужно понять, что MBR содержит микрокод, инструкции для процессора, а не файлы. PBR же указывает на загрузчик, который является файлом.
Разнообразие PBR
Мы с вами выяснили, что MBR передает управление на активный раздел с PBR. PBR (Partition Boot Record), так же называют volume boot record (VBR) – это микрокод в начальном секторе раздела диска (часто это сектор 63), который содержит информацию, какой же загрузчик искать.
Существуют следующие загрузчики:
Тип MBR — NT 5.x/6.x, 1 сектор
Тип MBR — Grub4DOS, 18 секторов
Тип MBR — LILO/GRUB и др. линуксовые (к-во секторов зависит от версии и количества файлов)
Как я сказал выше, загрузчик является не загрузочной областью, а бинарным файлом.
Например, типичные пример создания мультизагрузочной флэшки – Multiboot USB 2k10, создаваемые уважаемыми conty9 & korsak7. Мультизагрузочный диск системного администратора с возможностью загрузки c CD/DVD, флешки, USB-HDD и обычного HDD и состоящий из нескольких Windows PE-сборок, а также DOS версий продуктов компании Acronis – например Acronis True Image (выполнены на Linux-ядре). Именно из-за этого смешанного зоопарка систем и приходится использовать загрузчик Syslinux (хотя можно и Grub4DOS).
В своем арсенале вам необходимо обязательно иметь утилиту BootICE. Уникальная в своём роде утилита для изменения или бэкапа/восстановления MBR (Master Boot Record) или PBR (Partition Boot Record). С BOOTICE, вы можете легко изменять тип MBR/PBR. Поддерживается загрузочные записи: Grub4DOS, SysLinux, PLoP, MS NT52/60… Например, с помощью этой утилиты, вы можете установить Grub4DOS вашим MBR или PBR, установить NTLDR или BOOTMGR к вашему PBR, установить SYSLINUX на PBR, и так далее.
Редактирование и установка MBR
Редактирование и установка загрузчика
Установка MBR GRUB4DOS
Помимо работы с MBR и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.
Работа с таблицей разделов в BootICE
Кратко о загрузчике Syslinux
Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.
Установка Syslinux под Windows на другой диск выполняется достаточно просто: используется файл «[bios/]win32/syslinux.exe» для 32-х битных систем и «[bios/]win64/syslinux64.exe» для 64-х битных систем.
syslinux.exe —install a: — установка на флоппи-диск
syslinux.exe —mbr —active —directory /boot/syslinux/ —install z: — установка на диск z:, например флешку, где
— в качестве разделителей должны быть использованы именно /, а не
— в каталоге z:bootsyslinux будет размещён файл-загрузчик «ldlinux.sys»
— и раздел z: помечен как активный
— для организации меню должен быть создан файл z:bootsyslinuxsyslinux.cfg
Установка загрузчика Syslinux
Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.
Загрузчики Windows
Конечно, основное внимание мы уделим загрузчикам для Windows.
Загрузчик NTLDR использовался до появления операционной системы Windows Vista. В процессе начальной загрузки, программный код загрузочного сектора раздела (PBR — Partition Boot Sector) обеспечивал поиск, считывание в память и передачу управления файлу ntldr, который размещался в корневом разделе загрузочного диска. Конфигурирование загрузчика ntldr выполнялось с помощью простого текстового файла boot.ini, содержимое которого задавало список загружаемых операционных систем, их параметры загрузки, размещение системных файлов и т.п. В операционных системах Windows Vista /Server 2008 и более поздних, загрузчик ntldr не используется, и заменен диспетчером загрузки BOOTMGR. Соответственно, изменился и программный код загрузочного сектора раздела, обеспечивающий передачу управления файлу bootmgr. Новый диспетчер загрузки использует собственные данные конфигурации загрузки (Boot Configuration Data — BCD) и может выполнять, при определенных настройках, загрузку любых операционных систем семейства Windows. Загрузчик ntldr не поддерживает возможность загрузки Windows Vista и старше.
Также, хочу отметить, что все современные Windows PE любых версий также используют загрузчик bootmgr. Цепочка стадий загрузки MBR — PBR — BOOTMGR — это минимально необходимое условие для того, чтобы загрузка операционной системы могла начаться. Дальнейший же ее ход, определяется диспетчером загрузки BOOTMGR, который считывает данные конфигурации загрузки из файла BOOTBCD активного раздела и выполняет загрузку в соответствии с их содержимым.
Для Windows 7 он запускает файл WINDOWSsystem32winload.exe
Загрузка WINDOWSsystem32winload.exe
Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п.
Обычно файл bootmgr имеет атрибуты «скрытый» и «системный». По типу структуры, файл BootBCD является кустом реестра и отображается в редакторе реестра Windows как раздел
Обычно именно конфигурация BCD становится наибольшим камнем преткновения.
Конфигурирование BOOTMGR и BCD
Для работы с загрузчиком Windows вам понадобятся системные утилиты:
Команда BCDEDIT применяется в операционных системах Windows Vista и старше для редактирования BCD. Подробную инструкцию по использованию этой утилиты можно найти здесь.
Однако, я вам крайне рекомендую использовать очень удобную программу EasyBCD для редактирования BCD. Например, с помощью нее вы легко можете добавить Linux раздел в меню загрузки. Вот статья о том, как добавить в BCD конфигурацию Windows 7 пункт загрузки Linux Ubuntu.
При запуске EasyBCD в окне View Settings можно посмотреть текущую конфигурацию BCD. На скриншоте видно, что в текущий момент на диске установлена одна Windows 7, GUID которой <9079c27c-fa49-11e5-8c8e-3417ebc2574d>и вручную добавленный пункт меню для запуска установки Windows из WIM файла:
BCD menu для загрузки Windows и установки из WIM файла
А вот BCD меню загрузочной флэшки, на которой присутствуют инсталляторы Windows 7 x86 и x64, а также две среды MSDaRT x86 + x64:
BCD меню загрузочной флэшки, overview
BCD menu — установка Windows из WIM файла x86 и x64
Запуск среды восстановления Windows RE с загрузочной флэшки
Утилита BOOTSECT.EXE позволяет изменить программный код загрузчика Windows для переключения между двумя вариантами диспетчера загрузки — BOOTMGR или NTLDR – или восстановить поврежденный загрузчик!
Команда bootsect /nt60 E: /mbr /force – создает на диске E: (например, флэшке) записи MBR и PBR и устанавливает загрузчик bootmgr.
Ну и третья, крайне важная утилита — BootRec входит в состав средств среды восстановления Windows (Windows Recovery Environment) и применяется для восстановления загрузки операционной системы. Найди ее вы можете, загрузившись с установочного диска Windows и выбрав вместо установки опцию «Восстановление системы». Появится окно MSDaRT, откуда можно запустить командную строку и набрать там BootRec.exe. MSDaRT также можно скачать отдельно (это бесплатный продукт Microsoft) и сделать загрузочную флэшку/диск с ним.
Команда Bootrec /FixMbr – записывает основную загрузочную запись (MBR) системного раздела, совместимую с Windows. При этом существующая таблица разделов не перезаписывается.
Bootrec /FixBoot – записывает в системный раздел новый загрузочный сектор, совместимый с Windows.
bootrec /RebuildBCD – перестроить хранилище конфигурации загрузки на данном компьютере. Удобно использовать для изменения конфигурации BCD при добавлении нового диска с установленной Windows, или для внесения изменений в существующую конфигурацию загрузки новых или ранее не использовавшихся ОС.
Загрузчик GRUB4DOS
Это один из наиболее универсальных загрузчиков, способных загружать почти любую операционную систему с любого носителя. Пользователям Linux установка GRUB очевидна, для Windows все не так просто. GRUB имеет смысл использовать, например, одним из загрузчиков мультизагрузочной флэшки, ведь он поддерживает chainloader — передачу управления на другой загрузчик по цепочке. Таким образом, на флэшке можно установить GRUB MBR, который будет обращаться к загрузчику grldr, который в свою очередь через меню позволяет перенаправить запросы на bootmgr, например, для установки Windows.
Загрузчик состоит из следующих файлов:
Файл grldr.mbr нужен для установки GRUB в качестве MBR. Итак, GRUB можно установить руками под Windows или же воспользоваться различными утилитами.
Установка GRUB загрузчика под Windows
Представим, что у вас уже есть Windows с загрузчиком bootmgr. Вам необходимо будет добавить в BCD записи о новом загрузчике, чтобы не лишаться существующего. Порядок действий:
Вот и все, не так и сложно.
Сложнее отредактировать меню menu.lst. Вот список основных команд консоли GRUB (их можно исполнять как вручную из командной строки, так и из файла меню):
Приведу примеру рабочих кусков кода из файла меню:
title Alkid Live CD root (hd0,0) chainloader (hd0,0)/minint/setuplns.bin
Если вам совсем не хочется, существует программа GRUB4DOS Installer, и даже удобный русский инсталятор для нее, но этот вариант вам не позволит сделать комбинированный загрузчик. Он задаст вопрос, куда распаковать файлы и куда установить загрузчик, после чего сделает все сам: отформатирует, установить MBR, скопирует файлы. Но я лично против такой «автоматизации».
Также, для любителей конфигурировать загрузчик из-под Windows, существует утилитка WinGRUB, которая устанавливает GRUB без форматирования флэшки.
Если все-таки вам не хватило нервов и сил разобраться в написании меню, то есть программки, которые сделают меню загрузки и установят загрузчик за вас, вам нужно только выбрать ISO файлы дистрибутивов, которые надо добавить:
Для желающих создать подобные флэшки рекомендую также почитать профильные сайты: greenflash.su, flashboot.ru и usbtor.ru.
Выводы
Итак, чтобы была возможность загрузить ОС, необходимо, чтобы был установлен корректный загрузчик MBR, который заканчивается валидной сигнатурой, должна быть таблица разделов, и хотя бы один раздел должен быть помечен как активный. А в самом разделе, куда MBR передаст управление, должна быть валидная загрузочная запись, которая укажет, какой системный файл необходимо загрузить в память для начала загрузки самой ОС. Кроме того, должно быть загрузочное меню, которое укажет на местоположение загрузочных файлов ОС.
Источник
Как загружается Windows 10?
Вы когда-нибудь задумывались, что происходит, когда вы нажимаете кнопку питания? В этом посте мы увидим, как загружается Windows 10 и что происходит в фоновом режиме. Хотя все мы видим это как один процесс, все происходит пошагово. Он был разработан таким образом, что, если у вас возникнут какие-либо проблемы с загрузкой Windows 10, вы сможете устранить ее.
Как загружается Windows 10
Процесс загрузки Windows 10 в системах BIOS состоит из четырех основных этапов. Он начинается с POST и заканчивается загрузкой ОС Windows или ядра. Вот список этапов, через которые он проходит:
Во время каждого процесса загружается программа. В зависимости от того, использует ли он Legacy BIOS или UEFI, пути к файлам и файлы меняются.
фаза | Процесс загрузки | BIOS | UEFI |
1 | Preboot | MBR/PBR (загрузочный код) | Прошивка UEFI |
2 | Диспетчер загрузки Windows | % SystemDrive% Bootmgr | EFI Microsoft Boot Bootmgfw.efi |
3 | Загрузчик ОС Windows | % SystemRoot% system32 winload.exe | % SystemRoot% system32 Winload.efi |
4 | Ядро ОС Windows NT | % SystemRoot% system32 ntoskrnl.exe |
1] PreBoot: POST или Power-On Self-Test загружает настройки прошивки. Он проверяет наличие действительной дисковой системы и пригодна ли система для перехода к следующему этапу. Если на компьютере установлена допустимая MBR, то есть основная загрузочная запись, процесс загрузки продвигается дальше и загружает диспетчер загрузки Windows. 3] Загрузчик ОС Windows: Как и его имя, WinLoad.exe загружает важные драйверы для запуска ядра Windows. Ядро использует драйверы для связи с оборудованием и выполнения остальных действий, необходимых для продолжения процесса загрузки. Когда вы запускаете Windows 10 на компьютере, который поддерживает Unified Extensible Firmware Interface (UEFI), Trusted Boot защищает ваш компьютер с момента его включения. Когда компьютер запускается, он сначала находит загрузчик операционной системы. Компьютеры без защищенной загрузки просто запускают любой загрузчик на жестком диске ПК. Когда компьютер, оснащенный UEFI, запускается, он сначала проверяет, что прошивка имеет цифровую подпись. Если включена безопасная загрузка, микропрограмма проверяет цифровую подпись загрузчика, чтобы убедиться, что она не повреждена. Вы можете прочитать больше о том, как защитить процесс загрузки Windows 10. Помните, что многое происходит даже после входа в систему, но это все сценарии процесса после загрузки. Обратите внимание, что процесс загрузки Windows 10 намного больше, чем мы объяснили здесь – мы только объяснили основы! Источник Adblock |