01

Шины расширения. Прямой доступ к памяти. Прерывания. Драйверы. Plug and Play

Архитектура аппаратных средств

Лекция · 4 академических часа

Тема: «Шины расширения. Прямой доступ к памяти. Прерывания. Драйверы. Plug and Play». Сегодня мы разберём, как компоненты компьютера общаются между собой: какие бывают шины, как работает прямой доступ к памяти, зачем нужны прерывания и как драйверы управляют устройствами.

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

шинаPCI Expressпрямой доступ к памятипрерываниедрайверPlug and Play
Курс 2026 · gadget59.ru
02

План лекции

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

Часть 1. Введение (слайды 3–6)

  • Что такое шина? Зачем она нужна?
  • Классификация шин.
  • Принцип построения шин.
  • Пропускная способность.

Часть 2. Шины расширения (слайды 7–15)

  • PCI, PCI Express, AGP.
  • USB, SATA, Thunderbolt.
  • HDMI, DisplayPort.
  • Сравнение и тенденции.

Часть 3. Прямой доступ к памяти (слайды 16–22)

  • Что такое DMA.
  • Принцип работы.
  • Режимы DMA.
  • Преимущества и недостатки.

Часть 4. Прерывания (слайды 23–29)

  • Что такое прерывание.
  • Типы прерываний.
  • Контроллер прерываний.
  • Обработка прерываний.

Часть 5. Драйверы и Plug and Play (слайды 30–36)

  • Что такое драйвер.
  • Установка драйверов.
  • Plug and Play.
  • Диспетчер устройств.

Часть 6. Практика (слайды 37–40)

  • Домашнее задание.
  • Тест для самопроверки.
  • Ответы на тест.
  • Итоги.

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

03

Что такое шина? Зачем она нужна?

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

Шина (Bus)

Шина — это канал передачи данных между компонентами компьютера. Это «дорога», по которой данные движутся от одного устройства к другому. Шина соединяет процессор, память и устройства ввода-вывода в единую систему.

Аналогия: представьте город. Дома — это устройства (процессор, память, видеокарта, клавиатура). Улицы — это шины. По улицам движутся машины — это данные. Чем шире улица, тем больше машин может проехать одновременно. Чем быстрее ограничение скорости, тем быстрее доставка. Если улица одна на весь город — пробки. Если улиц много — движение свободнее.
  • Шина соединяет процессор, память и устройства ввода-вывода.
  • По шине передаются данные, адреса и управляющие сигналы.
  • Шина может быть параллельной (много проводов) или последовательной (один провод).
  • Шина может быть общей (все устройства делят одну) или выделенной (каждому устройству своя).

Зачем нужна шина: без неё компоненты компьютера не могли бы общаться. Это «нервная система» компьютера. Процессор не смог бы прочитать команду из памяти, видеокарта не получила бы данные для отрисовки, а клавиатура не передала бы нажатие.

04

Классификация шин

Шины можно классифицировать по разным признакам. Это помогает понять, какая шина для чего предназначена.

ПризнакТипы и пояснения По назначениюСистемная (процессор–память), локальная (видеокарта), периферийная (USB, SATA) По способу передачиПараллельная (много проводов, несколько бит одновременно), последовательная (один провод, биты друг за другом) По расположениюВнутренняя (внутри корпуса), внешняя (снаружи) По скоростиВысокоскоростная (PCI Express, Thunderbolt), низкоскоростная (USB 2.0)
Пример: системная шина соединяет процессор с памятью. Шина PCI Express соединяет видеокарту с процессором. Шина USB соединяет мышь с компьютером. Все они — шины, но разные по назначению. Системная шина самая быстрая, потому что процессор и память обмениваются огромными объёмами данных. USB может быть медленнее, потому что мышь передаёт всего несколько байт в секунду.
05

Принцип построения шин: адрес, данные, управление

Любая шина состоит из трёх частей: шины адреса, шины данных и шины управления. Каждая часть выполняет свою задачу.

Шина адреса Шина данных Шина управления
↓ ↓ ↓
Куда? Что? Как?
Часть шиныНазначение Шина адресаУказывает, к какому устройству или ячейке памяти обращаются. Это «адрес получателя». Шина данныхПередаёт сами данные. Это «содержимое посылки». Шина управленияПередаёт сигналы: чтение, запись, прерывание. Это «инструкция по обработке».
Аналогия: вы отправляете посылку.
Адрес — куда отправить (шина адреса).
Содержимое — что отправить (шина данных).
Инструкция — как обращаться с посылкой: «хрупкое», «не кантовать» (шина управления).

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

