Yoda писал(а):
К сожалению, не знаю. С Ваксами имел дело исключительно на прикладном уровне, не на системном. Это надо узнавать у Дэвида Катлера
А я помню, что это единственное, что мне откровенно не понравилось в VAXовской архитектуре -- как-то притянуто за уши показалось, причём без всякой нужды...
Цитата:
phantom-84 писал(а):
Мы уже много раз об этом говорили. При размещении ядра вверху значительно проще менять баланс между размерами прикладного пространства и пространства ядра.
Ничуть не бывало. Это по большей части религиозно-политический вопрос, сродни войнам тупоконечников с остроконечниками. В нормально спроектированной системе (релокируемый код, макроопределения, настраиваемые таблицы адресов функций...) баланс нормально соблюдается и в top-half и в bottom-half ядре. Лично я располагаю ядро внизу по той причине, что самостоятельно инициализирую всё через BIOS с использованием первого мегабайта, а в дальнейшем оставляю все адреса на своих местах.
А у меня ядро может быть вообще где угодно -- иначе на АРМах нормальной жизни не будет. Например, у одних по нулевым адресам лежит встроенная флэш-память, а её не хочется каждый раз переписывать, отлаживая систему, и поэтому грузишь её в ОЗУ куда-то повыше. Ну а у других там именно ОЗУ, ну и т.д.
Цитата:
Речь идёт о виртуальном адресном пространстве? Если да, то не пойму, в чём проблема, ведь в long mode BIOS не может быть использован, а следовательно на его адреса можно спокойно мапировать свободные страницы памяти. То же самое касается и видео-БИОСа. А видео-буфер может быть мапирован на любой адрес. Таким образом, стек можно без опаски опускать вплоть до нуля.
Точно нельзя использовать вообще? Не только классический BIOS, но и UEFI? А то я в современных ПКшных реалиях плаваю...