Weekends
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user