06

Пропускная способность шины

Пропускная способность

Пропускная способность шины — это количество данных, которое можно передать за единицу времени. Измеряется в мегабайтах в секунду (МБ/с) или гигабайтах в секунду (ГБ/с). Чем выше пропускная способность, тем быстрее работает устройство.

  • Зависит от разрядности шины (сколько бит передаётся за раз).
  • Зависит от тактовой частоты шины (сколько раз в секунду передаются данные).
  • Чем выше пропускная способность, тем быстрее работает устройство.
  • Пропускная способность — главная характеристика шины.
ШинаПропускная способность PCI133–533 МБ/с PCI Express x16 (4.0)32 ГБ/с USB 2.060 МБ/с USB 3.22,5 ГБ/с SATA III750 МБ/с
Пример: видеокарта через PCI Express x16 4.0 получает 32 ГБ/с. Это позволяет загружать текстуры и модели без задержек. Через USB 2.0 (60 МБ/с) это заняло бы в 500 раз дольше. Поэтому видеокарты подключают через PCI Express, а не через USB.
07

Шина PCI

PCI (Peripheral Component Interconnect, «взаимосвязь периферийных компонентов») — параллельная шина, разработанная в 1992 году. Долгое время была стандартом для подключения видеокарт, звуковых карт, сетевых карт.

  • Параллельная передача (32 или 64 бита).
  • Пропускная способность: 133–533 МБ/с.
  • Общая шина — все устройства делят пропускную способность.
  • Устарела, вытеснена PCI Express.
ВерсияРазрядность / частотаПропускная способность PCI 32-bit / 33 МГц32 бита / 33 МГц133 МБ/с PCI 32-bit / 66 МГц32 бита / 66 МГц266 МБ/с PCI 64-bit / 66 МГц64 бита / 66 МГц533 МБ/с
Недостаток: общая шина. Если одно устройство активно передаёт данные, остальные ждут. Это как одна дорога на всех — пробки неизбежны. Чем больше устройств на шине, тем медленнее каждое.
08

Шина PCI Express (PCIe)

PCI Express (PCIe, «взаимосвязь периферийных компонентов экспресс») — последовательная шина, пришедшая на смену PCI. Использует отдельные линии для каждого устройства, что устраняет «пробки».

  • Последовательная передача (по одной линии — один бит за раз).
  • Несколько линий (x1, x4, x8, x16) — можно объединять для скорости.
  • Каждое устройство имеет свои линии — нет конкуренции.
  • Современный стандарт для видеокарт, SSD, сетевых карт.
ВерсияСкорость на линиюx16 PCIe 3.0~1 ГБ/с~16 ГБ/с PCIe 4.0~2 ГБ/с~32 ГБ/с PCIe 5.0~4 ГБ/с~64 ГБ/с
Пример: видеокарта использует PCIe x16. SSD — PCIe x4. Звуковая карта — PCIe x1. Каждое устройство имеет свою «дорогу» и не мешает другим. Поэтому современные компьютеры работают быстрее старых.
09

Шина AGP

AGP (Accelerated Graphics Port, «ускоренный графический порт») — специализированная шина для видеокарт, разработанная в 1997 году. Пришла на смену PCI для графики.

  • Только для видеокарт.
  • Выделенная шина — не делится с другими устройствами.
  • Пропускная способность: 266–2133 МБ/с.
  • Устарела, вытеснена PCI Express.
ВерсияПропускная способность AGP 1x266 МБ/с AGP 2x533 МБ/с AGP 4x1066 МБ/с AGP 8x2133 МБ/с
История: AGP была важным шагом для 3D-графики в конце 1990-х. Но с появлением PCI Express она устарела, так как PCI Express быстрее и универсальнее. Сегодня AGP можно увидеть только в очень старых компьютерах.
10

Шина USB

USB (Universal Serial Bus, «универсальная последовательная шина») — универсальная последовательная шина для подключения периферии. Самый распространённый интерфейс в мире.

  • Поддерживает «горячее подключение» (без выключения компьютера).
  • Питает устройства (5 В, до 100 Вт в USB Power Delivery).
  • Один хост — до 127 устройств через хабы.
  • Версии: USB 1.1, 2.0, 3.0, 3.1, 3.2, USB4.
