Я пишу операционную систему, и мне нужен адрес, где значение NULL. Я думал о действительно большом адресе, но использует ли BIOS первый байт в памяти? Мое ядро не будет использовать его ни для чего, кроме константы char NULL, поэтому я думал, что первый байт не может быть использован, где может быть действительно большой адрес, если вам нужно выделить много памяти.Что такое первый байт в памяти?
-3
A
ответ
1
В режиме реального времени x86 для нижнего 0x400 байтов используется для таблицы векторов прерываний. Вы можете прочитать о IVT по телефону wiki.
Вы можете объявить константу, значение которого находится в вашем образе ядра NULL:
const char *null_var = NULL;
Так выделить память и хранить NULL. Или посмотрите руководства для любой архитектуры, на которую вы пытаетесь написать ОС, и посмотрите, существует ли существующее место, где ваша ОС захочет хранить нулевые байты. IDK, почему вы думаете, что хотите этого, но я боюсь даже спросить об этом. –