上一个月-linus发过来的源码包,时就好看的huā了大概三个小总共大概12000行阅读完毕,却只费了十天左右的时间,要是算上之为56866小说:。3∴3编写这88而林鸿将这些代码看完此而准备的时间,他些代码总共huā前加则至少还要了。代码,
方都借鉴了鉴了不少特现,里面很多地minix的写法,x,从上面借毕竟之前linu,文件系统的结构。s一直都林鸿发在研究mini点和功能。例如
写,可以说文件系统就linux并来写的,只是对磁盘的管理程x的读写功能,有将文件系统实现了,才有序。虽然现在的但是这个磁盘没有涉及到可能对磁盘进行读了出来。系统是模仿uniminix的文件一部分linus还是将其实现
功能,已经不仅仅是这,通常第一个程序都个语句,但个版本的l发给林鸿的这rd”,li是他印过这是实现“he么简单了。的惯例按照编程o,wonus也曾经在显示器上打
程。两个进他在这个版本中实现了重要的功能,即保护模式和多
这备的,被系统的视为现代cào作os系统所不具两个特点是d重要功能。
“保护模式”是针对内存的一个说法。
,这78年发布了一个16位的cpuc领域在的最最要的产品之一,即808程碑,是奠intel公司在19pu是inp定了intel芯片史上一个重要的里。tel历6个c
寻址2的8086cpu总有20根地址的地址空间-好看的16次方,也就线,可以小说:。是1mb最大
os系统就是工。u的计算机所能支持8086称为“实模式”。d作在这个模的最大内存地址,这个这就是基于𘌨模式被式下
根本无济于事实模式只支持最多不出来,计算机,在内存台康柏的内存,d条上再加一条1mb升级自己正在使用的这,xìng能没有。就林鸿想要os系统也识别任何提升。的内存
在当时1m这是。所有不错16位cpu的硬b内存已经相当应用程序都足够使用。件结构所决定的,
域,存在着“不过,在电足要求了。发展,不断迅速很快808子领6cpu就无法满”,集成电路摩尔定律
便在于是intel1985年推出了800386。886的升级版本
器的位数位ᐞ这一次,寄存。被翻了一倍,从16位升级到
86cpu增加文字、更了多任务处理和器:无广告、全址空间引入保护模式的概念。了不少优点,不但寻大大,而且还
。极大的提升大的优点,可以让xìng能得到是变成了分页模式下,对内存管理分段式结构。而已经不再是以前的保护存的管理机制,这种机制有非常内
的机制,以前在那个上在计算机领域,有一必须兼是说,80386行。升级则,也容8086cpu后的cpu上也能运。在种“向前兼容”的规但是,就面能运行的程序
这个“保护模式”没有被“实模式”。是以在默认情况下,打开来的,使用的还是所
式的守m就是进入保护模代码对第20号才行。而要想打开“保护地址线其“唤醒”。它,必须通过它的同意én人模式”,则需要用进行cào作,将
个过程看的小杂的-好现起来却是相当复说:。具体实说起来简单,但是整
么长时间才最终将版是lis为什么huā。这也了这的原因编写完毕
,的功能ì发挥出8038能够和现在ng能。有进入了保护模式入保护模式是必不可少x未来跟上时代的发展的,因为只的这些最新cào作系让linu的最大x他们想让linux6cpu统相媲美,进才能最大程度地
én还去少资料。可《cào看得非常mí糊,专m查了不对这种机制,在这部分现》的时是心中还是林鸿之前看要这样设计。作系统设计与实有些想不通候,为什么
然顿s的实现代码看到了linu觉。但是,今天他之后,顿时有一种突悟的感
ào作系统的底层代某一个寄存器,boot和一个扇区。ad儿码却是和硬件紧密相连。最初的那件底层结构不同,cg确到cpu的的某与平时编程的也jīn汇编才能胜任。jīng确到磁盘时候,不用去关心硬程序,都必须用
有多少引脚,里。,每一个寄存器的码,必须对c器。例如cpu要想理解这些代pu和磁盘的硬件结构作用又是什么面有多少个寄存了解得非常清楚
。i几本厚厚的大部头书籍el有着非些技术参数tn。这常详细及到的技术资料却是。地技术,涉文档好在这么小小的一块芯片
每。这小小的芯片之中中最先进的知识结晶,一个引脚,没一个寄存下来的智慧发挥到了极处,。验之后才最终定,承载的却是人类文明将人类的断试器都是经过了千百次不林鸿不得不感叹
文档,将开份代码进行了编译。ix平台林鸿按照linus在里面写的说明下对这后在min发环境配置好,然
了。编译出来inux的镜像文件给修复了几个细小的bug之后,他最终将l
以最终只好将这个他只有一台计算机,linux安装本机上。所在了
多系统安装方到影响。用的又是没有受当然,他使式,其两个系统并他
重启之后,他选择了菜后单,然回车。
顿时闪现一连串的不断向上刷动。显示器上字符,
在做什么。本不知道计算机到底此刻,林鸿已经对计算不再像以前那样。根细过程有了非常深刻的认识,机启动的详
当电源开关被按下始通电,主板的控供初始的器就开候,cpu就会开始工的当芯片组,将cpu恢复到状态,的检测到cpu上候,机电稳定的时送一个重置时信号作。制芯片于是向cpu发最
一件事就是从内存第运0地址处读取指令它要做中的0xffff行。的
而这件里面的一个系,这就是对硬件进行管理。个时候便系统处ios是主板厂商早就有一个跳转指令,跳转到bios开始了自检过程。b统,目的的自检个地址中。通常会刷在了固
自检的目的计算机各,是为了检测部分硬件是否正常,如动就会立刻被挂起。者有损坏的硬件,则启果缺少或
r,开始执转被通过行安装在磁盘上的c到第一个扇区,读后,才会最终跳只有所有硬件检测都之o作系取mb统。à
读取mbr之后,如里面进行执行。。就是在ào作系统加载到内存s完成的功能而linu何将c
“aaaaaab不断向上刷新,硬件检其他测很快样的字符-显示屏一了书友正在看:。最顶部便出现这个过程很快,字符闪,顿时bbb……”这结束,接着
功能。到了的ab字符,林鸿知道,这一次启动过程已linus所编写的显示器上不断出现经完毕。他已经看看着
叫cào作系统?开玩笑对此嗤笑到这种情况,必定会要是其他声,道:“这也不懂技术的人看!”一吧
这毕竟是他hus将这n品,努力了这么久,他的妹妹萨拉来观看。实际上,uā费了极大的心思而来的作终于成功当初了,自然想和其他人分之后,就兴奋地叫来编写出享一下自己的喜悦。个版本编写出来
了一声“很好”,可便面无表情是抱着泰地回到房间内。五和她的闺蜜煲电话粥迪熊的萨拉盯着显示屏看了大约去了秒之后,说
了半天,良久才的人是完全没直太天真了。有共同语言的。他为此愣linus,自己和不懂技术的妹竟然奢望自己反应过来做的努力和成果。这简妹能够看懂自己所
完几个字符,完全义。不知道做这么一个功能没有什么特别之单的显示了全处,也到底有什么意在对方眼中,这就是简
āo替显示的ab字符不但实现了保护模,是由两个进程打说,li道,显示屏上不断ji印在屏幕上的。也就是了将多任式,不过,林鸿对此却是知务管理的。原型给做出来也nus在这个版中,
“厉害!”
“很bāng!”
”“nicejob!
是林鸿对linus的这些都评价。
肯定比对方要多。并不而是自积累。是因为自己的技己在这方面的理,还涉及到其《实现》根本写不出来他很多知识的让自己编写出来。要解还不够深刻,或者说,这方面的这部分内容,看起jīng力解术不到家,huā费的时间和统设计与资料太来虽然都能够理少了,仅仅凭借一本道,如果cào作系。但是林鸿知
有了一察和使用的,可是当他看到观察的这个最原始的cà平时林鸿看待计算机,是从宏观的角度观感觉。种在显微镜下o作系统的时候,顿时
览无余。楚地知没有了道计什么,一切细节都一所有的黑匣子都算机下一步将要做,他心中清
线。鸿本来很nus沟此刻是凌晨两点多,林想和li已经通一下,可是对方此刻并不在
。于是,他心情jī动之下,便开x的开发之中始正式开始投入到li
他想要是外壳程序,nux中。minix中移植到li的bash,也就做的,就是将之前linus一直到
序。壳程有程序之母,只有外它可以说是所将它移序非常重要,植过来,才能够顺利地执行其他应用程
有它的源代码,但是林鸿手中寄给他的。一个开源的程序,可,还是上次linus邮本身就是联网上免费下载以从互bash
个,都是最基本的。得实现一些cào作系,进入目如显示目录“ls这些统的系统调用命令,例编写这必须”命令录“cd”命令,
先将minix里面所支持的完成即可。系统调用有很多,林鸿暂时打算其他的,以后再说。
ail,然后m便埋头开发。为了避免linus进他首先对方发了一封e给行重复开发,
nux使的要难一点ix是一样的,的时候,他已经将bash程序(未完待续)在太阳在东方升起多了过程比移植得差不。想象当用的文件系统和min移植的,不过好在li中