大侠文学 > 都市小说 > 超脑黑客 > 第209章 linux第一版
  l发过来的源码包,总共大概12000行代码,他编写这些代码总共hua费了十天左右的时间,要是算上之前为此而准备的时间,则至少还要加上一个月-好看的小说:。3∴35686688而林鸿将这些代码阅读完毕,却只hua了大概三个小时就看完了。

  林鸿发现,里面很多地方都借鉴了ix的写法,毕竟之前l一直都在研究ix,从上面借鉴了不少特点和功能。例如,文件系统的结构。

  ix的文件系统是模仿unix来写的,只有将文件系统实现了,才有可能对磁盘进行读写,可以说文件系统就是对磁盘的管理程序。虽然现在的lux并没有涉及到磁盘的读写功能,但是这个一部分l还是将其实现了出来。

  按照编程的惯例,通常第一个程序都是实现“hello,wolrd”,l也曾经在显示器上打印过这个语句,但是他发给林鸿的这个版本的功能,已经不仅仅是这么简单了。

  他在这个版本中实现了两个重要的功能,即保护模式和多进程。

  这两个特点是dos系统所不具备的,被视为现代cao作系统的重要功能。

  “保护模式”是针对内存的一个说法。

  ≈tel历史上一个重要的里程碑,是奠定了tel在pc领域芯片的最最要的产品之一。

  8086cpu总有20根地址线,可以最大寻址2的16次方,也就是1b的地址空间-好看的小说:。

  这就是基于8086cpu的计算机所能支持的最大内存地址,这个模式被称为“实模式”。dos系统就是工作在这个模式下。

  实模式只支持最多1b的内存。就林鸿想要升级自己正在使用的这台康柏计算机,在内存条上再加一条1b的内存,dos系统也识别不出来,根本无济于事,xg(圣王txt下载)能没有任何提升。

  这是16位cpu的硬件结构所决定的,在当时1b内存已经相当不错。所有应用程序都足够使用。

  不过,在电子领域,存在着“摩尔定律”,集成电路不断迅速发展,很快8086cpu就无法满足要求了。

  于是tel便在1985年推出了8086的升级版本80386。

  这一次,寄存器的位数被翻了一倍,从16位升级到32位。

  80386cpu增加了不少优点,不但寻址空间大大,而且还引入了多任务处理和保护模式的概念。器:无广告、全文字、更

  保护模式下,对内存的管理已经不再是以前的分段式结构。而是变成了分页机制,这种机制有非常大的优点,可以让内存管理xg(圣王txt下载)能得到极大的提升。

  但是,在计算机领域,有一种“向前兼容”的规则,也就是说,80386必须兼容8086cpu的机制,以前在那个上面能运行的程序。在升级后的cpu上也能运行。

  所以在默认情况(武动乾坤最新章节)下,这个“保护模式”是没有被打开来的,使用的还是“实模式”。

  而要想打开“保护模式”,则需要用代码对第20号地址线进行cao作,将其“唤醒”。它就是进入保护模式的守n人,必须通过它的同意才行。

  说起来简单,但是整个过程具体实现起来却是相当复杂的-好看的小说:。

  这也是l为什么hua了这么长时间才最终将版编写完毕的原因。

  他们想让lux跟上时代的发展,让lux未来的功能能够和现在的这些最新cao作系统相媲美,进入保护模式是必不可少的,因为只有进入了保护模式才能最大程度地发挥出80386cpu的最大xg(圣王txt下载)能。

  林鸿之前看《cao作系统设计与实现》的时候,在这部分看得非常i糊,专n还去查了不少资料。可是心中还是对这种机制有些想不通,为什么要这样设计。

  但是,今天他看到了l的实现代码之后,顿时有一种突然顿悟的感觉。

  ≈nbs和load儿程序,都必须用汇编才能胜任。jg确到cpu的某一个寄存器,也jg确到磁盘的某一个扇区。

  要想理解这些代码,必须对cpu和磁盘的硬件结构了解得非常清楚。例如cpu有多少引脚,里面有多少个寄存器,每一个寄存器的作用又是什么。

  好在这些技术参数。tel有着非常详细地技术文档。这么小小的一块芯片,涉及到的技术资料却是几本厚厚的大部头书籍。

  林鸿不得不感叹。这小小的芯片之中,承载的却是人类文明中最先进的知识结晶,将人类的智慧发挥到了极处,每一个引脚,没一个寄存器都是经过了千百次不断试验之后才最终定下来的。

  林鸿按照l在里面写的说明文档,将开发环境配置好,然后在ix平台下对这份代码进行了编译。

  修复了几个细小的bug之后,他最终将lux的镜像文件给编译出来了。

  他只有一台计算机,所以最终只好将这个lux安装在了本机上。

  当然,他使用的又是多系统安装方式,其他两个系统并没有受到影响。

  重启之后,他选择了菜单,然后回车。

  显示器上顿时闪现一连串的字符,不断向上刷动。

  此刻,林鸿已经对计算机启动的详细过程有了非常深刻的认识,不再像以前那样。根本不知道计算机到底在做什么。

  当电源开关被按下的时候,机器就开始通电,主板的控制芯片于是向cpu发送一个重置信号,将cpu恢复到最初始的状态,当芯片组检测到cpu上的供电稳定的时候,cpu就会开始工作。

  它要做的第一件事就是从内存中的0xffff0地址处读取指令运行。

  而这个地址中。通常会有一个跳转指令,跳转到bios的自检系统处,这个时候便开始了自检过程。bios是主板厂商早就刷在了固件里面的一个系统,目的就是对硬件进行管理。

  自检的目的,是为了检测计算机各部分硬件是否正常,如果缺少或者有损坏的硬件,则启动就会立刻被挂起。

  只有所有硬件检测都被通过之后,才会最终跳转到第一个扇区,读取br,开始执行安装在磁盘上的cao作系统。

  而l完成的功能。就是在读取br之后,如何将cao作系统加载到内存里面进行执行。

  这个过程很快,字符不断向上刷新,硬件检测很快结束,接着显示屏一闪,顿时最顶部便出现了“aaaaaabbbb……”这样的字符-其他书友正在看:。

  看着显示器上不断出现的ab字符,林鸿知道,这一次启动过程已经完毕。他已经看到了l所编写的功能。

  要是其他不懂技术的人看到这种情况(武动乾坤最新章节),必定会对此嗤笑一声,道:“这也叫cao作系统?开玩笑吧!”

  实际上,当初l将这个版本编写出来之后,就兴奋地叫来他的妹妹萨拉来观看。这毕竟是他hua费了极大的心思而编写出来的作品,努力了这么久,终于成功了,自然想和其他人分享一下自己的喜悦。

  可是抱着泰迪熊的萨拉盯着显示屏看了大约五秒之后,说了一声“很好”,便面无表情地回到房间内和她的闺蜜煲电话粥去了。

  l为此愣了半天,良久才反应过来,自己和不懂技术的人是完全没有共同语言的。他竟然奢望自己的妹妹能够看懂自己所做的努力和成果。这简直太天真了。

  在对方眼中,这就是简单的显示了几个字符,完全没有什么特别之处,也完全不知道做这么一个功能到底有什么意义。

  不过,林鸿对此却是知道,显示屏上不断jiao替显示的ab字符,是由两个进程打印在屏幕上的。也就是说,l在这个版中,不但实现了保护模式,也将多任务管理的原型给做出来了。

  “厉害!”

  “很bang!”

  “nicejob!”

  这些都是林鸿对l的评价。

  这部分内容,看起来虽然都能够理解。但是林鸿知道,如果让自己编写出来。要hua费的时间和jg力肯定比对方要多。并不是因为自己的技术不到家,而是自己在这方面的理解还不够深刻,或者说,这方面的资料太少了,仅仅凭借一本《cao作系统设计与实现》根本写不出来,还涉及到其他很多知识的积累。

  平时林鸿看待计算机,是从宏观的角度观察和使用的,可是当他看到这个最原始的cao作系统的时候,顿时有了一种在显微镜下观察的感觉。

  所有的黑匣子都没有了,他心中清楚地知道计算机下一步将要做什么,一切细节都一览无余。

  此刻已经是凌晨两点多,林鸿本来很想和l沟通一下,可是对方此刻并不在线。

  于是,他心情ji动之下,便开始正式开始投入到lux的开发之中。

  他想要做的,就是将之前l一直到ix中的bash,也就是外壳程序,移植到lux中。

  外壳程序非常重要,它可以说是所有程序之母,只有将它移植过来,才能够顺利地执行其他应用程序。

  bash本身就是一个开源的程序,可以从互联网上免费下载,但是林鸿手中有它的源代码,还是上次l邮寄给他的。

  编写这个,必须得实现一些cao作系统的系统调用命令,例如显示目录“ls”命令,进入目录“cd”命令,这些都是最基本的。

  系统调用有很多,林鸿暂时打算先将ix里面所支持的完成即可。其他的,以后再说。

  为了避免l进行重复开发,他首先给对方发了一封eail,然后便埋头开发。

  移植的过程比想象当中的要难一点,不过好在lux使用的文件系统和ix是一样的,在太阳在东方升起的时候,他已经将bash程序移植得差不多了。(未完待续)