Если я установлю значение swappiness на 100 и попытаюсь загрузить установленный жесткий диск Ubuntu на компьютер моего друга, на котором нет оперативной памяти, могу ли я вообще загрузить компьютер без Ram?
Если я установлю значение swappiness на 100 и попытаюсь загрузить установленный жесткий диск Ubuntu на компьютер моего друга, на котором нет оперативной памяти, могу ли я вообще загрузить компьютер без Ram?
Ответы:
Нет. Процессор не может выполнить код из свопинга. Обмен выполняется путем перемещения содержимого ОЗУ на диск и другого содержимого диска в ОЗУ, но выполнение всегда выполняется из ОЗУ.
И нет, нет способа перенести код или данные с диска непосредственно в кэш процессора. Вы не можете обойти RAM.
Даже микроконтроллерным архитектурам, которые могут выполнять код непосредственно из NOR-флеш-памяти, требуется ОЗУ для стека, по крайней мере, некоторые встроенные SRAM, как у некоторых контроллеров.
/electronics//a/311839/111920 содержит ссылку http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2 которая описывает Процесс загрузки современного процессора Intel в мучительных деталях.
TL; DR: Нет. Во время загрузки действительно существует фаза, когда микросхемы ОЗУ не используются, и процессор работает только со своим внутренним кешем, выполняющим роль временного ОЗУ. Но это очень рано в процессе загрузки BIOS, и одна из первых вещей, которые делает BIOS, - это инициализация RAM, чтобы иметь возможность использовать ее. Работающий там машинный код очень специализированный, очень ручной.
После этого самого раннего этапа оперативная память необходима для всего. Это означает, что вы даже не сможете войти в BIOS, получить видеосигнал или намного меньше загружаться с любого носителя без ОЗУ.