Даже не знаю в какой раздел поместить данную тему. Вот решил сюда.
Тут такой вопрос, как мне определить количество установленной физической памяти на машине?
Считывание значения по адресу (в реальном режиме) 0040:0016 (сильно не пинайте, сейчас точно не помню точный адрес, по этому могу и ошибаться) слова, у меня на машине показывает 614 Кбайт, что соответственно не правда. Хотя BIOS как то определяет размер физической памяти. Может кто знает, по какому адресу он размещает данное значение.
Определение количества физической памяти
Модератор: Модераторы разделов
-
Voice
- Сообщения: 1073
- Статус: столлманист
- ОС: Debian GNU/Linux
Re: Определение количества физической памяти
Код: Выделить всё
[user@ucr1 ~] $ cat /proc/meminfo
MemTotal: 508436 kB
MemFree: 7984 kB
Buffers: 73848 kB
Cached: 217020 kB
SwapCached: 48 kB
Active: 305620 kB
Inactive: 145372 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 508436 kB
LowFree: 7984 kB
SwapTotal: 2104472 kB
SwapFree: 2104424 kB
Dirty: 28 kB
Writeback: 0 kB
Mapped: 239800 kB
Slab: 36324 kB
CommitLimit: 2358688 kB
Committed_AS: 507976 kB
PageTables: 2116 kB
VmallocTotal: 516088 kB
VmallocUsed: 13880 kB
VmallocChunk: 499520 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 4096 kB
[user@ucr1 ~] $А, стоп. Вам в реальном режиме?
Поищите на форуме osdev.org, там такие вопросы решают.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
М. В. Ломоносов
-
Zeus
- Сообщения: 694
Re: Определение количества физической памяти
А что, количество физической памяти может изменяться в реальном режиме?
-
Serg79
- Сообщения: 153
-
red_dragon
- Сообщения: 435
- Статус: Ленивый энтузиаст
- ОС: F12 x86_64
Re: Определение количества физической памяти
Видимо Zeus не совсем понял(или не знает), что такое "реальный режим".
|^^^^^^^^^^^|______
|_____ПИВО_____|','''|'''''''''\____,,
|_______________| _|'____|____|
*'(@)'(@)'''''''|(@)(@)******|(@)*
|_____ПИВО_____|','''|'''''''''\____,,
|_______________| _|'____|____|
*'(@)'(@)'''''''|(@)(@)******|(@)*
-
Zeus
- Сообщения: 694
Re: Определение количества физической памяти
А-а, блин, вы вон об чём!
Я-то подумал, что в процессе работы системы
Я-то подумал, что в процессе работы системы
-
Serg79
- Сообщения: 153
Re: Определение количества физической памяти
Мне тут подсказали, что можно просканировать всю физическую память и вычислить ее размер, что то типа такого:
Мне вот интересно, как BIOS определяет доступную физическую память, а также память выделенную под графический видеоадаптер? При старте машины он все эти значения высвечивает на консоле. А также он должен где то сохранить эти данные, вот только где он их сохраняет я не знаю.
Код: Выделить всё
/* отправляем в память тестовое значение */
xchgl %eax, (%edi)
/* получаем его обратно */
xchgl (%edi), %eax
/* если значение изменилось, значит память закончилась */Мне вот интересно, как BIOS определяет доступную физическую память, а также память выделенную под графический видеоадаптер? При старте машины он все эти значения высвечивает на консоле. А также он должен где то сохранить эти данные, вот только где он их сохраняет я не знаю.
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: Определение количества физической памяти
Zeus, количество физической памяти может меняться во время работы. На особом железе. Можно поковыряться в опциях Linux (ядра), там включается поддержка этого.