OSDev

для всех
Текущее время: 09 май 2024, 13:04

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Карта памяти возвращаемая int 0x15
СообщениеДобавлено: 20 ноя 2010, 19:55 

Зарегистрирован: 16 фев 2010, 22:03
Сообщения: 101
Прерывание int 0x15 имеет функцию 0xE820, которая возвращает карту памяти. У меня возник вопрос: а эта карта ведь где-нибудь хранится? Тогда не лучше было бы не копировать её себе и использовать оригинал? Можно ли универсальным для всех BIOS способом получить адрес карты памяти из памяти BIOS? Или она может генерироваться прямо при вызове int 0x15?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Карта памяти возвращаемая int 0x15
СообщениеДобавлено: 20 ноя 2010, 21:28 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Универсальным для всех BIOS является только код функции. Внутренний формат карты не стандартизирован.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Карта памяти возвращаемая int 0x15
СообщениеДобавлено: 22 ноя 2010, 12:05 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Она даже технически не может быть фиксированной, поскольку объём установленных модулей памяти заранее предсказать нельзя, а на крупных системах нельзя даже гарантировать, что технически адреса ОЗУ будут непрерывными (на обычных-то ПК технически они непрерывны, и дыры возникают исключительно из-за того, что их добавляют чипсеты).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Карта памяти возвращаемая int 0x15
СообщениеДобавлено: 22 ноя 2010, 22:18 

Зарегистрирован: 18 апр 2010, 15:59
Сообщения: 155
Позвольте заметить, что 1) карта памяти может формироваться и размещаться в ОЗУ BIOS-ом системы во время POST.
2) Сама организация карты памяти предполагает прерывистость адресного пространства, так как она описывает память как набор диапазонов определенных типов.
3) Поскольку в ней используется 64-битная адресация, ее можно описывать ну очень большие объемы памяти.

А по существу, месторасположение карты памяти в ОЗУ не стандартизировано, более того она может храниться не в ОЗУ, а в CMOS и прочих модулях памяти. Поэтому, если вы хотите сделать ОС хотя бы минимально переносимой, то используйте прерывания, если нет - можете попытаться найти карту памяти в ОЗУ и использовать ее напрямую.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 103


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB