欢迎光临我的博客
分类: 系统运维
2010-04-20 20:59:41
在UNIX之前,已经存在很多的多用户多任务分时操作系统,如IBM的等。但是它们都非常复杂,难以开发维护,同时对硬件的要求也比较高。相对于以前的操作系统而言,UNIX显得极为简洁,就本书所讲述的版本而言,才10000行代码(包括注释),就已经实现了进程管理调度、进程间通信、虚拟内存管理、中断(自陷)管理、文件系统、I/O设备管理、系统接口调用(API)和用户访问界面(shell)功能。而且代码的效率都非常高,比如:
(1)大量移位、与或、自增/减等操作符的使用,充分精简指令,提高了CPU利用率;
(2)利用指针传递参数以及利用指针对内存直接访问,提高了内存访问效率;
(3)文件缓冲区的使用,大大提高了磁盘文件访问的速度;
(4)较短的进程上下文。对没有磁盘/换出的进程上下文切换,只用了30~40条机器指令就完成。
UNIX具有强大的出错检测机制,程序具有很强的容错性。不会因为某一步操作的出错而引起系统整个崩溃。相反,系统会给用户返回相应的错误码,便于用户调试。这样,即使是系统中某个设备出错不能正常工作,并不影响其他设备的工作。比如磁盘某个扇区的毁坏不会影响其他扇区的使用。此外,严格的用户权限管理为系统的健壮性提供了一个很好的机制。
适应多用户多任务的需求,可以有多个用户同时使用系统。当多个用户同时操作同一资源时,UNIX会对资源做出合理的分配。多个用户可以做多件事情,比如:键盘输入和打印。另外UNIX支持大量的I/O设备,例如磁盘、磁带、打印机、纸带打孔机、电传打字机(Teletype)和显示器(CRT)等。
因为UNIX的大部分代码(第6版90%)都是使用C语言编写,从而大大提高了系统的移植性。只要修改少许和机器相关的部分程序代码(包括汇编程序部分和其他硬件驱动及相关部分),整个UNIX可以在很短时间内完成移植的动作。因为绝大部分代码都是使用C语言编写的,移植的主要工作已经交给编译器完成。这就为它的推广提供了一个极大的便利条件。
UNIX得以如此成功的另一个重要原因是它的开放性。尽管同时代也有很多其他优秀的操作系统,但它们都不是免费开放的。这样各个研究机构和普通用户就很难获得,并加以研究改进。而UNIX在包括第6版之前几乎都是免费的,这就为它的迅速普及提供了一个先决条件。俗话说:“众人拾柴火焰高”。在各公司机构研究开发人员的集体智慧下,UNIX才得以变得越来越出色。
《返璞归真--UNIX技术内幕》在全国各大书店及网城均有销售: