Files
obsidian/Computer Science/Уровни компьютерных систем.md
T
roma-dxunvrs 04fc7af4f4 Weekends
2026-09-07 08:24:01 +03:00

2.5 KiB

Уровни абстракции для электронно-вычислительной системы:

  1. Application Software - Программы
  2. Операционные системы - Драйверы устройств
  3. Архитектура - Регистры инструкций
  4. Микро-архитектура - Контроллеры/Каналы передачи данных
  5. Логика - Сумматоры/Память
  6. Цифровые схемы - AND вентили, NOT вентили
  7. Аналоговые схемы - Усилители/Фильтры
  8. Устройства - Транзисторы/Диоды
  9. Физика - Электроны

Уровни:

  1. скрывают детали нижележащего
  2. навязывают ограничения вышележащему свои

Уровни абстракции можно ломать (например в программе на C делать ассемблерные вставки)

Уровни влияют на индустрию - на каждый/несколько уровней свои специалисты/компании

Формирование уровней

Уровни формируются вычислительными платформами Уровень = Языки + Типы + Экземпляры + Шаблоны

  • Языки (Languages) - на чем описываем/пишем
  • Типы (Types) - предопределенные платформой абстракции и структуры данных
  • Экземпляры (Instances) - готовые, предопределенные платформой объекты и компоненты
  • Шаблоны (Patterns) - связывают языки, типы и экземпляры, задают повторяемые решения

Шаблоны

Механизмы повторяются на разных уровнях - одни и те же идеи

  • Сторожевые таймеры - микроконтроллеры, OC/гипервизоры, оркестраторы
  • Кеши и когерентность - CPU, OC (page cache), диски, CDN, браузер
  • Прерывания и события - аппартные IRQ, сигналы OC, event loop, message queue
  • Системы команд - ISA процессора, байткод виртуальных машин (JVM, CLR), API/протоколы (свой Language на каждом уровне), DSL