Мастер взлома заставляет Linux работать на процессоре 1971 года, хотя загрузка ядра занимает почти 5 дней

Мастер взлома заставляет Linux работать на процессоре 1971 года, хотя загрузка ядра занимает почти 5 дней

Как технический энтузиаст с более чем тридцатилетним опытом работы за плечами, я должен сказать, что достижение Дмитрия Гринберга является не чем иным, как выдающимся достижением. Я помню, когда будущее было за Intel 4004, и вот мы здесь, наблюдаем, как на нем загружается Linux. Это все равно, что наблюдать за выступлением старинного автомобиля на современном Гран-при: и то, и другое кажется неуместным, но невероятно захватывающим.


Вот вам вопрос: как заставить операционную систему, впервые появившуюся 33 года назад, работать на процессоре, который почти на два десятилетия старше, 1971 года? Что ж, оказывается, ответ заключается в том, чтобы заставить древний чип эмулировать что-то, чему всего 36 лет, очистить программное обеспечение до самого необходимого, а затем просто подождать почти пять дней, пока ядро ​​загрузится.

Хотя проект Дмитрия Гринберга, возможно, и не имеет сразу очевидной практической пользы, его работа действительно заслуживает восхищения. Если вы регулярно следите за нашими новостями об аппаратном обеспечении, возможно, вы узнаете это имя — это тот самый гениальный хакер, которому удалось запустить Doom с помощью значка участника Def Con.

Однако нынешний проект Гринберга существенно затмевает предыдущий. Проще говоря, он успешно выполнил загрузку ядра Debian Linux на 4-битном процессоре Intel 4004 — первом микропроцессоре, выпускаемом серийно. Учитывая технологии 1970-х годов, модель 4004 была настолько фундаментальной, насколько это возможно.

Работая всего лишь с 2600 транзисторами, это устройство имеет очень ограниченные возможности, в основном ограничивающиеся сложением и вычитанием, без каких-либо логических операций. Несмотря на значительное количество регистров (всего 16), в нем отсутствует поддержка аппаратных прерываний, что затрудняет выполнение многозадачных задач.

Действительно, рассматриваемый чип просто недостаточно сложен для работы в Linux. Однако Гринберг в этой ситуации проявил недюжинную изобретательность. Учитывая объем оперативной памяти всего в 4 килобайта, он написал программу, имитирующую процессор MIPS R3000 на 4004. Примечательно, что этот чип возник в ту же эпоху, что и ранние дни Linux, что делает его подходящим выбором для эмуляции, хотя и сложной задачей. один для выполнения.

Однако, включив дополнительное аппаратное моделирование и набор старинных деталей, Гринберг сконструировал специальную печатную плату, оснащенную основным дисплеем. Эта настройка послужила доказательством того, что Linux действительно загружался в командной строке. Основная проблема заключается в его скорости.

Даже при разгоне на 5 % тактовая частота 790 кГц у 4004 (да, это килогерц, а не мега или гига) крайне медленная. . Первоначальные прогнозы относительно того, сколько времени потребуется для загрузки ядра (основного ядра операционной системы), составили чуть менее девяти дней! Применив множество настроек и маленьких хитростей, Гринберг сократил время до 4,76 дней.

Просматривая предоставленное видео, вы заметите, что часы ноутбука движутся быстро — это указывает на то, что запись загрузки и работы Linux была значительно ускорена. Если бы YouTube включил видео продолжительностью несколько дней, я считаю, что любому было бы сложно выдержать просмотр его в режиме реального времени!

Весь проект – это настоящее достижение. Конечно, это не имеет абсолютно никакой практической пользы, но кого это волнует? Это дань уважения изобретательности и решимости талантливого и трудолюбивого инженера. Я подозреваю, что единственная проблема, с которой сейчас сталкивается Гринберг, заключается в том, как, черт возьми, можно это превзойти. О, я знаю — это, конечно, Doom. Интересно, сможет ли он заставить его работать со скоростью 30 кадров в минуту (кадров в месяц)?

Смотрите также

2024-09-24 18:17