ВерсияСкоростьПример USB 1.112 Мбит/сКлавиатура, мышь USB 2.0480 Мбит/сФлешка, принтер USB 3.0 / 3.15–10 Гбит/сВнешний SSD USB 3.220 Гбит/сДок-станция USB440 Гбит/сВнешняя видеокарта
Пример: мышь, клавиатура, флешка, принтер, смартфон — всё подключается через USB. Это самый универсальный интерфейс. Вы можете подключить до 127 устройств через один порт, используя хабы.
11

Шина SATA

SATA (Serial ATA, «последовательный ATA»; ATA — Advanced Technology Attachment, «усовершенствованное технологическое присоединение») — последовательная шина для подключения накопителей (жёстких дисков, SSD, оптических приводов).

  • Последовательная передача.
  • Тонкие кабели (удобнее, чем старые IDE).
  • Поддержка горячей замены (в серверах).
  • Версии: SATA I, II, III.
ВерсияСкоростьРеальная скорость SATA I1,5 Гбит/с150 МБ/с SATA II3 Гбит/с300 МБ/с SATA III6 Гбит/с600 МБ/с
Ограничение: SATA III (600 МБ/с) — «узкое место» для современных SSD. Поэтому появился NVMe (Non-Volatile Memory Express, «энергонезависимая память экспресс») через PCI Express, который в 5–10 раз быстрее. Но SATA до сих пор используется для жёстких дисков и старых SSD.
12

Шина Thunderbolt

Thunderbolt («громовая стрела») — высокоскоростная последовательная шина, разработанная Intel. Объединяет данные, видео и питание в одном кабеле.

  • Скорость: 20–40 Гбит/с (Thunderbolt 3/4).
  • Разъём USB-C.
  • Поддержка док-станций, внешних видеокарт, мониторов 4K/8K.
  • Совместимость с USB.
ВерсияСкоростьРазъём Thunderbolt 110 Гбит/сMini DisplayPort Thunderbolt 220 Гбит/сMini DisplayPort Thunderbolt 340 Гбит/сUSB-C Thunderbolt 440 Гбит/сUSB-C
Пример: через Thunderbolt 3 можно подключить внешнюю видеокарту (eGPU), два монитора 4K и док-станцию с Ethernet — всё через один кабель. Это удобно для ноутбуков, где мало портов.
13

Шина HDMI и DisplayPort

HDMI (High-Definition Multimedia Interface, «мультимедийный интерфейс высокой чёткости») и DisplayPort («порт отображения») — шины для передачи видео и звука на мониторы, проекторы, телевизоры.

HDMI

  • Бытовой стандарт.
  • Есть в телевизорах, проекторах.
  • Версии: 1.4, 2.0, 2.1.
  • 4K при 60 Гц (HDMI 2.0).

DisplayPort

  • Компьютерный стандарт.
  • Поддержка нескольких мониторов.
  • Версии: 1.2, 1.4, 2.0.
  • 8K при 60 Гц (DisplayPort 2.0).
ВерсияПропускная способностьМаксимум HDMI 2.018 Гбит/с4K @ 60 Гц HDMI 2.148 Гбит/с8K @ 60 Гц DisplayPort 1.432,4 Гбит/с8K @ 30 Гц DisplayPort 2.080 Гбит/с16K @ 60 Гц
14

Сравнение шин по скорости и назначению

ШинаСкоростьНазначение PCIe 5.0 x1664 ГБ/сВидеокарты, SSD Thunderbolt 440 Гбит/сДок-станции, внешние видеокарты USB440 Гбит/сУниверсальный USB 3.220 Гбит/сВнешние SSD SATA III6 Гбит/сЖёсткие диски, SSD USB 2.0480 Мбит/сМышь, клавиатура

Тенденция: от параллельных шин (PCI, IDE) к последовательным (PCI Express, SATA, USB). Последовательные шины быстрее, дешевле и проще масштабируются. Это главное направление развития шин.

15

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

Раньше шины были параллельными: много проводов, передача нескольких бит одновременно. Но у параллельных шин есть проблемы.

