linus发过来的源码包,总共大概12000行代码,他编写这些代码总共花费了十天左右的时间,要是算上之前为此而准备的时间,则至少还要加上一个月。而林鸿将这些代码阅读完毕,却只花了大概三个小时就看完了。
林鸿发现,里面很多地方都借鉴了minix的写法,毕竟之前linus一直都在研究minix,从上面借鉴了不少特点和功能。例如,文件系统的结构。
minix的文件系统是模仿unix来写的,只有将文件系统实现了,才有可能对磁盘进行读写,可以说文件系统就是对磁盘的管理程序。虽然现在的linux并没有涉及到磁盘的读写功能,但是这个一部分linus还是将其实现了出来。
按照编程的惯例,通常第一个程序都是实现“hello,wolrd”,linus也曾经在显示器上打印过这个语句,但是他发给林鸿的这个版本的功能,已经不仅仅是这么简单了。
他在这个版本中实现了两个重要的功能,即保护模式和多进程。
这两个特点是dos系统所不具备的,被视为现代操作系统的重要功能。
“保护模式”是针对内存的一个说法。
intel公司在1978年发布了一个16位的cpu,即8086,这个cpu是intel历史上一个重要的里程碑,是奠定了intel在pc领域芯片的最最要的产品之一。
8086cpu总有20根地址线,可以最大寻址2的16次方,也就是1mb的地址空间。
这就是基于8086cpu的计算机所能支持的最大内存地址,这个模式被称为“实模式”。dos系统就是工作在这个模式下。
实模式只支持最多1mb的内存。就林鸿想要升级自己正在使用的这台康柏计算机,在内存条上再加一条1mb的内存,dos系统也识别不出来,根本无济于事,性能没有任何提升。
这是16位cpu的硬件结构所决定的,在当时1mb内存已经相当不错。所有应用程序都足够使用。
不过,在电子领域,存在着“摩尔定律”,集成电路不断迅速发展,很快8086cpu就无法满足要求了。
于是intel便在1985年推出了8086的升级版本80386。
这一次,寄存器的位数被翻了一倍,从16位升级到32位。
80386cpu增加了不少优点,不但寻址空间大大,而且还引入了多任务处理和保护模式的概念。
保护模式下,对内存的管理已经不再是以前的分段式结构。而是变成了分页机制,这种机制有非常大的优点,可以让内存管理性能得到极大的提升。