UNIX和LINUX操作系统的性能和价格比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UNIX和LINUX操作系统的性能和价格比较
(一)UNIX和LINUX操作系统的性能比较
UNIX
优点:
1.精巧的核心与丰富的实用层
UNIX系统在结构上分成内核层和实用层。核心层小巧,而实用层丰富。核心层包括进程管理、存储管理、设备管理、文件系统几个部分。UNIX核心层设计得非常精干简洁,其主要算法经过反复推敲,对其中包含的数据结构和程序进行了精心设计。因此,核心层只需占用很小的存储空间,并能常驻内存,以保证系统以较高的效率工作。
实用层是那些能从核心层分离出来的部分,它们以核外程序形式出现并在用户环境下运行。这些核外程序包含有丰富的语言处理程序。UNIX支持十几种常用程序设计语言的编译和解释程序,如C、APL、FORTRAN77、PASCAL、SNOBOL、COBOL、BASIC、ALGOL68等语言及其编译程序。还包括其他操作系统常见的实用程序,如编辑程序、调试程序、有关系统状态监控和文件管理的实用程序等。UNIX还有一组强有力的软件工具,用户能比较容易地使用它们来开发新的软件。这些软件工具包括:用于处理正文文件的实用程序troff,源代码控制程序SCC S(Source Code Control System),命令语言的词法分析程序和语法分析程序的生成程序LEX(Generator of Lexical Analyzers)和YACC(Yet Another Compiler Compiler)等。另外,UNIX的命令解释程序Shell也属于核外程序。正是这些核外程序给用户提供了相当完备的程序设计环境。
UNIX的核心层向核外程序提供充分而强有力的支持。核外程序则以内核为基础,最终都使用由核心层提供的低层服务,它们逐渐都成了“UNIX系统”的一部分。核心层和实用层两者结合起来作为一个整体,向用户提供各种良好的服务。
2. 使用灵活的命令程序设计语言Shell
Shell首先是一种命令语言。UNIX 的200多条命令对应着200个实用程序。Shell 也是一种程序设计语言。它具有许多高级语言所拥有的控制流能力,如if、for、while、until、case 语句,以及对字符串变量的赋值、替换、传替参数、命令替换等能力。
用户可以利用这些功能用Shell语言写出“Shell”程序存入文件。以后用户只要打入相应的文件名就能执行它。这种方法易于系统的扩充。
3.层次式文件系统
UNIX系统采用树型目录结构来组织各种文件及文件目录。这样的组织方式有利于辅助存储器空间分配及快速查找文件,也可以为不同用户的文件提供文件共享和存取控制的能力,且保证用户之间安全有效的合作。
4. 文件和设备统一看待
UNIX系统中的文件是无结构的字节序列。在缺省情况下,文件都是顺序存取的,但用户如果需要的话,也可为文件建立自己需要的结构,用户也可以通过改变读/写指针对文件进行随机存取。UNIX将外围设备与文件一样看待,外围设备如同磁盘上的普通文件一样被访问、共享和保护。用户不必区分文件和设备,也不需要知道设备的物理特性就能访问它。例如系统中行式打印机对应的文件名是/dev/lp。用户只要用文件的操作(write)就能把它的数据从打印机上输出。这样在用户面前,文件的概念简单了,使用也方便了。
5. 良好的移植性
UNIX的所有实用程序和核心的90%代码是用C语言写成的,这使得UNIX成为一个可移植的操作系统。操作系统的可移植性带来了应用程序的可移植性,因而用户的应用程序即可
缺点:
1.UNIX系统的版本太多,造成应用程序的可移植性不能完全实现UNIX是用C语言写的,因而容易修改和移植。
UNIX也鼓励用户用UNIX的工具开发适合自己需要的环境,这样造成了UNIX版本太多而不统一。为了解决这一问题,目前AT&T己与四家重要的微机厂家(Inter,Motorola ,Zilog和National Semiconductor)合作制订统一的UNIX system V版本,这将会给UNIX的标准化以重大影响。
2. UNIX系统缺少诸如实时控制、分布式处理、网络处理能力
这一缺点也在不断改进中,以UNIX为基础的分布式系统和具有实时处理能力的系统己在研制中,有的已研制成功。
3. UNIX系统的核心是无序模块结构
UNIX系统的核心有90%是用C语言写成的,但其结构不是层次的,故显得十分复杂,不易修改和扩充。UNIX系统的这些缺点比起它的成就而言是十分次要的,它的成功是辉煌的。
4. UNIX中常见的性能瓶颈
我们大致可以把计算机资源分成三种类型:计算能力(CPU)、可使用的内存和外部存储器的大小,以及系统的I/O。
ü计算能力(CPU):CPU通过调度不同优先级的程序执行,使CPU的处理能力被多个用户程序所共享。计算密集型的应用程序往往占用较多的CPU时间。所以如果多个计算密集的程序同时运行,CPU就可能成为系统瓶颈。
ü可使用的内存和外存的大小:UNIX一般把外部存储介质以交换区的形式作为内存的后备存储区使用。当程序所需要的内存大于系统提供的数量时,系统就把一个进程的一部分移到磁盘上为另一进程腾出空间,如果内存仍不够,则把整个进程全部移到磁盘上。
üI/O能力:I/O设备作为机械系统,其运行速度要慢几个数量级。当一个应用程序包含大量的I/O操作时,系统会等待I/O操作结束而处于等待状态。
然后检查TIME域中积累的各进程的CPU时间。如果某进程积累了大量的CPU时间,说明该进程陷入了无限循环或出现了逻辑错误。要老率是否终止该进程。
使用ps–l 检查SZ域中进程消耗的内存数量。如果某进程占用了大量内存,要查明原因,原因不明时考虑终止该进程。同时可以使用vmstat或sar–wpgr命令斤秒年厘时秒系统有关换页和交换的情况。
LINUX
Linux的特点
1、符合国际通用标准
2、强大的兼容性能
3、拥有先进的网络特性
4、拥有真正的多用户、多任务能力
5、动态链接能力
Linux系统的结构和功能特性
Linux操作系统的结构,主要包括内核和核外程序两部分。核外程序包括各种语言的处理程序和其他系统程序。用户经过自编并经过编译、连接处理而形成的各种可执行目标程序也属于核外程序。核内程序大致分成存储管理、进程管理、设备管理和文件系统管理等几部分。Linux和Unix一样采用各种系统调用来实现核外程序向内核调用的支持。
在Linux 系统中, 进程没有绝对的优先权, 也就是说一个进程不能停止另一个进程来运行它自己。每个进程根据自己是否需要等待某些系统资源, 或时间片是否用来决定是否放弃所占用的CPU。