且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《操作系统真象还原》——0.3 写操作系统,哪些需要我来做

更新时间:2022-10-12 20:25:49

本节书摘来自异步社区《操作系统真象还原》一书中的第0章,第0.3节,作者:郑钢著,更多章节内容可以访问云栖社区“异步社区”公众号查看

0.3 写操作系统,哪些需要我来做

首先应该明确,在计算机中有分层的概念,也就是说,计算机是一个大的组合物,由各个部分组合成一个系统。每个部分就是一层功能模块,各司其职,它只完成一定的工作,并将自己的工作结果(也就是输出)交给下一层的模块,这里的模块指的是各种外设、硬件。

这样,各种工作成果不断累加,通过这种流水线式的上下游协作,便实现了所谓的系统。可见,系统就是各种功能组合到一起后,产生最终输出的组合物。就像人的身体,胃负责搅拌食物,将这些食物变食糜后交给小肠,因为小肠只能处理流食,所以上游的输出一定要适合作为下游的输入,是不是有点类似管道操作了,哈哈,分工协作是大自然的安排,并不是只有计算机世界才有。我们人类的思想是大自然安排好的,所以人类创造的事物也是符合大自然规律的。

好,赶紧回到正题,操作系统是管理资源的软件,操作系统能做什么,取决于主机上硬件的功能。就像用Maya造一个人体模型出来,首先我得知道Maya这个软件提供曲线曲面各种建模方法才行,换句话说,对于人体建模,你不可能会想到用QQ,因为它不是干这个的。我想说的是硬件不支持的话,操作系统也没招……操作系统一直是所谓的底层,拥有至高无上的控制权,一副牛气轰轰的样子,原来也要依仗他人啊。是啊,操作系统毕竟是软件,而软件的逻辑是需要作用在硬件上才能体现出来的。

所以说,写操作系统需要了解硬件,这些硬件提供了软件方面的接口,这样我们的操作系统通过软件(计算机指令)就能够控制硬件。我们需要做的就是知道如何通过计算机指令来控制硬件,参考硬件手册这下少不了啦。