1.4MB 的操作系统,还能玩吃豆豆!

今天我们来实测体验一个1.4 MB的操作系统!对,你没看错,1.4 MB,是个操作系统。

一、最 小 的操作系统


Image

上面☝这个图片中,Windows 11系统的安装包有6.43 GB,我手机拍的一张照片有3.44 MB,而最右边的那个文件只有1.40 MB,比图片还,但却是一个完整的操作系统:MenuetOS

这个虽然只有1.4 MB的操作系统,安装后却能够支持多任务、多线程、抢占式操作,而且它有操作界面,能联网,能打游戏,能听歌、能看视频,还可以连接USB,可以打印文件,也支持网络视频。

1.4 MB,比图片还小,是怎么做到这么多功能的呢?原来它是用纯汇编开发出来的。

100%纯汇编操作系统


汇编写的程序为什么压缩能力那么强呢?主要是由于以下几个原因:

✅️紧凑的指令集

  • 汇编语言直接对应于机器指令,每个指令通常只占用一个或几个字节。与高级语言相比,汇编代码更接近底层,没有编译器产生的额外开销,如运行时库、元数据和优化代码的冗余。

✅️没有额外功能

  • 高级语言如C、C++等在编译时会产生许多支持功能的代码,例如类型检查、垃圾回收、异常处理等。这些在汇编代码中通常是不存在的,因此原始的二进制大小会更小。

✅️代码完全受控

  • 汇编程序员可以直接控制代码的布局和指令的选择,通过巧妙地安排指令序列和利用指令集的特性,可以进一步减少代码的大小。

✅️自带压缩属性

  • 汇编程序可以利用跳转指令来避免重复代码,通过共享代码段来减少总体大小。某些汇编指令如DAA(Decimal Adjust After Addition)或DAS(Decimal Adjust After Subtraction)可以用于压缩BCD(Binary Coded Decimal)数据的操作,从而节省存储空间。

✅️可控链接优化

  • 在链接阶段,如果汇编程序员控制链接过程,可以消除未使用的函数和数据,进一步减少最终可执行文件的大小。

尽管汇编语言可以产生相对较小的程序,但编写和维护汇编代码通常比编写高级语言更复杂和耗时🐶。

所以在佩服MenuetOS开发大神的汇编能力的同时,我们仍然可以继续认真的debug两天前Python写出的bug😂。

二、MenuetOS系统安装体验


MenuetOS官网是:https://www.menuetos.net,可以直接从官网下载它最新的安装包:

Image

官网提供了多个版本,有CD版、VirtualBox版,以及软盘版,其中1.4 MB的版本就是软盘版。00后的小伙伴可能都没见过软盘吧,科普一下:

Image

软盘(Floppy Disk)是一种早期的可移动存储媒体,在我刚刚接触计算机的时候,那时候的操作系统还是Windows 95、Windows 98,就特别流行。那时候根本就没有U盘、移动硬盘,软盘就是最好用的移动储存设备。但它的容量相对较小,最初有5.25英寸和3.5英寸两种尺寸,分别有不同容量的版本:

  • 5.25英寸软盘的典型容量是360KB或1.2MB。

  • 3.5英寸软盘的常见容量是1.44MB。


1. MenuetOS的下载安装

由于MenuetOS在官网的下载途径是谷歌云盘,你操作起来不太友好,所以我特意整理了一份最新版(2024-5-10版),公众号回“MenuetOS”或“最小系统”可以直取。

我这里就使用1.4 MB的软盘版来体验一下。

下载好后,打开VMware,新建虚拟机,选择默认的“典型”就行:

Image

然后在安装来源这里,选择“稍后安装操作系统”:

Image

操作系统类型可以选择“其他”:

Image

然后选择一个虚拟机保存的位置,点击完成。

接下来先不要打开虚拟机,首先得给刚才创建的虚拟机添加一个软盘:

Image

同时将下载好的MenuetOS的安装镜像设置到软盘的位置上:

Image

最后,一定要的把内存、处理器、硬盘等设置的小一点,太大了MenuetOS识别不了。比如我这里设置的是内存256MB,处理器1个,硬盘8 GB:

Image

接下来就可以启动虚拟机进行体验了,首次打开会有一个设置选项:

Image

1是表示编辑配置,2表示启用自动配置,3表示不配置。这里的“配置”主要是指显示的分辨率和内存,可以按它默认的选项3(不配置)直接回车,然后就可以进到界面里面了。

2. MenuetOS功能体验

Image

Image

Image

