程序员兼硬件爱好者德米特里·格林伯格(Dmitry Grinberg )分享了一段视频,视频中他展示了一台搭载Linux系统的Intel 4004处理器电脑如何启动和运行命令。该视频展示了执行任何操作或运行最简单命令所需经历的漫长等待时间。例如,启动过程耗时4.76天,而输入“ls”命令后,简单的目录列表直到16小时后才显示在屏幕上。
格林伯格使用Linux提示符启动了这台机器。幸运的是,通过视频编辑的魔力,命令之间的大部分等待时间被快速略过。虽然存在一个未经剪辑、以120倍实时速度播放的视频版本,但对于追求完整的人来说,观看完整视频仍需超过1小时40分钟。
视频开头指出,世界上第一款商用微处理器Intel 4004(约1971年)比Linux的首次发布早了整整20年。这一巨大的时间跨度,加上芯片的低速和缺乏现代功能,意味着Linux从未支持过它。因此,格林伯格需要一些数字技巧来完成他的壮举。
关于项目的详细信息和设置,格林伯格写了一篇详细的博客文章,题为“为乐趣、艺术和绝不盈利,在Intel 4004上缓慢启动完整的Linux”。本质上,为了弥合硬件和软件之间的鸿沟,这位爱好者模拟了功能更强大的MIPS R3000处理器,该处理器具备所需的C编译器支持。
即使有了这些模拟手段,还需要完成很多其他后台工作,而这项慢速计算成就的大部分基础工作都花费在了速度优化上。格林伯格通过移除不必要的特性支持,成功将Linux内核大小减小到约2.5MB。因此,他将启动时间从优化过程开始时的约8.4天缩短到了令人惊叹的4.76天。
视频中,我们看到它从介绍信息进展到“加载内核”,然后是“启动操作系统”阶段。最终,我们还会看到“欢迎使用uMIPS:请慢慢浏览”的信息和屏幕上闪烁的提示符。据这位程序员介绍,我们在开机后近五天才达到这一点。
为了开始在Linux演示中工作,格林伯格输入了目录列表命令。系统花了大约16小时来列出目录中的五六个文件。输入并执行显示Linux内核版本(Linux uMIPS 4.4...)的命令也需要类似的时间。
格林伯格真是个自讨苦吃的人,他继续执行命令以显示CPU版本——由于上述模拟过程,报告显示为R3000 v.2。为了创建一些“花哨的图形”,这位爱好者运行了一个ASCII Mandelbrot生成器。谢天谢地,他没有添加任何参数来“开启RTX”。
视频以系统被询问运行时间而结束。这个命令执行并输出结果到屏幕上花了大约14个小时。
格林伯格承认他的Linux/4004项目主要是艺术性的,但它也展示了Linux的灵活性。他设计了定制的4004电路板,带有闪烁的真空荧光显示器(VFD)和内置显示屏,用于安装和展示在墙上。
如果你自己想尝试这个项目,这位程序员慷慨地分享了原理图、带有价格和链接的零件清单、用于SD卡的磁盘映像等更多资料。格林伯格还在考虑将整个项目作为套件或预构建产品提供。如果你感兴趣,可以通过他博客文章中的电子邮件地址与他联系。然而,他警告说,预构建的系统可能不便宜,尤其是如果你想要一个包含所有1970年代组件的系统。
BLOG 链接:
https://dmitry.gr/?r=05.Projects&proj=35.+Linux4004
汽车芯片设计资料包