Уровни вычислительной системы

⏱ 30 мин · 🧩 заданий: 4

Многоуровневая модель

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

┌──────────────────────────────────────────────────────────┐ │ 5. ПРИКЛАДНЫЕ СИСТЕМЫ │ │ браузер, офис, СУБД, DNS-сервер bind, веб-сервер, │ │ утилиты администратора (fdisk, ls, ps) │ ├──────────────────────────────────────────────────────────┤ │ 4. СИСТЕМЫ ПРОГРАММИРОВАНИЯ │ │ компиляторы, ассемблер, компоновщик, загрузчик, │ │ библиотеки, отладчик, make, ldd │ ├──────────────────────────────────────────────────────────┤ │ 3. УПРАВЛЕНИЕ ЛОГИЧЕСКИМИ РЕСУРСАМИ ┐ │ │ процессы, файлы, каталоги, виртуальная │ │ │ память, сокеты, /proc │ ядро ОС │ ├──────────────────────────────────────────────┤ │ │ 2. УПРАВЛЕНИЕ ФИЗИЧЕСКИМИ РЕСУРСАМИ │ │ │ драйверы, прерывания, физическая память │ │ │ (кадры), таблицы страниц, страничный демон┘ │ ├──────────────────────────────────────────────────────────┤ │ 1. АППАРАТНЫЙ УРОВЕНЬ │ │ процессор и его регистры (cr3), MMU, TLB, RAM, диски │ └──────────────────────────────────────────────────────────┘

Уровни 2 и 3 вместе — это операционная система (её ядро).

Что на каждом уровне

1. Аппаратный уровень

Всё, что реализовано «в железе»: процессор с регистрами, MMU (блок трансляции адресов), TLB, контроллеры прерываний, память, устройства. Сюда относится регистр cr3 в i386: он хранит физический адрес каталога страниц текущего процесса, и MMU берёт его оттуда при каждом обходе таблиц.

2. Управление физическими ресурсами

Часть ядра, которая работает непосредственно с аппаратурой:

  • драйверы устройств и обработчики прерываний;
  • распределение физической памяти (кадров);
  • таблицы страниц — структуры, которые ядро заполняет, а MMU читает;
  • страничный демон (в Linux — поток ядра kswapd) — освобождает кадры, выгружая страницы.

3. Управление логическими ресурсами

Часть ядра, которая предлагает абстракции: процессы, файлы и каталоги (через VFS), виртуальное адресное пространство, сокеты. Псевдофайловая система /proc — тоже логический ресурс: «файл» /proc/cpuinfo не лежит на диске, ядро генерирует его текст при чтении.

4. Системы программирования

Всё, что нужно, чтобы создавать и запускать программы: компиляторы, ассемблер, компоновщик, динамический загрузчик ld-linux.so, стандартные библиотеки, отладчики, make, ldd.

5. Прикладные системы

Программы, решающие задачи пользователя: браузер, СУБД, DNS-сервер bind, веб-сервер. Утилиты администрирования (fdisk, mount, ps) — тоже обычные программы режима пользователя, которые пользуются интерфейсом ядра.

Как определять уровень

Задайте себе три вопроса:

  1. Это «железо» или программа? Регистр, TLB, MMU — аппаратура.
  2. Если программа — где выполняется: в ядре или в пространстве пользователя? Код ядра — уровни 2–3; процессы — уровни 4–5.
  3. С какими сущностями работает? С физическими (кадры, устройства, прерывания) — уровень 2; с абстракциями (файлы, процессы) — уровень 3; с программами (компиляция, компоновка, загрузка) — уровень 4; с задачами пользователя — уровень 5.

Ответ поясните

В задаче 2 сказано: «если к нескольким — перечислите все» и «ответ поясните». Баллы ставят за рассуждение. Хороший ответ: «Таблица страниц — уровни 1 и 2: это структура данных ядра (подсистема управления физической памятью заполняет её при страничных отказах и fork), а аппаратура — MMU — читает её при каждой трансляции адреса, если в TLB нет нужной записи».

Разбор восьми компонентов из экзамена

Компонент Уровень Почему
fdisk прикладной (утилита администратора) процесс пользователя; читает и пишет таблицу разделов через файл блочного устройства /dev/sda, то есть пользуется услугами ядра
ldd системы программирования показывает разделяемые библиотеки программы и где их найдёт динамический загрузчик — понятия компоновки
/proc/cpuinfo управление логическими ресурсами (+ отражает аппаратуру) псевдофайл procfs: ядро генерирует содержимое при чтении; сведения — об аппаратуре процессора
таблица страниц аппаратура + управление физическими ресурсами ядро заполняет, MMU обходит при промахе TLB
инвертированная таблица страниц управление физическими ресурсами (+ аппаратура на некоторых архитектурах) по одной записи на физический кадр: какая страница какого процесса в нём лежит; на PowerPC её (хешированную) просматривает аппаратура
страничный демон управление физическими ресурсами поток ядра: следит за числом свободных кадров, выгружает страницы, использует биты A и D
DNS-сервер bind прикладные системы обычный сетевой сервер в пространстве пользователя
регистр cr3 аппаратура (загружается ядром) регистр процессора с адресом каталога страниц; ядро переписывает его при переключении контекста, при этом сбрасывается TLB
А если преподаватель использует модель из 4 уровней?

Иногда используют упрощённую модель: аппаратура → ядро ОС → системное ПО (утилиты, библиотеки, компиляторы) → прикладное ПО. Тогда:

  • fdisk, ldd — системное ПО;
  • /proc/cpuinfo, таблицы страниц, страничный демон — ядро (таблицы страниц и cr3 — ещё и аппаратура);
  • bind — прикладное ПО.

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

Итог

  • Уровни: аппаратура → управление физическими ресурсами → управление логическими ресурсами → системы программирования → прикладные системы.
  • Уровни 2–3 — ядро ОС.
  • Компонент может относиться к нескольким уровням: таблица страниц — ядро и аппаратура.
  • На экзамене главное — объяснение: кто выполняет и с какими сущностями работает.

Практика решено 0 из 4

Вы не вошли — ответы проверяются, но прогресс не сохранится. Войти или зарегистрироваться.
Задание 1 Расставить по порядку

Расположите уровни вычислительной системы снизу вверх:

  1. Программное обеспечение управления физическими ресурсами
  2. Программное обеспечение управления логическими ресурсами
  3. Прикладные системы
  4. Аппаратный уровень
  5. Системы программирования
Задание 2 Заполнить таблицу

Отнесите компоненты к уровням вычислительной системы (это задача 2 экзамена). Отметьте все подходящие уровни. В спорных ячейках принимается любой ответ — главное уметь объяснить.

АппаратураУпр. физическими ресурсами (ядро)Упр. логическими ресурсами (ядро)Системы программированияПрикладные системы
fdisk
ldd
/proc/cpuinfo
таблица страниц
инвертированная таблица страниц
страничный демон
DNS-сервер bind
регистр cr3 (i386)
Отметьте ячейку — «+», пустая — «−».
Задание 3 Один вариант ответа

Почему таблицу страниц относят сразу к двум уровням?

Задание 4 Несколько вариантов

Что относится к системам программирования?

Войдите, чтобы отмечать пройденные уроки.