admin管理员组

文章数量:1539849

2024年1月13日发(作者:)

windows操作系统与Unix操作系统的优缺点

windows:

优点:图形界面良好,拥有良好的集成开发环境,操作简单。

缺点:不是免费的软件,采用二进制代码,不易修改操作系统本身。漏洞比较多。和linux和unix系统相比,网络功能相对较差,源码不开放。不利于操作系统的开发。

UNIX

优点:UNIX 如此的成功,这大大超出了它的创造者最初的设想。UNIX 成功的一个主要原因是它最初的发行发式。由于法令(consent decree)的限制,AT&T 不得不以极少的费用出售UNIX许可证和源代码。世界各地的人们都可以索取和运行该系统。由于附带源代码,用户可以分析它,更改它,告诉其他人自己所做的修改。然后AT&T 再将开多修改加入到新发行中。

在伯克利的工作更带动了这一趋势。总而言之,UNIX 在一种极为开放的过程〔或者说没有过程〕中不断发展。各国、各大洲的学术界、厂商、以及疯狂的黑客们都为UNIX

的发展做出了贡献。既便在UNIX 商业化之后.许多厂商也认识到开放系统的价值,将它们的成果公布于众,制定了许多像NFS 这样的开放规范。

最初的UNIX 设计非常精湛,井为后来版本和分支奠定了成功的基础。它的一个最大的长处就是始终贯彻“越小越完美”的思想[ Allm 87] ,用一个小的内核提供一组必要功能的最小集。系统有许多小的实用工具完成简单的数据处理。用户可以通过管道机制以及可编程的shell 等工具将这些实用工具以各种方式组合起来,形成功能更强大的工具。

UNIX 的文件系统是这种小巧,简单方式的一个典型代表。与当时使用诸如索引顺序访问方式(ISAM),层次顺序访问方式(HSAM)等复杂文件访问方式的操作系统不同,UNIX

将文件看成是一个字节流。应用它可以在文件上建立任何数据结构,实用自己的访问方式访问文件,不需要文件系统的干预。

大多数系统应用都使用文本数据。例如,比较重要的系统数据库/etc/passwd ,

/etc/fstab,以及/etc/ttys 都是普通的文本文件。尽管使用二进制的有结构的方法组织信

息会更有效,使用一般的文本可以让用户不必使用特殊的工具就可以访问和处理这些文件。 文本是一件友好的,通用的,高度可移植的数据形式,可以用许多实用工具进行处理。 UNIX 另一个很突出的特点就是它简单而统一的I/O 设备接口。UNIX 将所有的设备都用文件表示,用户可以使用与处理文件相同的命令和系统调用集访问设备。开发者

写程序完成I/O操作时不必考虑这个操作是对文件的,还是对用户终端,打印机,或其他设备进行的。这一特性与shell 中的I/O 重定向一起提供了一个简单而强大的I/O 接口。

促使UNIX 成功和流行的一个关键因素是它的可移植性。内核的大部分都是用C 语言写 的。这就使其在移植到新机器时相对容易了许多。它先是用于 PDP-11,后来移植到

VAX-11 及其他许多机器、许多厂商都是开发出自己的新机器,然后简单将 UNIX 移植到它的上面, 而不必重写一个新的操作系统。

缺点:

事物总有相反的两个方面。在赞誉UNIX 优点的同时,也不能忽略了它的缺点。对UNIX 进行如此客观回顾的人中就有这样一个人,他不是别人,正是DennisRitchie 本人。在1987 年 1 月 USENIX 会议中的一次 UNIX 回顾会晤中,RitChie 分析了许多 UNIX

的缺点[ Ritc87] 。下面我们对其进行简述。

尽管UNIX 最初是一个简单的系统。它已不再是这样了。例如,AT&T 为了高效地对数据进行缓冲和将程序移植到非UNIX 系统上,为UNIX 系统增加了标准1/O 库。这个库相对其

底层的系统调用接口已变得越来越复杂了。例如,read 和write 系统调用是原子性的(不可分的)操作,而I/O 库中的缓冲破坏了这种原子性。

虽然UNIX 是一个优秀的操作系统,但大多数用户并不需要一个操作系统,他们只要有一个可以完成特定任务的系统就行了。这些用户并不关心底层文件系统结构和进程结构是否优美。他们只需要以最少的代价运行一个特定的应用(如编辑器,商务软件包,绘图程序)、早期的UNIX 缺少一个简单统一的(最好是图形的)用户界面,这也是阻碍UNIX 被大众接受的一个主要因素。用Ritchie 的话来说就是,“UNIX 简单而一致,但只有天才(至少是程序员)才能赏识它的简洁。”

以积木方式构造上工具利弊参半。尽管它优美而且从审美角度来说非常优美,但用户需 要具有丰富的创造力和想像力才能高效地使用这些工具。许多用户更喜欢使用个人计算机中 有的那些已集成好的,一步到位的程序。

从某件程度上说,UNIX 也是自己成功发展的受害者。它简单的许可证条款以及可移植性造成它不可控制的发展和扩散。人们都对 UNIX 系统进行修补,每个小组都以不同的方式进行修改,结果是他们的系统往往不兼容。起初只有两大势力 一 AT&T 和 BSD 。它们都有自己的文件系统,内存结构,以及自己的信号和终端处理框架。很快许多厂商都发行了自己的变体,在一定程度上保持与AT&T 版本和BSD 版本的兼容性。后来,这种局面

变得更加混乱了,许多应用开发者不得个花很大的力气才能将它们的程序移植到各种不同的UNIX 上。

由于参加标准化的人们意见不一,标准化并没有完全成功。这主要是每个厂商都想加入 一些特有的特性来标榜自己的“产品差异”,表明自己的产品与众不同,或者优于它们的竞争对手。

Mach 系统的主要开发人员Rechard Rashid 更进一步地探讨了UNIX 的失败的原因。在Mach系列讲座的开场白中[ Rash 89] ,他解释了他们是如何通过对UNIX 发展的调查产生了开发Mach 系统的灵感。UNIX 有一种最小化的,积木式的工具构造方法。通过将小巧简单的工具组合在一起来构造大型的复杂的工具。但这一方法井没有用于内核的构造。

传统的UNIX 内核不够灵活,不具备很好的可扩充性,也很少代码复用的设施。随着UNIX 的发展,开发者只简单把代码加人内核,结果内核成了新功能的“倾销地”。很快内核就膨胀起来.缺少模块化,而且越来越复杂。Mach 试图用一种新方法来解决它,它使用一组精简的抽象概念从底向上重新编写操作系统。现代UNIX 采同不同的方式解决这一问题,为若干子系统增加灵活的框架结构。

机械工程学院

10级机械设计2班 廖杰

2

感谢您的阅读,祝您生活愉快。

本文标签: 系统使用方式