Многотерминальный принцип

This commit is contained in:
2026-06-14 03:44:00 +03:00
parent 171c45df8b
commit 7203572717
+12 -12
View File
@@ -6,9 +6,9 @@ AtlasOS использует следующие компоненты Barotrauma
| Компонент | Кол-во | Назначение | Ёмкость / пины | Примечание | | Компонент | Кол-во | Назначение | Ёмкость / пины | Примечание |
|---|---|---|---|---| |---|---|---|---|---|
| **MicroLua** | 3 (+5 резерв) | **IOC, CMC, MMC** | 32 in / 32 out | контроллеры блоков | | **MicroLua** | n+2 (+резерв) | **TBC (n шт.), CMC, MMC** | 32 in / 32 out | по одному TBC на терминал + центральные CMC/MMC |
| **Memory** | n (≥2) | сегменты **SEG0..SEGn** | 4096 символов UTF-8 | хранилище | | **Memory** | n (≥2) | сегменты **SEG0..SEGn** | 4096 символов UTF-8 | хранилище |
| **Terminal / Display** | n | экраны | — | по одному IOC на терминал, login/logout per-terminal | | **Terminal / Display** | n | экраны | — | по одному TBC на терминал (изоляция сессий) |
Дополнительно: Дополнительно:
@@ -19,9 +19,9 @@ AtlasOS использует следующие компоненты Barotrauma
| Контроллер | Роль | Входы (примеры) | Выходы (примеры) | | Контроллер | Роль | Входы (примеры) | Выходы (примеры) |
|---|---|---|---| |---|---|---|---|
| **IOC** (n шт.) | терминал + login | in1 = ввод строки | out1 = текст, out2 = clear, out3 = цвет | | **TBC** (n шт.) | изоляция терминала, login/logout, сессия | ввод с терминала | команды к CMC, вывод на терминал |
| **CMC** (1) | центральный CPU, shell | сообщения от IOC | команды к IOC и MMC (однонаправленно) | | **CMC** (1) | центральный CPU — только предопределённые команды | сообщения от TBC | команды к TBC и MMC |
| **MMC** (1) | MMU + inode-ФС | ответы от SEG | WE/RD/DATA к сегментам | | **MMC** (1) | MMU + inode-ФС | запросы от CMC | операции с SEG |
Оставшиеся до 5 контроллеров: Оставшиеся до 5 контроллеров:
@@ -42,10 +42,10 @@ AtlasOS использует следующие компоненты Barotrauma
## 4. Физическая топология (схема пинов) ## 4. Физическая топология (схема пинов)
``` ```
Терминал 1 IOC1 Терминал 2 IOC2 Терминал 1 TBC1 Терминал 2 TBC2
┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
│экран │◀──────│out1-3 │ │экран │◀──────│out1-3 │экран │◀──────│ │ │экран │◀──────│
│ввод │──────▶│in1 │ │ввод │──────▶│in1 │ввод │──────▶│ │ │ввод │──────▶│
└────────┘ └────▲───┘ └────────┘ └────▲───┘ └────────┘ └────▲───┘ └────────┘ └────▲───┘
│ │ │ │
└──────────────┬─────────────────┘ └──────────────┬─────────────────┘
@@ -66,10 +66,10 @@ AtlasOS использует следующие компоненты Barotrauma
└───────┘ └───────┘ └───────┘ └───────┘ └───────┘ └───────┘ └───────┘ └───────┘
``` ```
- Сигналы **только** `in → out` (никаких bidirectional пинов между контроллерами). - Сигналы **только** `in → out`.
- Каждый терминал имеет свой IOC — отдельная сессия + login/logout. - На каждый терминал свой **TBC** (изоляция, login/logout, user context).
- CMC — единственный исполнитель команд (центральный CPU). - Один **CMC** — центральный исполнитель всех предопределённых команд.
- MMC — единственный доступ к памяти. - Один **MMC** доступ к памяти и ФС.
См. детальную организацию пинов и протокол в `02-bus-protocol.md`. См. детальную организацию пинов и протокол в `02-bus-protocol.md`.