Параллельные шиныПоследовательные шины Много проводов (широкий кабель)Мало проводов (тонкий кабель) Проблемы синхронизации на высоких частотахНет проблем синхронизации ДорожеДешевле Ограниченная скоростьВысокая скорость
Пример: старый IDE-кабель (параллельный) был широким и неудобным. SATA (последовательный) — тонкий и быстрый. PCI (параллельная) уступила PCI Express (последовательной). Даже USB — последовательная шина, хотя подключает множество устройств.

Вывод: современные шины — последовательные. Они быстрее, дешевле и удобнее. Параллельные шины остались только в старых компьютерах.

16

Что такое прямой доступ к памяти? Зачем он нужен?

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

DMA (Direct Memory Access, «прямой доступ к памяти»)

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

Аналогия: представьте офис.
Без DMA: начальник (процессор) сам носит документы из шкафа (памяти) в копир (устройство). Он тратит на это всё время и не может заниматься другими делами.
С DMA: начальник нанимает курьера (контроллер DMA). Курьер сам носит документы, а начальник занимается важными задачами. Когда курьер закончит — он сообщит.
  • Без DMA процессор тратит время на пересылку каждого байта.
  • С DMA процессор только даёт команду и получает уведомление о завершении.
  • Это ускоряет ввод-вывод и разгружает процессор.

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

17

Принцип работы DMA: контроллер, каналы, запросы

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

Процессор ↔ Контроллер DMA ↔ Устройство
↓
Память
ЭтапЧто происходит 1. ЗапросУстройство просит контроллер DMA передать данные 2. НастройкаПроцессор задаёт адрес, размер, направление 3. ПередачаКонтроллер DMA пересылает данные между устройством и памятью 4. ЗавершениеКонтроллер сообщает процессору о завершении (через прерывание)
Пример: при копировании файла на флешку процессор даёт команду контроллеру DMA: «передай 1 ГБ данных с диска на флешку». Контроллер делает всё сам, а процессор занимается другими задачами. Когда передача завершена, контроллер сообщает процессору через прерывание.
18

Режимы DMA

DMA может работать в разных режимах, в зависимости от задачи.

РежимКак работаетКогда используется Одиночный (Single)Одна передача за раз, процессор ждётМедленные устройства Блочный (Block)Блок данных передаётся целиком, процессор освобождаетсяБыстрые устройства По требованию (Demand)Передача, пока устройство не остановитсяПотоковые данные
Пример: при копировании большого файла используется блочный режим — контроллер DMA передаёт данные блоками, а процессор свободен. При работе с медленным устройством (например, старый принтер) — одиночный режим. При записи видео — режим по требованию.
19

Преимущества DMA

Разгрузка процессора

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

Высокая скорость

  • Контроллер DMA передаёт данные быстрее, чем процессор.
  • Нет накладных расходов на команды.
  • Эффективно для больших объёмов.

Параллелизм

  • Процессор и DMA работают одновременно.
  • Можно передавать данные и считать.

Простота

  • Программисту не нужно управлять каждым байтом.
  • Контроллер делает всё сам.
Пример: при копировании файла на флешку DMA передаёт данные, а процессор продолжает работу. Вы можете смотреть видео, пока файл копируется. Без DMA всё бы «зависло».
20

Недостатки DMA

Недостаток 1: конфликты за шину. Контроллер DMA и процессор могут одновременно обращаться к памяти. Это замедляет работу. Нужен арбитраж (кто главный). Современные системы решают это через приоритеты.
Недостаток 2: сложность. Нужен контроллер DMA, настройка каналов, обработка завершения. Это усложняет систему.
Недостаток 3: безопасность. Устройство с DMA может читать любую память. Это риск. Поэтому в современных системах используют IOMMU (Input-Output Memory Management Unit, «устройство управления памятью ввода-вывода») для изоляции памяти.
Пример: если несколько устройств одновременно используют DMA, они конкурируют за шину. Это может замедлить работу. Современные системы используют арбитраж и IOMMU для решения этих проблем.
21

DMA в современных компьютерах

Современные компьютеры используют продвинутые версии DMA.

ТехнологияЧто делает Bus Mastering («мастер шины»)Устройство само управляет шиной, не мешая процессору IOMMU (Input-Output Memory Management Unit)Изоляция памяти для DMA (защита от вредоносных устройств) Scatter-Gather DMAПередача данных из разных участков памяти за одну операцию RDMA (Remote Direct Memory Access)Удалённый DMA (для сетей и кластеров)
Пример: современная видеокарта использует Bus Mastering DMA для загрузки текстур. Она сама управляет передачей, а процессор занимается игровой логикой. IOMMU защищает память от вредоносных устройств.
22

