77

Есть ли ОС, которую можно использовать без оперативной памяти, в частности, такую, на которой я могу создать загрузочный pendrive и использовать его на компьютере? Это становится неловко, поскольку загрузка по сути загружает ОС в ОЗУ.

Примечание. Изначально я хотел узнать об ОС без оперативной памяти, чтобы проверить, не испортился ли мой ноутбук (который не загружается, но отображает пустой экран), но мне нравится, как этот вопрос возник в виде снежного шара.

12 ответов12

96

Каждой ОС нужна оперативная память?
Для IBM PC-совместимого оборудования обязательным этапом процесса BIOS POST является проверка наличия ОЗУ для загрузки BIOS. При желании процесс POST проверяет правильность работы вашей оперативной памяти. После процесса POST BIOS загружает загрузчик в ОЗУ и передает управление загрузчику. Итак, ответ на ваш вопрос («Нужна ли каждая ОС оперативная память?") есть: да, каждому IBM-совместимому оборудованию для загрузки требуется хотя бы некоторое количество оперативной памяти.Это верно для любой ОС, которая работает на этом оборудовании.

Обратите внимание, что в первоначальном вопросе OP была ссылка на "ноутбук", который я интерпретировал как: IBM PC совместимое оборудование. В оставшейся части этого ответа я буду использовать IBM PC-совместимое оборудование.

Может ли ОС загружаться с неисправной оперативной памятью?
Если у вас ОЗУ неисправно (и не полностью отсутствует / сломано) или если вы можете (частично) заменить ОЗУ, вы можете загрузиться с помощью исправлений ядра BadRAM of BadMEM. Это требует, чтобы вы перекомпилировали ядро (звучит легче, чем если вы делаете это впервые), и вы можете перезагрузить компьютер и сообщить ядру, где находится ваша плохая память. Хорошее объяснение использования Memtest86 / Memtest86+, BadRAM / BadMEM можно найти здесь.

Может ли ОС загружаться без ОЗУ и использовать кэш процессора в качестве ОЗУ?
Насколько я знаю, нет никакого способа использовать кэш вашего ЦП в качестве ОЗУ без какой-либо ОЗУ, присутствующей в вашей системе (как предлагает @philipp и другие) в комментариях. Если есть, было бы неплохо добавить его сюда. Единственный документ, который я смог найти по этому вопросу, - это документ, в котором говорится: «Использование кэш-памяти процессора в качестве ОЗУ до тех пор, пока ОЗУ не будет инициализировано». Не уверен, что (и как) он будет работать без оперативной памяти. Насколько я знаю, нет рабочего кода, который загружает ОС на IBM-совместимом ПК. Любые ссылки на доказательства концепции, рабочий код или что-либо еще приветствуются в комментариях, и я добавлю их к этому ответу.

Могу ли я добраться до BIOS?
Вопрос OP немного размыт, если ноутбук способен пройти BIOS POST. Как отмечает @Tonny, ни одна ОС не поможет вам « добраться до BIOS ». Вы входите в BIOS, используя клавишу F1, F2, F10, DEL или ESC , в зависимости от вашей марки BIOS.

Как восстановить данные с ноутбука без оперативной памяти?
Что касается цели, стоящей за вашим вопросом: зачем вам нужен доступ к вашему ноутбуку? Возможно, потому что на жестком диске еще есть данные, которые вы хотите восстановить? Если это так, гораздо проще извлечь жесткий диск (см. Руководство) и подключить его к внешнему устройству хранения или напрямую к ПК. Вот хорошее руководство, чтобы сделать это.

33

Теоретически это возможно, но это будет очень медленно, поскольку потребуется использовать диск для любого временного хранилища, которое не помещается в кэш процессора. (Процессоры имеют несколько мегабайт кеша, потому что даже ОЗУ слишком медленная для них. Подумай об этом.) Так что вам понадобится довольно маленькая ОС.

(Ну, встроенные системы на кристалле могут выполнять код из ОЗУ или внутренней флэш-памяти - теоретически, BIOS компьютера может делать то же самое, но не может запускать всю ОС.)

Но, с другой стороны, BIOS работает до и вне любой установленной операционной системы, и именно BIOS позволяет вам загружаться с Pendrive или чего-то еще. Так что если вы не можете получить доступ к BIOS, то никакая другая ОС в мире не поможет вам.

15

Вы могли бы, с некоторым усилием, спроектировать систему, которая не содержала бы ОЗУ. Загрузите свое программное обеспечение из ПЗУ (или хранилища) и делайте все в регистрах или в кеше. Такая система будет иметь исключительно узкое применение, а сегодняшние цены на ОЗУ будут немного бессмысленными. Готовый ноутбук не будет работать без встроенной памяти.

Ваш реальный вопрос более вероятен: «Как получить информацию с компьютера, который не загружается», и это легко. Разберите его, извлеките диск и подключите его к корпусу внешнего диска.

Тем не менее, обратите внимание, что любой компьютер, достаточно старый, чтобы вы не могли получить рабочую оперативную память всего за 20 долларов, будет иметь диск ATA (обычный ATA, а не SATA). Этот интерфейс сегодня почти не существует, поэтому вам также понадобится найти корпус для диска с картой ATA, а также полноразмерный адаптер для ноутбука. У меня есть один, который я купил в 2000 году, и я держу пару старых случаев только для этой цели.

10

Если я правильно прочитал вопрос, все здесь лают не на то дерево.

Он прямо заявляет "чтобы попасть в BIOS".

Если ноутбук сломан, он даже не попадет в BIOS, все остальное бессмысленно.

Вы не можете загрузить ЛЮБУЮ ОС на этом независимо от ситуации с ОЗУ.

8

Ваше предположение, что память плохая, вероятно, неверно. Если вы не получаете никаких звуковых сигналов или сообщений на экране, основной причиной почти наверняка является неисправность ЦП (несколько маловероятно) или неисправность материнской платы (весьма вероятно). Материнские платы постоянно выходят из строя из-за холодных паяных соединений, что было обычным явлением в первые дни движения ROHS и требованием использовать бессвинцовый припой. Технологии производства были оптимизированы для использования припоя на основе свинца, и отрасли потребовалось время, чтобы разобраться и решить проблемы. Многие производители компонентов не очень хотели тратить деньги на модернизацию своих процессов. В конце концов, устройства будут тестироваться и сгорать очень хорошо, только чтобы выйти из строя месяцами или годами позже, после того, как гарантия истекла. Только с растущей горой сбоев и интенсивными отрицательными отзывами пользователей, производители начали улучшать ситуацию. На таком ноутбуке повторное вытекание материнской платы для исправления холодных паяных соединений почти наверняка является непомерно дорогостоящим.

5

Большинство ранних компьютеров 1980-х годов или около того имели встроенную операционную систему (драйверы оборудования, поддержка ввода-вывода, загрузка программ, очень простой интерфейс командной строки и т.д.) В ПЗУ. Он может работать, даже если чипы оперативной памяти не работают. Эта функция использовалась в специальных версиях содержимого ПЗУ, предназначенных для проведения аппаратных тестов и обмена данными в основном с помощью звукового сигнала и подсветки клавиатуры.

CPU имеет несколько регистров для запоминания адреса, по крайней мере, выполняемой команды, но обычно они не называются RAM.

Обычный код C не может работать в системе без оперативной памяти, поскольку он использует стековую память для распределения переменных, а стек находится в оперативной памяти. Когда загружается последний компьютер, обычное динамическое ОЗУ изначально недоступно, так как для обновления устройства ОЗУ требуется начальная настройка. Сборочный код запускается первым и выполняет инициализацию материнской платы. Оперативная память начинает работать, а затем код C может работать.

4

Когда я поступил в университет в 1967 году, на вычислительном факультете была зебра Stantec. Память состояла из 8192 слов магнитного барабана. Также было 12 регистров и два аккумулятора. Вы можете рассмотреть эту оперативную память, но не так, как мы ее знаем.

3

Вам потребуется по крайней мере кэш-кэш для регистров (по сути, очень небольшой объем оперативной памяти на кристалле), чтобы исполнительный модуль ЦП мог функционировать. Так что даже ваш процессор имеет «RAM».

Я полагаю, что ОС Von-Neumann не была разработана без потребности в памяти.

Так что нет.

3

Как и все остальные люди здесь, я согласен с тем, что вам действительно нужна оперативная память и вы не можете работать без нее, но я также прочитал следующее:

(Изначально я хотел загрузить ОС без ОЗУ, чтобы проверить, не испортилась ли ОЗУ, но мне нравится, как этот вопрос развивается в снежном коме.)

Это действительно существует в BIOS, есть функция для проверки оперативной памяти. При загрузке и входе в BIOS отключите опцию "Самотестирование при быстром включении", и он выполнит полную проверку вашего ОЗУ. Эта опция должна находиться в "расширенных функциях BIOS", что-то вроде второго выбора в AMI BIOS.

Надеюсь, что это сделает вас на шаг впереди. ;-)

