01.01.2022 0:28, sp...@itl.ua пишет: > 31 декабря 2021 г., 18:49, "Eugene Grosbein" <eu...@grosbein.net> написал: > >> 31.12.2021 23:00, sp...@itl.ua пишет: >> >>> 31 декабря 2021 г., 17:53, "Anton Saietskii" <vsasja...@gmail.com >>> <vsasja...@gmail.com?to=%22Anton%20Saietskii%22%20<vsasja...@gmail.com>>> >>> написал: >>> >>> *без сарказма* Я вот не помню -- а кто-то обещал, что там будет видна вся >>> память? >>> >>> Мне - нет :) >>> Но на другом ноутбуке в этом месте показывается около 2G (столько и есть) >>> >>> А что тогда значит это второе число? (631kB/523264kB) >> >> Когда загрузчик определяет, сколько памяти ему можно использовать >> под свою работу (в частности, для malloc), он использует сервис BIOS для >> этого: >> >> https://wiki.osdev.org/Detecting_Memory_(x86)#Detecting_Upper_Memory >> >> Так как BIOS резервирует часть адресного пространства для различных >> устройств, >> то оставшаяся доступная память может быть разбита на "сегменты" разного >> размера. >> >> Для упрощения кода загрузчик ищет непрерывный сегмент подходящего размера. >> Обычно это сегмент, который начинается со второго мегабайта, то есть с начала >> Extended memory в терминах MS-DOS. >> >> Второе число это размер найденного сегмента, в котором будет располагатся, >> в частности, "куча" загрузчика (heap/malloc). > > Агаааа, вот оно что. > А в dmesg.boot сообщения между real memory и available memory - это этот же > список > доступных сегментов?
В основе наверняка да, но в dmesg.boot идут сообщения от ядра, а не загрузчика и теоретически возможны некоторые расхождения, потому что BIOS может показывать сегменты разных типов, не только доступных для использования непосредственно, так что загрузчик/ядро могут не одинаково к ним относиться. > Интересно, почему мой биос подробил память аж на 6 кусков (в вашем примере > всего 3). Потому что железо другое. _______________________________________________ freebsd mailing list freebsd@uafug.org.ua http://mailman.uafug.org.ua/mailman/listinfo/freebsd