Пример работы DMA: копирование файла на флешку

Разберём по шагам, как работает DMA при копировании файла.

1. Вы копируете файл
↓
2. Процессор даёт команду контроллеру DMA
↓
3. Контроллер DMA пересылает данные с диска на флешку
↓
4. Процессор получает прерывание о завершении

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

Пример: вы копируете фильм на флешку. DMA передаёт данные, а вы в это время смотрите видео на YouTube. Процессор не «зависает» на копировании.
23

Что такое прерывание? Зачем оно нужно?

Мы разобрали DMA. Теперь разберёмся, как процессор узнаёт о событиях: нажатии клавиши, завершении DMA, приходе сетевого пакета.

Прерывание (Interrupt)

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

Аналогия: вы читаете книгу (процессор выполняет программу). Вдруг звонит телефон (прерывание). Вы кладёте закладку (сохраняете контекст), отвечаете на звонок (обрабатываете прерывание), возвращаетесь к книге с того же места (восстанавливаете контекст).
  • Без прерываний процессор должен был бы постоянно проверять устройства: «Ты готов? А ты? А ты?» — это трата времени.
  • С прерываниями устройство само сообщает: «Я готов!» — процессор реагирует только когда нужно.
  • Это позволяет реагировать на события в реальном времени.

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

24

Типы прерываний

ТипИсточникПример АппаратныеВнешние устройстваКлавиатура, мышь, таймер, сеть ПрограммныеПрограммаСистемные вызовы, ошибки ИсключенияОшибки процессораДеление на ноль, нарушение доступа

Аппаратные

  • Приходят от устройств.
  • Могут быть маскируемыми и немаскируемыми.
  • Обрабатываются драйвером.

Программные

  • Вызываются программой.
  • Используются для системных вызовов.
  • Пример: вывод на экран.

Исключения

  • Возникают при ошибках.
  • Могут быть исправимыми и нет.
  • Пример: деление на ноль.
Пример: нажатие клавиши — аппаратное прерывание. Вызов функции printf — программное прерывание. Деление на ноль — исключение.
25

Контроллер прерываний

Контроллер прерываний — устройство, которое собирает сигналы от разных устройств и передаёт их процессору.

  • PIC (Programmable Interrupt Controller, «программируемый контроллер прерываний») — старый контроллер (8259A). 8 линий, потом 16.
  • APIC (Advanced Programmable Interrupt Controller, «усовершенствованный программируемый контроллер прерываний») — современный контроллер. Больше линий, лучше обработка.
  • Каждое устройство имеет свою линию (IRQ — Interrupt Request, «запрос прерывания»).
  • Контроллер назначает приоритеты.
КонтроллерЛинийОсобенность PIC8–16Устарел, используется в старых ПК APIC24+Современный, многопроцессорный
Пример: когда вы нажимаете клавишу, контроллер прерываний получает сигнал по линии IRQ 1 и передаёт его процессору. Процессор вызывает обработчик прерывания клавиатуры.
26

Векторы прерываний: таблица, приоритеты

Вектор прерывания

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

  • Каждое прерывание имеет свой вектор (номер).
  • Векторы хранятся в таблице (таблица векторов прерываний).
  • Процессор по вектору находит адрес обработчика.
  • Приоритеты определяют, какое прерывание обрабатывать первым.
ВекторУстройствоПриоритет 0ТаймерВысокий 1КлавиатураСредний 2Каскад PIC— 3COM2/COM4Низкий 4COM1/COM3Низкий
Пример: если одновременно пришли прерывания от таймера и клавиатуры, процессор сначала обработает таймер (высокий приоритет), потом клавиатуру.
27

Обработка прерываний

Когда приходит прерывание, процессор выполняет последовательность действий.

1. Завершить текущую команду
↓
2. Сохранить контекст (регистры, счётчик команд)
↓
3. Определить вектор прерывания
↓
4. Вызвать обработчик
↓
5. Восстановить контекст
↓
6. Вернуться к прерванной программе

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

28

Прерывания в реальной жизни

