最近在看操作系统,对操作系统启动过程尤为感兴趣,因此查阅相关资料之后总结如下,以后有空准备写写鼠标,键盘的驱动程序和linux的图形界面练练手,话不多说,直接开搞:
1.基础知识:
1.为什么要用计算机,计算机有什么用?
--这个问题,额,还用问,当然是玩游戏,追剧,下软件呗,当然这是一般用途,归结起来就是满足我们的相关需求,帮助我们解决一些实际问题,就像冰箱是拿来储存食物一样,没啥特别的.
2.为什么要用操作系统,搞这么麻烦?
额,我们设想不用操作系统OS,假如你要打一串字符"hello,saber"到屏幕上(别问我为什么要打字符),那么不用OS,你的过程是这样的:给发出指令(我要打字到屏幕上)-cpu给内存通话,叫他把0x700位置处的指令取出来放在显存里面,同理一直挨着,如果不出差错的话(这个概率和中彩票差不多,因为你得知道诸多代码还不搞错?),屏幕上出现hello,saber,ok,是不是费时费力,假如有了OS,只需要一条指令-printf"hello,saber",那么hello,saber就如期而遇,也就是说OS帮助我们使用硬件-这里是指显示器.
回到为什么要打hello,saber这个问题,本质上我们是利用计算机提高生产力,诸如word,ppt等无需多言.
综上,OS帮助我们更简单,高效,正确的使用硬件和软件,最大程度保证不出错,提高我们生产力.
3.计算机是什么?
这-还用回答吗?是的,你别跟我说就是一堆CPU,内存条,键盘,鼠标的收纳箱,你说的这个是裸机,或者你会说计算机是硬件加软件的集合,你说的太官方了,没有掌握到精髓,那么你不服气的问,那计算机是什么?
----我认为计算机就是一个模型的实现,怎么说,我们从历史的角度来看看:
最开始图灵提出了一种模型,想我们炒菜都有一个流程,就那番茄炒蛋来说吧,那么把步骤写出来,照搬到计算机里面,那么枯燥重复的工作不就计算机帮我们完成了么,想法不错,于是有了控制器(cpu前身)来执行炒菜,纸带写入步骤,于是简单的可以运行的计算机就成型了,后来人们想你