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