СобытиеПрерываниеЧто делает процессор Нажатие клавишиIRQ 1Читает код клавиши, передаёт программе Движение мышиIRQ 12Читает координаты, двигает курсор Приход сетевого пакетаIRQ сетиПередаёт пакет драйверу Завершение DMAIRQ DMAСообщает программе о завершении ТаймерIRQ 0Обновляет системное время
Пример: вы печатаете текст. Каждое нажатие клавиши вызывает прерывание. Процессор обрабатывает его за микросекунды, и вы этого не замечаете. Если прерывания не успевают обрабатываться — клавиши «залипают».
29

Маскирование прерываний

Маскирование прерываний

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

  • Маскируемые — можно запретить (клавиатура, мышь).
  • Немаскируемые (NMI — Non-Maskable Interrupt, «немаскируемое прерывание») — нельзя запретить (критические ошибки).
  • Маскирование используется в критических секциях кода.
Важно: если маскировать прерывания слишком долго, система может «зависнуть» или пропустить важные события. Поэтому критическая секция должна быть короткой.
Пример: когда драйвер обновляет важные структуры данных, он может временно запретить прерывания, чтобы никто не помешал. Потом разрешает снова.
30

Что такое драйвер? Зачем он нужен?

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

Драйвер (Driver)

Драйвер — это программа, которая позволяет операционной системе работать с устройством. Без драйвера устройство не будет работать.

Аналогия: вы (операционная система) хотите поговорить с иностранцем (устройством). Вы не знаете его языка. Драйвер — это переводчик, который помогает вам общаться.
  • Драйвер знает, как управлять конкретным устройством.
  • Он принимает команды от операционной системы и преобразует их в сигналы для устройства.
  • Он обрабатывает прерывания от устройства.

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

31

Типы драйверов

ТипГде работаетПример Kernel-mode («режим ядра»)В ядре операционной системы (Ring 0)Драйверы дисков, видео User-mode («режим пользователя»)В пользовательском пространствеДрайверы принтеров, USB

Kernel-mode

  • Полный доступ к памяти и оборудованию.
  • Высокая скорость.
  • Ошибка может «уронить» систему.

User-mode

  • Ограниченный доступ.
  • Безопаснее.
  • Медленнее.
Пример: драйвер видеокарты работает в kernel-mode (нужна скорость). Драйвер принтера может работать в user-mode (безопасность важнее скорости).
32

Установка драйверов: порядок, обновление, откат

Драйверы нужно устанавливать, обновлять и иногда откатывать.

ДействиеКак делать УстановкаЧерез «Диспетчер устройств» или установщик с сайта производителя ОбновлениеАвтоматически (Windows Update) или вручную ОткатЧерез «Диспетчер устройств» — вернуть предыдущую версию
Важно: не все драйверы нужно обновлять. Если устройство работает стабильно — не трогайте. Новый драйвер может сломать работу.
Пример: после обновления драйвера видеокарты игры начали «вылетать». Вы откатываете драйвер до предыдущей версии — всё работает снова.
33

Спецификация Plug and Play (P&P)

Plug and Play (P&P, «подключи и играй»)

Plug and Play — это технология автоматической настройки устройств. Вы подключаете устройство — система сама его распознаёт и настраивает.

Аналогия: раньше, чтобы подключить принтер, нужно было вручную настроить порт, прерывание, адрес. С Plug and Play вы просто вставляете кабель — и всё работает. Как USB-флешка: вставил — и она сразу видна.
  • Операционная система автоматически определяет тип устройства.
  • Автоматически выделяет ресурсы (IRQ, адреса, каналы DMA).
  • Автоматически загружает драйвер.
  • Поддерживается в Windows, Linux, macOS.

Зачем нужен Plug and Play: чтобы пользователь не настраивал устройство вручную. Подключил — работает.

34

Как работает Plug and Play

1. Вы подключаете устройство
↓
2. Операционная система обнаруживает новое устройство
↓
3. Читает идентификатор (VID/PID)
↓
4. Ищет драйвер в базе
↓
5. Выделяет ресурсы (IRQ, DMA, адреса)
↓
6. Устройство готово к работе
Пример: вы вставляете USB-мышь. Windows обнаруживает её, читает идентификатор, находит драйвер, выделяет ресурсы. Через секунду мышь работает. Вы ничего не настраивали.
35

Проблемы с драйверами

