This commit is contained in:
roma-dxunvrs
2026-09-07 08:24:01 +03:00
parent 4fabe16272
commit 04fc7af4f4
16 changed files with 711 additions and 70 deletions
@@ -0,0 +1,31 @@
Уровни абстракции для электронно-вычислительной системы:
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