Re: Откуда такая неизбывная приверженность к константам?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 19.10.24 14:11
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Сперва были и 640 кб доступной обычной памяти,


Я плохо представляю себе процессор (особенно в то время) с неограниченными размерами адресных регистров и количеством проводов на внешней шине.

А если мы имеем 20 бит, то потеря примерно половины из них на разные ROM, I/O и прочее — вполне естественна.

EM> и жестко заданные адреса областей внешних устройств, хотя все это можно было запихать в BIOS, и возвращать конкретные адреса по запросам.


Хм, а то, что BIOS запускался с опять же константного адреса F000:FFF0, ты уже не считаешь? Что IDT реального режима сидела по адресу 0:0?

Там местами, конечно, злоупотребляли фиксацией типа "MDA память на 0xB80000", но конфликты происходили в других местах.

Я не вижу твёрдых причин делать эти параметры переменными и требовать извлекать из какого-то справочника, если нет нескольких таких устройств (ресурсов, в общем случае). Там, где было (как компорты, в количестве от 1 до 8), BIOS таки давал такие данные по запросу.

Всегда есть какие-то постоянные параметры. Начиная с кодов команд процессора

EM> Затем в 32-разрядной винде было 2+2 Гб, которые героическими усилиями переделали в 3+1.


Эта переделка вообще потребовалась, потому что на 64 бита не успели быстро перейти. В остальном от неё проблем больше, чем пользы.

EM> В 64-разрядной винде снова 8+8 Тб. Сейчас читаю про макось — и там тоже сплошные явно определенные константы.


ЕМ>Это что-то вроде профессионального бега по граблям, или действительно есть серьезная необходимость изначально задавать эти адреса/размеры глобальными константами вместо того, чтобы определить их только внутри ядра, а всем внешним модулям (даже драйверам и системным службам) возвращать конкретные значения исключительно по запросам)?


Я не знаю, почему 8TB в винде. Но предполагаю, что это просто отражает некий порог, переход за который будет означать скачок в потреблении ресурсов, и этот скачок пока не оправдан.

Вот ещё вопрос: а то, что в автомобиле конкретные габариты и диаметр колёс, ты тоже будешь считать неоправданно зафиксированной константой?
А питающее напряжение в электросети?
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.