Проблема 1: конфликт ресурсов. Два устройства претендуют на одно прерывание или адрес. Решение: Plug and Play обычно решает автоматически, но иногда нужно вручную.
Проблема 2: несовместимость. Драйвер не подходит для версии операционной системы. Решение: скачать правильную версию.
Проблема 3: отсутствие драйвера. Устройство не работает без драйвера. Решение: найти драйвер на сайте производителя.
Проблема 4: «синий экран» (BSOD — Blue Screen of Death, «синий экран смерти»). Ошибка в драйвере kernel-mode. Решение: откатить драйвер, обновить, проверить совместимость.
Пример: после установки нового драйвера Wi-Fi ноутбук перестал подключаться к сети. Вы откатываете драйвер через «Диспетчер устройств» — всё работает.
36

Диспетчер устройств: диагностика, обновление

Диспетчер устройств — инструмент Windows для управления драйверами и устройствами.

  • Показывает все устройства.
  • Помечает проблемы (восклицательный знак).
  • Позволяет обновить, откатить, удалить драйвер.
  • Показывает ресурсы (IRQ, адреса).
ЗначокЧто означает Восклицательный знакПроблема с устройством Красный крестУстройство отключено Стрелка внизУстройство отключено вручную
Пример: вы открываете «Диспетчер устройств» и видите восклицательный знак у звуковой карты. Значит, драйвер не установлен или работает с ошибкой. Вы обновляете драйвер — проблема решена.
37

Домашнее задание

Задание 1. Анализ шин компьютера.
Заполните таблицу для вашего компьютера (или учебного):
  • PCI Express x16 — назначение, скорость, устройства.
  • PCI Express x1 — назначение, скорость, устройства.
  • USB 3.0 — назначение, скорость, устройства.
  • SATA III — назначение, скорость, устройства.
  • HDMI — назначение, скорость, устройства.
Задание 2. Анализ DMA.
Опишите, как происходит копирование файла на флешку:
  • Кто инициирует передачу?
  • Кто управляет передачей?
  • Что делает процессор во время передачи?
  • Когда процессор узнаёт о завершении?
Задание 3. Анализ прерываний.
Опишите, что происходит при нажатии клавиши:
  • Какое прерывание возникает?
  • Как процессор узнаёт о нём?
  • Что происходит с текущей программой?
  • Как обрабатывается нажатие?
Задание 4. Работа с драйверами.
Откройте «Диспетчер устройств» в Windows:
  • Найдите устройства с восклицательным знаком.
  • Обновите драйвер для одного устройства.
  • Откатите драйвер (если возможно).
  • Опишите результаты.
38

Тест для самопроверки

Ответьте на вопросы:

  1. Что такое шина?
  2. Чем PCI Express отличается от PCI?
  3. Что такое DMA?
  4. Зачем нужны прерывания?
  5. Какие типы прерываний вы знаете?
  6. Что такое драйвер?
  7. Что такое Plug and Play?
  8. Что такое пропускная способность шины?
  9. Какие шины используются для видеокарт?
  10. Что такое контроллер прерываний?
39

Ответы на тест

ВопросОтвет 1. ШинаКанал передачи данных между компонентами компьютера. 2. PCIe vs PCIPCI Express — последовательная, PCI — параллельная; PCI Express быстрее. 3. DMAПрямой доступ к памяти без участия процессора. 4. ПрерыванияДля реакции на события в реальном времени. 5. Типы прерыванийАппаратные, программные, исключения. 6. ДрайверПрограмма для связи операционной системы с устройством. 7. Plug and PlayАвтоматическая настройка устройств. 8. Пропускная способностьКоличество данных, передаваемых за единицу времени. 9. Шины для видеокартPCI Express x16 (современная), AGP (устаревшая). 10. Контроллер прерыванийУстройство, управляющее прерываниями.
40

Итоги лекции. Спасибо за внимание!

Мы рассмотрели:

  • Что такое шина и зачем она нужна.
  • Классификацию шин: системные, локальные, периферийные.
  • Принцип построения шин: адрес, данные, управление.
  • Шины расширения: PCI, PCI Express, AGP, USB, SATA, Thunderbolt, HDMI.
  • Прямой доступ к памяти (DMA): принцип работы, режимы, преимущества и недостатки.
  • Прерывания: типы, контроллер, векторы, обработка.
  • Драйверы: типы, установка, обновление, откат.
  • Plug and Play: принцип работы, проблемы.

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

Вопросы?

Следующая тема — итоговое занятие и дифференцированный зачёт.

шинаPCI ExpressDMAпрерываниедрайверPlug and Play