Задать вопрос
Ответы пользователя по тегу Операционные системы
  • Как использовать C++ с FASM?

    @none7
    Даже не мечтай сделать бутлоадер на C++, это невозможно. Если не хочешь возиться с Ассемблером, то просто возьми GRUB, он легко умеет запускать бинарники ELF генерируемые gcc. Так же C++ является очень зависимым от окружения языком. Кто-то должен обеспечить ему реализацию operator new, operator delete, а так же различные функции связанные с обработкой исключений. Такой код зачастую не может быть использован в ядре за исключением кода, который можно вытеснить в область приложений.
    Что до того как повторить GRUB, смотри исходники GRUB.
    Ответ написан
    Комментировать
  • Как реализовать управление памятью в ядре?

    @none7
    Процессоры x86-64 могут адресовать 256Тб виртуальной памяти. Будет ли оптимальным полный перебор всех блоков по 4к? Будет ли вообще приемлемо хранить информацию о каждом 4к блоке каждого процесса, при таком объёме виртуально памяти у каждого? Очевидно, что таблица свободных блоков проиндексированная по размеру необходима. Windows кстати во избежание разрастания этих таблиц выделяет виртуальную память блоками по 64к.
    Обычно выделением виртуальной памяти под переменные занимается куча(heap), а приложению отдаёт память сколько попросят, независимо от размера блока виртуальной памяти. Естественно, что первое выделение не меньше одной страницы.
    Ответ написан
    Комментировать