OSFree Initial memory map
Начальная карта памяти
Стандартный ПК имеет следующую карту памяти:
| Адреса | Название | Описание |
|---|---|---|
| 0x000000-0x09FFFF | Обычная память | ОЗУ, которое может использоваться пользователем |
| 0x0A0000-0x0BFFFF | Видеопамять | ОЗУ, используемое видеоадаптером |
| 0x0C0000-0x0CFFFF | ROM адаптеров | ПЗУ, используемое различными адаптерами |
| 0x0D0000-0x0DFFFF | Страничный фрейм | ОЗУ, используемое для отображения Expanded-памяти |
| 0x0E0000-0x0FFFFF | BIOS | ПЗУ BIOS ПК |
Обычная память
Обычная память отображается следующим образом:
| Адреса | Название | Описание |
|---|---|---|
| 0x000000-0x0003FF | Векторы прерываний | Эта память используется для управления прерываниями |
| 0x000400-0x0004FF | Область данных BIOS | Используется ROM BIOS |
После POST BIOS
| Адреса | Название | Описание |
|---|---|---|
| 0x000000-0x0003FF | Векторы прерываний | Эта память используется для управления прерываниями |
| 0x000400-0x0004FF | Область данных BIOS | Используется ROM BIOS |
| 0x000500-0x007BFF | Свободно | Свободная, неиспользуемая память |
| 0x007C00-0x007DFF | MBR | |
| 0x007E00-0x09FFFF | Свободная обычная память | ОЗУ, которое может использоваться пользователем |
| 0x0A0000-0x0BFFFF | Видеопамять | ОЗУ, используемое видеоадаптером |
| 0x0C0000-0x0CFFFF | ROM адаптеров | ПЗУ, используемое различными адаптерами |
| 0x0D0000-0x0DFFFF | Страничный фрейм | ОЗУ, используемое для отображения Expanded-памяти |
| 0x0E0000-0x0FFFFF | BIOS | ПЗУ BIOS ПК |
После MBR
Эта информация верна для нашего MBR.
| Адреса | Название | Описание |
|---|---|---|
| 0x000000-0x0003FF | Векторы прерываний | Эта память используется для управления прерываниями |
| 0x000400-0x0004FF | Область данных BIOS | Используется ROM BIOS |
| 0x000500-0x0005FF | Свободно | Свободная, неиспользуемая память |
| 0x000600-0x0007FF | MBR | Главная загрузочная запись (Master Boot Record) |
| 0x000800-0x007BFF | Свободно | Свободная, неиспользуемая память |
| 0x007C00-0x007DFF | Загрузочная запись | Загрузочная запись, загруженная из загрузочного сектора активного раздела |
| 0x007E00-0x007FFF | Рабочая область MBR | Эта область использовалась как рабочая область MBR |
| 0x008000-0x09FFFF | Свободная обычная память | ОЗУ, которое может использоваться пользователем |
| 0x0A0000-0x0BFFFF | Видеопамять | ОЗУ, используемое видеоадаптером |
| 0x0C0000-0x0CFFFF | ROM адаптеров | ПЗУ, используемое различными адаптерами |
| 0x0D0000-0x0DFFFF | Страничный фрейм | ОЗУ, используемое для отображения Expanded-памяти |
| 0x0E0000-0x0FFFFF | BIOS | ПЗУ BIOS ПК |
После загрузочной записи
Эта информация верна для нашего загрузочного сектора.
| Адреса | Название | Описание |
|---|---|---|
| 0x000000-0x0003FF | Векторы прерываний | Эта память используется для управления прерываниями |
| 0x000400-0x0004FF | Область данных BIOS | Используется ROM BIOS |
| 0x000500-0x0005FF | Свободно | Свободная, неиспользуемая память |
| 0x000600-0x0007FF | MBR | Главная загрузочная запись (Master Boot Record) |
| 0x000800-0x007BFF | Свободно | Свободная, неиспользуемая память |
| 0x007C00-0x007DFF | Загрузочная запись | Загрузочная запись, загруженная из загрузочного сектора активного раздела |
| 0x007E00-0x007FFF | Рабочая область загрузочной записи | Эта область использовалась как рабочая область загрузочной записи |
| 0x008000-(MuFSDStart-1) | Свободно | Свободная, неиспользуемая память |
| MuFSDStart-MuFSDEnd | MicroFSD | Код MicroFSD/BlackBox |
| (MuFSDEnd+1)-0x09FFFF | Свободная обычная память | ОЗУ, которое может использоваться пользователем |
| 0x0A0000-0x0BFFFF | Видеопамять | ОЗУ, используемое видеоадаптером |
| 0x0C0000-0x0CFFFF | ROM адаптеров | ПЗУ, используемое различными адаптерами |
| 0x0D0000-0x0DFFFF | Страничный фрейм | ОЗУ, используемое для отображения Expanded-памяти |
| 0x0E0000-0x0FFFFF | BIOS | ПЗУ BIOS ПК |
MuFSDStart = 0x008000 или 0x090000. Сейчас мы используем 0x090000, как это делает LILO, но есть план использовать 0x008000 для более компактного повторного использования памяти и меньшей вероятности перекрытия.
MuFSDEnd = (0x008000 + длина_файла_MicroFSD - 1).
После MicroFSD/BlackBox
Карта памяти после работы MicroFSD/BlackBox известна через структуру MemoryMap.
После FreeLDR
Карта памяти после работы FreeLDR известна через блок Multiboot Information.
После L4Ka::Kickstart
Карта памяти после работы L4Ka::Kickstart известна микроядру через Kernel Interface Page. Другие задачи имеют доступ к памяти через сервер sigma0. Начиная с этого момента все операции с памятью контролируются микроядром L4.
| OSFree | ||
|---|---|---|
| osFree | Архитектура • План работ • Компоненты • Используемые проекты • Связанные проекты • Экраны • FreePM • L4 • Скриншоты | |
| Загрузчик | [ Последовательность загрузки: поток выполнения • изменение карты памяти ] • Загрузочный сектор • L4Ka::Kickstart | |
| Personalities | OS/2 personality | VIO API • FamilyAPI |
| Win16 personality | Win16API | |
| MVM | MVM API | |
| Разработка | Получение исходных кодов • Сборка • Отладка • Отправка отчетов | |
| API | TPCrt | |
| Сообщество | IRC • Новости проекта | |
| OS/2 | Presentation Manager • IFS • Петиции к IBM | |
| Статьи | Микроядро L4 как основа ядра ОС | |
| Родственные проекты | os2host32 • NeptuneOS | |