我实际用起来的感觉是鼠标比较飘,各个功能窗口的交互性一般。但是如果你在用的时候就告诉自己“这是1.4MB的系统🙂”,那可能它的任何问题就都不是问题了。

你说这样一个操作系统,虽然不见得每天都会有人把它拿出来用,但1.4 MB的体积,比一张图片还小,真是不得不感慨,技术的极限,总是会超出我们的想象。

Menuet 是英国一位软件工程师 Ville Mikael Turjanmaa 利用业余时间开发的,完全由 x86汇编语言于 2000年写成的一款32位操作系统。经过大量的修改与完善后, Menuet OS目前已经成为一个用功能完善的操作系统,目前的版本号是 0.74。Ver 0.75 正在开发中。 MenuetOS 并不是一个类Unix操作系统,它完全由 Asm语言编写的系统。Menuet 不基于当前任何一款流行的操作系统而运作,主要是为在开发过程中避免复杂的编程及各种不可预料的 Bug。 尽管Menuet是完全用 32位汇编写成的,但它的系统程序构架并不完全是为汇编语言而保留,它的接口实际上可用于任何程序设计语言。尽管如此,系统开发的目的还是为更简化 Asm程序设计而设计,系统下 GUI编程尤其体现这一点。 Menuet OS 的特点: 多任务,多线程 图形用户界面,可以达到 16bit color,1280x1024 dpi 程序开发比 Windows 和 Linux 之类的系统更容易 IDE环境:自带应用程序及内核编辑编译工具 完全开放的源代码(GPL) TCP/IP 协议栈、PPP 及 局域网络 HTTP/MP3/Mail 服务器,3D迷宫 自由的界面,窗口可换“皮肤” 仅一张 1.44M 软盘可以装下! Menuet OS 对硬件的要求 : CPU : 386 或更高 显示: 支持 VESA 2.0的显卡(推荐使用)或支持 VESA 1.2 的显卡,至少 1M显存。VGA/EGA 显示器。(注:目前的显卡都支持 VESA 3.0,同时也向下兼容) 声卡: 兼容 SB(Sound blaster) 16声效卡 硬盘: LBA 模式 FAT32文件系统 网络: Realtech 8029/8139 芯片组网卡 鼠标: PS/2 或 COM 或 USB /*别相信这个,我的USB鼠标就用不了*/ 内存: 至少32M
MenuetOS是一个为x86(IBM兼容)计算机开发的业余操作系统,它是一款完全由汇编语言(32位)写成的迷你操作系统,因此它更小、更快,并且系统本身用应用程序占用很少的系统资源。   项目最初是芬兰人 Ville Turjanmaa(赫尔辛基大学) 利用业余时间开发完成。现在世界各地都有 MenuetOS 的开发者,他们正在不断完善这个操作系统。    这个项目目前由 Jarek Pelczar(jarekp3[@]wp[.]pl) 接管。项目的中文版由本站站长 E-mean X. 开发。   MenuetOS 并不像现在流行的 Linux 及其它如 FreeBSD、Minix 一样是一个类 Unix 的操作系统,它完全由32位汇编语言编写的系统。Menuet 及其应用程序不基于当前任何一款流行的操作系统而运作,主要是为在开发过程中避免复杂的编程及各种不可预料的 Bug。   尽管Menuet是完全用 32位汇编写成的,但它的系统程序构架并不完全是为汇编语言而保留,它的接口实际上可用于任何程序设计语言。尽管如此,系统开发的目的还是为更简化 Asm程序设计而设计,系统下 GUI编程尤其体现这一点。 ·Menuet OS 的特点   - 多任务,多线程  - 图形用户界面,可以达到 32bit color,1280x1024 分辨率  - 程序开发比 Windows 和 Linux 之类的系统更容易  - IDE环境:自带应用程序及内核编辑编译工具  - 完全开放的源代码(GPL)  - TCP/IP 协议栈、PPP 及 局域网络  - HTTP,MP3,Mail 服务器,3D迷宫  - irc, http, nntp 及 tftp客户端  - 自由的界面,窗口可换“皮肤”  - 仅一张 1.44M 软盘可以装下! ·Menuet OS 对硬件的基本要求  CPU : 386 或与之相兼容的 CPU 显示: 支持 VESA 2.0(建议使用) 或 VESA 1.2 的显卡,VGA/EGA 显示器。 声卡: Creative SB(Sound blaster) 16或兼容声效卡 硬盘: ATA LBA 模式 FAT32文件系统 网络: Realtech 8029/8139, Intel 8255x, 3com, PCNET32 Ethernet PCI cards PPP dialup 鼠标: PS/2 或 COM 内存: 至少32M
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值