操作系统真象还原 - (EPUB全文下载)

文件大小:1.05 mb。
文件格式:epub 格式。
书籍内容:

操作系统真象还原
第0章 一些你可能正感到迷惑的问题
第1章 部署工作环境
第2章 编写MBR主引导记录,让我们开始掌权
第3章 完善MBR
第4章 保护模式入门
第5章 保护模式进阶,向内核迈进
第6章 完善内核
第7章 中断
第8章 内存管理系统
第9章 线程
第10章 输入输出系统
第11章 用户进程
第12章 进一步完善内核
第13章 编写硬盘驱动程序
第14章 文件系统
第15章 系统交互
参考文献
看完了
第0章 一些你可能正感到迷惑的问题
正如计算机中数组下标是从0开始的,我们的内容也从0开始,尽量做到低基础学习(负责地说,不是0基础,而且还只是尽量),解释一些学习过程中经常被问到的问题。
0.1 操作系统是什么
我并没有给你提供教科书上对操作系统的定义,因为解释得太抽象了,看了之后似乎只是获得一些感性认识,好奇心强的读者反而会产生更多迷惑。为了说清楚问题,让我给您举个例子。
让我们扯点远的……在盘古开天之际,除动物以外,世界上只有土地、荒草、树木、石头等资源。人们为了躲避天灾、野兽攻击等危险,开始住进了山洞,为了获取食物,用石头和树木等材料打造一些武器。当时所有人都在做这些相同的事。这就是没有组织的人类社会,所有人都在重复“造轮子”。
后来各个地区有了自己权威性的部落,部落都专门找人打造武器,谁需要武器就直接申请领取便可,大部分人不需要自己打造武器了。后来嫌打猎太麻烦了,干脆养一些家畜好了,直接供给人们,谁需要可以过来交换。这就是把大家的重复性劳动集中到了一起,让人们可以专注于自己的事情。
再后来,部落之间为了通信,开始有信使了,这是最原始的通信方式。到后来发展到有社会组织,通信越来越频繁了,干脆搞个驿站吧,谁需要通信,直接写信,由驿站代为送达。
随着人口越来越多,社会组织需要了解到底有多少人,为了方便人口管理,于是就在各地建了“户籍办事”处,人们的生老病死都要到那里登记申报。
说到这我估计您已经猜出我所说的了,上面提到的部落其实就是最原始的操作系统雏形,它将大家都需要的工作找专人负责,大家不用重复劳动。而以上的社会组织其实就是代表现代操作系统,除了把重复性工作集中化,还有了自己的管理策略。
把上面的例子再具体一下,人们想狩猎时,可不可以自己先打造武器,然后拿着自己的武器去狩猎?当然可以,自己制造武器完全没有问题,但部落既然有现成的武器可用,何必自己再费事呢。另外,部落担不担心你随意制造武器会对他人造成伤害?当然会,所以部落不允许你自己制造武器了,人们只有申请的资格,给不给还是要看人家部落的意愿。这就是操作系统提供给用户进程一些系统调用,当用户进程需要某个资源时,直接调用便可,不用自己再费尽心思考虑硬件的事情了,由操作系统把资源获取到后交给用户进程,用户进程可以专注于自己的工作。但操作系统为了保护计算机系统不被损害,不允许用户进程直接访问硬件资源,比如用户进程将操作系统所占据的内存恶意覆盖了,操作系统也就不复存在了,没有操作系统的话,计算机将会瘫痪无法运作。
当人们想和远方的朋友说话时,虽然可以徒步走到亲朋好友身边再对其表达想说的话,但社会组织已经给提供了邮局和电话,何必自己再大老远跑一趟呢。这就是操作系统(社会组织)提供的资源。两个人想在一起生活,要不要一定先结婚呢?完全不用,领不领证都不会阻碍人们在一起生活,但是社会组织为了方便人口管理做了额外约束。不领证的话,至少社会组织无法预测未来人口数量趋势,无法做出宏观调控,甚至这是找到你家人的一种方法。这就如Linux系统中的内存管理,分别要记录哪些页是Active,哪些是“脏页”。不记录会不会影响程序执行,当然不会,记录这些状态还不是为了更好地管理内存吗。
以上说的社会组织和人们之间的关系,正是操作系统和用户进程的关系,希望大家能对操作系统有个初步印象,后面的实践中我们将实例化各个部分。
0.2 你想研究到什么程度
学无止境,学习没有说到头的那天。学习到任何程度都是存有疑惑的,就像中学和大学都讲物理,但学的深度不一样,各个阶段都会产生疑问。我们只是基于一些公认的知识,使其作为学习的起点,并以此展开上层的研究。
比如我对太空很感兴趣,大伙儿都知道地球围绕太阳做周期性公转,后来又知道电子围绕原子核来做周期性公转运动,这和地球绕太阳公转的行为如出一辙,甚至我在想太阳是不是相当于原子核,地球相当于一个电子,我们只是生活在一个电子上……而我们身体里有那么多的原子和电子,对那些我们身体中更为细微的生物来说,我们的身体是不是一个宇宙,无尽的猜想,无尽的疑惑。想法虽然有些荒诞,但基于现有科技目前谁也无法证明这是错的,而且近期已有科学文献证明人的大脑就像个宇宙。如果无止境地刨根问底下去,虽然会对底层科学更加清晰,但这对上层知识的学习非常不利,从而我们需要一个公设,我们认为原子是不可再分的,没有更微小的对象了,一切理论研究以此为基础展开。比如乘法是基于加法的,我们研究3×4等于多少,必须要承认1+1等于2,并认为其为真理,不用再去质疑1+1为什么等于2了,这就是我们的公设,至于为什么1+1等于2,还是由专门研究基础科学的学者们去探究吧。
学习操作系统也一样,不必纠结于硬件内部是如何工作的,我们只要认为给硬件一个输入,硬件就会给我一个输出就行了,因为即使你学到了硬件内部电子电路,随着你不断进步,钻研不断深入,也许有一天你的求知欲到了物理领域,并产生了物理科学方面的质疑……这让我想到一个笑话,某人准备去买自行车,结果被销售人员不断劝说,加点钱就能买摩托啦,等决定买摩托时,销售人员又说既然都决定买摩托车了,不如再加点买汽车吧,给出了各种汽车方面的优势,欲望需求不断升级,不断被销售劝说,最后居然花了几百万元买车,最后才想起自己是来买自行车的,甚至他还没有驾照……于是,咱们赶紧就此打住,我们是来学操作系统的。
你想学到哪个程度呢,你的公设是什么,要不咱们还是走一步说一步吧。
0.3 写操作系统,哪些需要我来做
首先应该明确,在计算机中有分层的概念,也就是说,计算机是一个大 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 操作系统真象还原 - (EPUB全文下载)