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 | Win16 personality • MVM/DOS/Win16 personality |
| Разработка | Получение исходных кодов • Сборка • Отладка • Отправка отчетов |
| API | TPCrt • FamilyAPI • Win16API • VIO API • MVM API |
| Сообщество | IRC |
| OS/2 | Presentation Manager • IFS • Петиции к IBM |