Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1950072
  • 博文数量: 77
  • 博客积分: 2175
  • 博客等级: 大尉
  • 技术积分: 2491
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-20 20:49
个人简介

欢迎光临我的博客

文章分类

全部博文(77)

文章存档

2023年(1)

2018年(4)

2017年(1)

2016年(2)

2015年(2)

2013年(5)

2012年(29)

2010年(33)

分类: 系统运维

2010-04-20 20:59:41

为什么UNIX能够取得这么大的成功呢?主要有下面几个原因:

简洁高效

UNIX之前,已经存在很多的多用户多任务分时操作系统,如IBM等。但是它们都非常复杂,难以开发维护,同时对硬件的要求也比较高。相对于以前的操作系统而言,UNIX显得极为简洁,就本书所讲述的版本而言,才10000行代码(包括注释),就已经实现了进程管理调度、进程间通信、虚拟内存管理、中断(自陷)管理、文件系统、I/O设备管理、系统接口调用(API)和用户访问界面(shell)功能。而且代码的效率都非常高,比如:

1)大量移位、与或、自增/减等操作符的使用,充分精简指令,提高了CPU利用率;

2)利用指针传递参数以及利用指针对内存直接访问,提高了内存访问效率;

3)文件缓冲区的使用,大大提高了磁盘文件访问的速度;

4)较短的进程上下文。对没有磁盘/换的进程上下文切换,只用了3040条机器指令就完成。

健壮性

UNIX具有强大的出错检测机制,程序具有很强的容错性。不会因为某一步操作的出错而引起系统整个崩溃。相反,系统会给用户返回相应的错误码,便于用户调试。这样,即使是系统中某个设备出错不能正常工作,并不影响其他设备的工作。比如磁盘某个扇区的毁坏不会影响其他扇区的使用。此外,严格的用户权限管理为系统的健壮性提供了一个很好的机制。

功能丰富

适应多用户多任务的需求,可以有多个用户同时使用系统。当多个用户同时操作同一资源时,UNIX会对资源做出合理的分配。多个用户可以做多件事情,比如:键盘输入和打印。另外UNIX支持大量的I/O设备,例如磁盘、磁带、打印机、纸带打孔机、电传打字机(Teletype)和显示器(CRT)等。

移植性

因为UNIX的大部分代码(第6版90%)都是使用C语言编写,从而大大提高了系统的移植性。只要修改少许和机器相关的部分程序代码(包括汇编程序部分和其他硬件驱动及相关部分),整个UNIX可以在很短时间内完成移植的动作。因为绝大部分代码都是使用C语言编写的,移植的主要工作已经交给编译器完成。这就为它的推广提供了一个极大的便利条件。

开放性

UNIX得以如此成功的另一个重要原因是它的开放性。尽管同时代也有很多其他优秀的操作系统,但它们都不是免费开放的。这样各个研究机构和普通用户就很难获得,并加以研究改进。而UNIX在包括第6版之前几乎都是免费的,这就为它的迅速普及提供了一个先决条件。俗话说:“众人拾柴火焰高”。在各公司机构研究开发人员的集体智慧下,UNIX才得以变得越来越出色。



《返璞归真--UNIX技术内幕》在全国各大书店及网城均有销售:
                         
                       



阅读(7945) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:UNIX诞生经过

给主人留下些什么吧!~~