Включить компьютер довольно просто. Но в первый раз это делать лучше под контролем взрослого человека, который должен убедиться, что все части компьютера подключены верно.
Для включения компьютера достаточно нажать кнопку на передней панели системного блока. Если монитор отключен, то его тоже нужно включить нажав кнопку под экраном монитора.
После этого нужно дождаться, пока загрузится компьютер. После появления приветствия операционной системы Windows на экране монитора отобразится Рабочий стол. Если компьютер защищен паролем, то появится форма ввода имени пользователя и пароля
После загрузки Рабочего стола Windows можно начинать работу.
Если включение компьютера довольно простая механическая операция, то выключение компьютера более сложный процесс.
Прежде чем выключать компьютер, необходимо завершить все начатые операции и закрыть все программы и документы.
Нельзя выключать просто нажав кнопку на передней панели системного блока, как при включении компьютера.
- Нужно закрыть все открытые окна
- Открыть меню “ПУСК”
- Нажать кнопку “Завершение работы” или “Выключение”
- Дождаться окончания работы компьютера и погасания экрана монитора
Тест “Как включать и выключать компьютер”
Как включить компьютер
Нажать кнопку включения на системном блоке
Нажать кнопку “Включение” на рабочем столе Windows
Компьютер не нужно включать, он работает всегда.
Как правильно выключить компьютер
Нажать кнопку выключения на системном блоке компьютера
Закрыть все работающие программы, нажать кнопку ПУСК- Завершение работы и дождаться окончания работы компьютера
Компьютер не нужно выключать, он работает всегда
Как Включать и выключать компьютер
Поделиться ссылкой:
Похожие записи
Мы продолжаем разбираться как работает ПК на примере клавиатуры и 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. Как правильно включать и выключать компьютер
- Как правильно включать и выключать компьютер
- Подключение компьютера к электрической розетке
- Как правильно включить компьютер
- Как правильно включить ноутбук или нетбук
- Как правильно выключать компьютер, ноутбук или нетбук
- Первый запуск компьютера — важные моменты
- Подготовка к запуску портативного компьютера
- Подготовка к запуску настольного компьютера
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Шаг 5
- Шаг 6
- Шаг 7
- Шаг 8
- Подключение периферийных устройств к компьютеру или ноутбуку
- Включение и загрузка компьютера
- Последовательность включения и выключения компьютера
Этапы включения и загрузки компьютера
Запуск компьютера — не просто его включение. Включение — это событие, а запуск — процесс. Он растянут во времени и происходит под внешним управлением. В зависимости оттого, кто является управляющей стороной, в запуске компьютера можно выделить три этапа.
Первый этап
Если на самом деле автоматический запуск не требуется, а такое бывает при проведении ремонтно-восстановительных работ, первый этап — самое замечательное время, чтобы перехватить управление у автоматики и взять его на себя. Делается это с помощью клавиатуры. Подробности — ниже.
Второй этап
На втором этапе запуском компьютера управляют устройства. Точнее — материнская плата. Еще точнее — микросхема постоянного запоминающего устройства (ПЗУ), находящаяся на ней. Совсем точно — пакет встроенных программ, который называется BIOS. Как настроить Boot menu в BOIS Вы можете прочитать в другой инструкции.
Третий этап
К третьему этапу компьютер подходит после того, как система BIOS запустит программы, позволяющие читать данные, записанные на внутренних и внешних дисковых носителях. Цель третьего этапа — загрузить операционную систему. На самом деле этот этап сам разбивается на несколько этапов, но мы так далеко погружаться не будем.
Как и на втором этапе, управляющее стороной третьего этапа запуска является программа. Только теперь она не «зашита» в ПЗУ материнской платы, а берется с того диска, который назначен системным. Эта программа — первоначальный загрузчик операционной системы.
Если человека по каким-то причинам не устраивает, какую операционную систему загружает первоначальный загрузчик и в каком режиме он ее запускает, в работу загрузчика можно вмешаться. То есть, управление начальной загрузкой человек может взять на себя. Обычно этого не делают, но если надо выполнить какие-то специфические действия или устранить обнаруженные неполадки, возможность управления начальной загрузкой бывает весьма полезной.
Вмешательство с целью управления начальной загрузкой должно происходить сразу после того, как на экране появятся сведения о распознанных дисковых накопителях.
Источник
Урок 1. Как правильно включать и выключать компьютер
Самый первый страх, который бывает у начинающих пользователей, это страх включения компьютера. Особенно такому страху подвержены люди пожилого возраста. Сегодня мы с вами будем «бороться» с этим страхом. Обычно с первым включением проблем не бывает. А вот выключать компьютер некоторые не только не умеют, но и не хотят этому учиться. А зря! Как показывает практика 80 % неисправностей компьютера, именно по вине пользователей, а из этих 70 % — 30% из-за неправильного выключения компьютера. А как правильно включать и выключать компьютер?
Как правильно включать и выключать компьютер
Если вы читаете эти строки, значит, каким-то образом вы уже включили свой компьютер, или кто-то вам его включил.
Запомните раз и навсегда! Вы не можете ничего испортить. Если при включении компьютера, что-то пошло не так, то это скорее всего, последствия вируса, или не корректного выключения компьютера.
Вот чтобы таких неприятностей не было, необходимо сразу же научится правильно включать и выключать компьютер. Это же относится и к ноутбуку и планшету.
Подключение компьютера к электрической розетке
Самое правильное, это подключить компьютер через источник бесперебойного питания или сетевой фильтр типа «пилот».
Первым в электрическую розетку необходимо подключить одно из этих устройств. Источник бесперебойного питания довольно-таки дорогое оборудование, поэтому он больше необходим в том случае, если у вас часто отключают свет, или в вашей квартире постоянно происходят скачки напряжения в электрической сети.
В остальных случаях можно обойтись менее дорогим устройством защиты от внезапных скачков напряжения – это так называемым сетевым фильтром. У него с одного края есть маленькая черная кнопочка. В случае резкого скачка напряжения эта кнопка автоматически отключит поступление превышенного тока к подключенным через «пилот» устройствам.
Не подключайте компьютер напрямую к розетке, иначе рискуете не только потерять все свои данные, но и можете остаться без компьютера. Тоже самое, относится и к монитору. Все эти устройства можно подключить к розетке через одно устройство (либо «пилот», либо через источник бесперебойного питания).
Ни в коем случае не используйте дешевые китайские удлинители. Покупайте оборудование только в специализированных компьютерных магазинах. Иначе вы спалите не только свой компьютер, но и всю квартиру. Это не шутки! Не испытывайте судьбу.
Как правильно включить компьютер
Для того, чтобы включить компьютер, необходимо:
Как правильно включить ноутбук или нетбук
Обычно с включением компьютера проблем не бывает. Главное не паниковать и не нажимать на клавиатуре во время загрузки все клавиши подряд.
Как правильно выключать компьютер, ноутбук или нетбук
После того как вы поработали или поиграли на компьютере, его необходимо правильно выключить. Именно ПРАВИЛЬНО, т.к. от этого будет зависеть, включиться ваш компьютер в следующий раз, или нет.
Очень часто бывает, что после неправильного выключения компьютера (ноутбука или нетбука) происходит сбой в загрузочном файле, и компьютер не может запуститься. Чаще всего эту ситуацию можно исправить, но это должен делать специалист. А может быть и хуже. Тогда придется переустанавливать всю операционную систему.
Чтобы не возникало проблем, компьютер надо выключать правильно. Кликнуть левой кнопкой мыши на кнопку Пуск (в нижнем левом углу).
Выключать компьютер, ноутбук, или нетбук можно только через кнопку Пуск. Ничего сложного в этом нет.
Запомните, как правильно включать и выключать компьютер, и у вас никогда не будет лишних проблем.
Источник
Первый запуск компьютера — важные моменты
Итак, вы приобрели новый компьютер и готовы начать работу. Когда все составляющие компьютера находятся рядом, не подключены между собой, куча разных проводов вокруг, может показаться, что вы с этой задачей не справитесь. На самом деле нет поводов для паники. Первый запуск компьютера состоится по плану.
В большинстве случаев вместе с компьютером идёт небольшое руководство по его подключению. Но, даже если таковой инструкции нет, вы по-прежнему можете самостоятельно собрать воедино все устройства компьютера всего за несколько простых шагов.
Подготовка к запуску портативного компьютера
Если вы купили ноутбук или нетбук, то процедура подготовки перед первым запуском займёт меньше минуты. На некоторых моделях может потребоваться подключить аккумуляторную батарею. Когда батарея на месте, откройте крышку и нажмите кнопку питания. Если аккумулятор не заряжен, вам потребуется подключить адаптер переменного тока, который поставляется вместе с ноутбуком. Во время зарядки вы можете продолжать работу.
Если к ноутбуку требуется подключать периферийные устройства, можете ознакомиться с приведёнными ниже инструкциями, для настольных и портативных компьютеров, как правило, используют те же самые типы соединений.
Подготовка к запуску настольного компьютера
Шаг 1
Распакуйте монитор, системный блок, клавиатуру и другие компоненты компьютера из коробки. Удалить все транспортные, пластиковые покрытия или защитную плёнку. Устанавливайте монитор и системный блок, на рабочее место.
Рекомендации по установке: системный блок размещайте так, чтобы было достаточно пространства для циркуляции воздуха, во избежание перегрева. Монитор лучше расположить так, чтобы источник света располагался слева от монитора, во избежание бликов.
Шаг 2
Возьмите кабель для подключения монитора. В комплекте поставки монитора всегда идёт два кабеля, один для подключения к электросети, другой для подключения к компьютеру (системному блоку). В зависимости от модели монитора, в комплекте может быть VGA, DVI или HDMI кабель. VGA кабель часто иметь синий цвет на фишках разъёмов, чтобы их легче было опознать. Если вы купили моноблок, вы можете перейти к Шагу 4.
(VGA кабель) (DVI кабель) (HDMI кабель) (HDMI-DVI кабель)
Шаг 3
Подключите один конец кабеля к монитору, с выбором порта не ошибётесь, а другой конец к такому же порту, на задней панели системного блока. Будьте внимательны и аккуратны, разъёмы и гнёзда портов имеют геометрическую форму, при правильном подключении усилий не потребуется. Если ваш кабель с винтами, затяните их слегка, чтобы зафиксировать контакт.
Совет: если кабель не «идёт», не пихайте его, или вы можете повредить разъёмы. Убедитесь, что разъём кабеля подходит разъёму на компьютере, а затем подключите его.
Шаг 4
Возьмите клавиатуру и определите, каким разъёмом она подключается к компьютеру. Это может быть USB (прямоугольный разъём белого или чёрного цвета) или PS/2 (круглый разъем фиолетового цвета).
Если используется USB-разъём, подключите его к любому из USB-портов на задней панели компьютера. Если используется разъем PS/2, подключите его к фиолетовому круглому порту на задней панели компьютера.
Шаг 5
Возьмите мышь и определите, каким разъёмом она подключается к компьютеру. Это может быть USB (прямоугольный разъём белого или чёрного цвета) или PS/2 (круглый разъём зелёного цвета). Если у вашей мышки USB-разъём, подключите его к любому из свободных USB-портов на задней панели компьютера. Если используется разъем PS/2, подключите его к зелёному круглому порту на задней панели компьютера.
Если на вашей клавиатуре имеется USB порт, вы можете подключить мышь, в клавиатуру вместо прямого подключения к компьютеру. Или в этот порт можно подключить USB фонарик для подсветки клавиатуры и рабочего стола. А также наличие USB порта удобно при подключении «флешки», не нужно искать разъём на компьютере, все под руками.
Если у вас беспроводная мышь или клавиатура, возможно, потребуется подключить Bluetooth адаптер (USB-адаптер), он идёт в комплекте с беспроводным устройством.
Шаг 6
Если у вас есть динамики или наушники, вы можете подключить их к компьютеру в аудио порт (на передней или задней панели системного блока). Эти порты имеют разные цвета, как и штекеры для подключения. Колонки или наушники подключитесь к зелёному порту, микрофон подключается к розовому (красному) порту. По цвету штекера не ошибётесь. Синий порт использоваться с другими типами устройств.
Некоторые колонки, наушники и микрофоны имеют разъёмы USB вместо обычного аудиоразъёма. Они могут быть подключены к любому USB порту. Кроме того, некоторые мониторы имеют встроенные колонки и микрофон, их также нужно будет подключить к системному блоку. Для этого используются те же цветные разъёмы.
Шаг 7
Возьмите два кабеля питания, поставляемых вместе с компьютером и монитором. Подключите первый кабель питания к гнезду на задней панели системного блока, затем в сетевой фильтр. Затем, используя другой кабель, подключите монитор к сетевому фильтру.
Шаг 8
Наконец, подключите сетевой фильтр в розетку. Вам также может понадобиться включить сетевой фильтр на нём имеется выключатель питания.
Шаг 7 и 8 описывает схему подключения к электросети №1. Эту схему можно использовать временно, так как в нашей электросети бывают частые скачки напряжения, а бывают и внезапные отключения. А такие скачки и отключения пагубно влияют на компьютерную технику и могут привести к её поломке.
А теперь буквально в двух словах остановимся на подключении периферийных устройств к компьютеру.
Подключение периферийных устройств к компьютеру или ноутбуку
Принтер, сканер, веб-камеру, или другие периферийные устройства, нужно подключить перед запуском компьютера. Многие периферийные устройства относятся к категории plug and play, такие устройства будут распознаны компьютером, как только будет выполнена загрузка операционной системы (ОС).
Большинство периферийных устройств подключаются через порты USB, которые имеют одинаковый разъём для подключения к компьютеру (прямоугольный) и несколько иной формы для подключения к устройству. По форме и размеру порта на устройстве вы поймёте что и куда подключать.
Периферийные устройства требую предварительной установки программного обеспечения прежде, чем вы сможете использовать их. Установка такого программного обеспечения не составит труда, главное читайте, что предлагает программа-установщик и следуйте инструкциям (в общем, читайте и нажимайте кнопку «Далее»).
В целом, периферийные устройства можно подключить и позже, необязательно подключать все периферийные устройства во время первого запуска компьютера.
Теперь ваш компьютер готов к первому запуску, — Включаем!
Друзья, поддержите нас! Поделитесь статьёй в социальных сетях:
Источник
Включение и загрузка компьютера
Для включения практически любого компьютера используется кнопка «Power» («Питание»), расположенная на лицевой части его корпуса. Корректное выключение компьютера производится из операционной системы, хотя можно так же воспользоваться этой кнопкой. Так же кнопка «Power» поможет произвести экстренное выключение в случае «зависания» компьютера.
Рядом с кнопкой включения на системном блоке, часто располагается еще одна кнопка, более маленького размера. Называется она «Reset» («Перезапуск») и служит для аварийной перезагрузки компьютера без выключения питания. На ноутбуках данная кнопка отсутствует.
Монитор имеет собственную кнопку включения и выключения питания. Правда, включить его достаточно лишь в первый раз или после полного отключения электричества. В дальнейшем при включении компьютера, монитор будет включаться автоматически, а при его выключении, автоматически переходить в «спящий режим» (выключаться).
После нажатия на кнопку включения начинается процесс загрузки компьютера, которая проходит в несколько этапов. В первую очередь происходит процесс проверки основных устройств: видеокарты, процессора, оперативной памяти, подключенных носителей информации, клавиатуры и других. В этот момент на экране будут мелькать всевозможные сообщения или появится изображение логотипа производителя системной платы (компьютера).
При этом если в процессе тестирования оборудования произойдут какие-либо ошибки, то на монитор будет немедленно выведено сообщение об этом. Например, при не подключенной клавиатуре вы, скорее всего, увидите сообщение: «Keyboard error or no keyboard present».
На большинстве компьютеров, после успешной проверки его компонентов, выводится на экран сводная таблица, содержащая информацию о конфигурации системы. Из нее можно узнать о типе и характеристиках установленных процессора, памяти, жесткого диска и прочих устройствах вашего ПК.
Итак, если аппаратная составляющая вашего компьютера в порядке и средства самотестирования не выявили никаких проблем, то далее начинается непосредственно процесс загрузки операционной системы. В течение некоторого времени в оперативную память и на жесткий диск загружаются самые важные компоненты ОС:
Пользователи же в этот момент наблюдают на экране монитора стартовую заставку той операционной системы, которая установлена на вашем компьютере.
Наконец перед вами должен появиться основной экран ОС или так называемый рабочий стол. Еще какое-то непродолжительное время может понадобиться системе для загрузки вспомогательных приложений, например антивируса. После этого экран «успокоится» и на этом загрузку системы можно считать законченной, а компьютер готовым к работе.
Источник
Последовательность включения и выключения компьютера
Алгоритм включения компьютера.
1. Включить сетевой фильтр и стабилизатор напряжения, если компьютер подключен через них.
2. Включить принтер и другие периферийные устройства (если они будут использоваться).
3. Включить монитор компьютера.
4. Включить системный блок компьютера.
Алгоритм выключения компьютера
1. Закончите работу в прикладных программах.
2. Для Windows XP/NT/W7 выполните стандартную процедуру завершения работы и дождитесь появления надписи, разрешающей выключить компьютер. В среде Windows для этого необходимо выбрать меню Пуск_ Завершение работы (Выключение).
Последовательное выключение питания:
1. Выключить принтер и другие периферийные устройства.
2. Выключить монитор компьютера.
3. Выключить стабилизатор напряжения и сетевой фильтр.
Внимание!
· Частое включение и выключение компьютера усиливает износ его устройств и может привести к поломке. Поэтому в компьютерных классах, если после Вас на компьютере будет кто-то работать, для завершения работы необходимо выбирать пункт. «Завершение сеанса». Компьютер не выключать.
Помимо этих общих правил каждое отдельное устройство имеет свои особенности использования, которые необходимо изучить в инструкциях по эксплуатации, прилагающихся к оборудованию.
Источник
Это статья для повышения компьютерного кругозора. Если сегодня хочется попрограммировать, сделайте проект с колесом фортуны, а если нужны задачи — вот подборка самых интересных задач на логику.
Сегодня покажем, что происходит в обычном стационарном компьютере, когда вы его включаете и загружаете. Прямо по шагам, углубляясь в детали.
Воткнули вилку в розетку
Чаще всего компьютер включён в сеть постоянно, и это значит, что блок питания подаёт на материнскую плату совсем небольшой ток. Ток настолько мал, что внутри блока питания ничего не греется, поэтому не нужно включать никакие вентиляторы.
Ток поступает на контакты питания материнской платы, а оттуда — на системный контроллер. Системный контроллер — специальная микросхема (или группа микросхем), которая управляет всем, что находится на материнской плате, включая процессор и оперативную память. Когда есть питание, системный контроллер просто ждёт, пока пользователь не нажмёт кнопку включения компьютера.
Получается, даже когда компьютер условно выключен, на самом деле он включён — работает системный контроллер, который, как сторож, проверяет, нужно ли подавать электричество на остальные устройства внутри компьютера.
Нажали кнопку включения
После нажатия кнопки включения системный контроллер получает от неё сигнал и говорит блоку питания: «Мне нужно больше тока». Блок начинает полноценно работать и подаёт полноценное питание на материнскую плату и остальные компоненты — теперь начинают работать все основные компоненты компьютера:
- процессор,
- оперативная память,
- микросхемы 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 он выглядит так:
Пока крутится индикатор загрузки, ядро занимается тем, что загружает и запускает все служебные программы и скрипты:
- смотрит, какое подключено железо и какие драйверы для него нужны прямо сейчас;
- считывает настройки системы и запускает скрипты сразу с нужными параметрами;
- запускает службы и демоны;
- настраивает графический интерфейс;
- включает систему входа пользователей в систему.
Смысл ядра — запустить все программы, которые будут нужны для дальнейшей работы операционной системы. В нашей аналогии со строительной бригадой, ядро — это прораб, который находится всё время на объекте от начала работ до их полного окончания. Прораб следит за ключевыми процессами и вмешивается, если что-то идёт не так. Ядро действует точно так же: обеспечивает работоспособность всей ОС и регулирует ключевые процессы.
Вход пользователя в систему
Последний шаг загрузки компьютера — вход пользователя в систему. Он может быть автоматическим, если нет пароля на вход — в противном случае система попросит его ввести:
После входа операционная система загружает все пользовательские настройки и программы — ставит нужный фон на рабочий стол, применяет какую-то схему оформления и запускает те программы, которые выбрал этот пользователь.
И всё.
Вёрстка:
Кирилл Климентьев
Компьютер – это электронное устройство, которое состоит из множества компонентов, таких как процессор, память, жесткий диск, материнская плата и другие. Когда вы включаете компьютер, происходит целый ряд операций, которые позволяют ему загрузиться и начать работу.
Рассмотрим этот процесс более подробно.
- Нажатие кнопки включения Когда вы нажимаете кнопку включения, происходит подача электрического тока на материнскую плату компьютера. Это позволяет запустить процесс инициализации.
- POST (Power-On Self-Test) Первым делом при включении компьютера происходит POST (Power-On Self-Test), который выполняется BIOS (Basic Input/Output System). BIOS – это программа, которая хранится на материнской плате и отвечает за базовые операции ввода-вывода.
Во время POST BIOS проверяет все компоненты компьютера на работоспособность. Он проверяет работу процессора, памяти, жесткого диска, видеокарты и других компонентов. Если при проверке обнаруживается неисправность, BIOS выдает соответствующее сообщение на экране монитора и останавливает загрузку.
- Загрузка операционной системы После прохождения POST компьютер начинает загрузку операционной системы (ОС). Операционная система – это программа, которая управляет работой всех компонентов компьютера и позволяет пользователям взаимодействовать с ним.
Во время загрузки операционной системы компьютер проверяет все устройства, устанавливает связь с ними и загружает драйверы, необходимые для их работы. После этого операционная система начинает работу и пользователь может начинать использовать компьютер.
- Загрузка приложений и файлов Когда операционная система загрузилась, пользователь может запускать приложения и работать с файлами. Приложения загружаются в оперативную память компьютера и начинают работу.
- Готовность к использованию После завершения всех процессов загрузки компьютер готов к использованию. Пользователь может начать работу с ним, использовать приложения, обрабатывать данные, просматривать веб-страницы и т.д.
В заключение можно сказать, что процесс включения компьютера – это сложный и автоматизированный процесс, который включает в себя множество компонентов и программных систем. Важно отметить, что процесс включения компьютера может быть немного отличным в зависимости от конфигурации и настроек вашего устройства.
Также стоит упомянуть, что некоторые компьютеры могут иметь возможность загрузки с различных устройств, например, с USB-накопителя, CD/DVD-диска или сетевого сервера. В таких случаях процесс загрузки может быть изменен в соответствии с настройками загрузки устройства.
Важно понимать, что процесс включения компьютера зависит не только от технических характеристик устройства, но и от качества программного обеспечения. Наличие качественной операционной системы и драйверов для компонентов позволяет оптимизировать загрузку и работу компьютера.
В целом, процесс включения компьютера – это важная составляющая его работы. Он позволяет запустить все необходимые компоненты и программы для работы пользователя и обеспечивает стабильную работу компьютера на протяжении всего времени использования.
Надеюсь статья была полезной, подписывайтесь, ставьте лайки, пишите комментарии, дальше будет интереснее.