OSFree Initial memory map

Материал из Русский WINE
Перейти к: навигация, поиск

Начальная карта памяти

Стандартный ПК имеет следующую карту памяти:

Адреса Название Описание
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
Search.png
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