3

Вам не нужна оперативная память, например, используйте машину Тьюринга.

Машина Тьюринга - это гипотетическое устройство, которое манипулирует символами на ленте в соответствии с таблицей правил. Несмотря на свою простоту, машина Тьюринга может быть адаптирована для имитации логики любого компьютерного алгоритма и особенно полезна для объяснения функций центрального процессора внутри компьютера.

(Я не считаю ленту ОЗУ.)

Теперь ваши реальные вопросы должны спрашивать о «полезном» и определить, что вы подразумеваете под «полезным».

3

Существуют специализированные ОС для встраиваемого использования, которые полностью работают из ПЗУ (только для чтения). Однако для того, чтобы сделать что-нибудь полезное, вам все равно обычно требуется хотя бы небольшой объем оперативной памяти. Я не видел ПК, который будет загружаться без оперативной памяти, хотя.

Что касается первоначального вопроса о тесте памяти, то если компьютер выполнит POST (т.е. выполнит самотестирование при включении питания и попытается загрузиться), то Memtest86 разработан специально для тестирования вашей оперативной памяти. Он проверяет первые 64 КБ ОЗУ, загружает себя в эту ОЗУ, а затем проверяет оставшуюся часть системной памяти так тщательно, как вам хочется. "Хлопчатобумажная" память (в отличие от просто плохой памяти) встречается редко, но я видел, как Memtest86 ловит периодически ошибочный бит, пропущенный тестом памяти компьютера (в конце концов, тест памяти POST должен завершиться за разумный промежуток времени в то время как самый быстрый тест memtest86 выполняется 5-10 минут, а более комплексные тесты занимают часы.)

1

Да, вы можете иметь компьютер без оперативной памяти. В большинстве процессоров x86 есть специальный режим, который позволяет запускать его только с кешем. Если вы проверите для coreboot (бывший linuxbios), он может это сделать. Это называется кэшем как оперативной памяти. На самом деле вы можете создать целую операционную систему, основанную на этом, и с современными кешами большого размера это может привести к тому, что даже с графическим интерфейсом (проверьте menuet-os). Но никто еще этого не сделал.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .