我更觉得这种玩法应该叫做组装操作系统
我举几个例子应该就能理解我要说的“操作系统”到底为何物
十年前就出现的的MIUI,华为的EMUI,魅族flyme,还有老罗的,哦不对是锤子的Smartisan OS。
这也算操作系统?
这不都是安卓吗?
是,确实是安卓。聪明的读者应该可看出来我想要论述的东西了。
当然你只愿意使用而不想了解原理的话,不建议你组装操作系统。
上过操作系统这门课的同学应该知道一个概念。
操作系统向上提供接口,向下驱动硬件的这么一个中间人体系。(操作系统还有很多特性,我不过多赘述)
大内核与微内核
大内核就是把进程管理、驱动器管理、设备管理等类似服务封装进内核的操作系统
而微内核仅仅包含操作系统的核心功能,时钟管理、中断处理、原语,别的一些的功能,我们用一个词来说就是“外包”,外包出去,而我们要组装操作系统,就是要用微内核再加上要外包的一系列功能来定制一个系统
听上去就像是一个公司运作对不对?其实计算机系统的运作就是如此。
-
内核
-
引导程序
-
图形界面
-
编码
-
显示管理程序
-
图形管理接口
-
窗口管理器
-
图形桌面环境
-
网络管理程序
-
字体管理程序
-
字体渲染程序
-
输入管理程序
-
还包含各种语言的运行环境
我用到了两个关键词“易用”和“健壮”。只要是计算机程序都会提及到健壮性。而易用我觉得则是作为操作系统的一项基础职能,既然要组装一个操作系统,不可能每天都在终端下输入命令执行操作,,更多会作为日常工具来使用,只不过是bug相对较多的工具。所以也就是为什么,很少会有人用linux,很少会有人去组装“操作系统”
你这不就是装个系统然后在系统上装软件吗?
确实可以这样想,但是装的“软件”都是缺一不可的。在windows平台上,引导进PE,选好镜像,分好区,等读条完后就可以进入一个完全易用的系统了,你完全不必关心系统的所有组件和服务。但是你的可定制性也失去了。你想更换图形界面?不行,微软只给你提供了这一套,没得换。你想有别的使用习惯?不行,windows只有这一套固定使用习惯。想让电脑和你更好的使用,那你只能习惯windows 的操作环境。不过这句话多说无用,2020年的今天,谁不是从小用windows长大的。谁的操作习惯不是在windows 上建立的。我用过两年时间的OSX,就ALT和Command键我都经常弄混,应该不止我一个人在windows上把ALT和Ctrl对换位置了吧?你是想成为电脑的工具人,还是想让电脑成为你的工具。各位对我所提出的观点有概念了吗?
既然我愿意提出这个概念,也准备好了被bug折磨的苦。
软件不像硬件,插上去通电就能亮。更多的是今天用的好好的,不知道为什么明天报错了。虽然这样做会损耗你很多尽力去解决系统级的bug,但是却能加深对操作系统的理解。
在此我选择在Arch linux的基础上进行组装定制,为什么我要选择Arch。很多人连安装Arch都做不到,更别说使用了。我曾经也安装失败过几次Arch,踩过一些坑之后才更加想要去征服它。
Arch的理念我很喜欢。
K.I.S.S
这不是要亲吻你,而是
Keep it Simple and Stupid
不在你的电脑上安装过多无用的服务,而是按你所需,你要做什么就只安装你所使用的功能。
甚至官方镜都不包含任何图形给安装程序
以上基于Arch组装操作系统,每一项展开都需要长篇大论,不在此文展开详细论述。
比起计算机使用者,我更愿意作为计算机的拥有者。了解按下电源键之后计算机内部究竟发生了什么事情,提交指令的时候计算机到底做了什么。