2022年请UNIX操作系统LINUX操作系统Windows他们的区别和优缺点? .pdf
UNIX操作系统 LINUX操作系统 Windows操作系统他们的区别和优缺点linux源于 UNIX ,优于 unix ;但他们的 源代码不同,后者适用于大型服务器,前者适用于 网络服务器 嵌入式领域, 一般家庭 PC不会选择 UNIX 。linux类似与 DOS ,但 DOS 命令不灵活,且不稳定等; Windows是一款图形化的操作系统,界面友善,操作方便,但其没linux和 UNIX稳定。所以适合装在不长时间使用的个人PC上。所以说 linux集合了各操作系统的优点,可谓是免费开源的较完美的系统了。首先回答你的问题,笼统的说unix 是一种操作系统。对于unix 这种操作系统更详细的解释如下: 操作系统是一种特殊的用于控制计算机(硬件)的程序(软件) ,就如你常用的 windows系统也是一种操作系统。区别在于windows和 unix 系统面对的计算机硬件不同, windows 系统个人版和企业版分别面对个人电脑和pc server ;而 unix 一般来说是针对小型机的操作系统(solaris是可以安装在一些pc server机器上的),一种提供了一个分时的系统以控制计算机的活动和资源,并且提供一个交互,灵活的操作界。 UNIX 被设计成为能够同时运行多进程,支持用户之间共享数据。同时, UNIX 支持模块化结构。这些功能都是针对高端行业用户来设计的。一、 概述标准 UNIX 操作系统是一个交互式的分时系统,提供了一个支持程序开发全过程的基础和环境, 可以支持 40 个终端用户。UNIX系统是由美国电报电话公司 (AT&T )下属的 Bell 实验室的两名程序员K.汤普逊( Ken Thompson )和 D.里奇(Dennis Ritchie)于 19691970年研制出来的。 UNIX问世以来十分流行, 它运行在从高档微机到大型机各种具有不同处理能力的机器上。目前,UNIX除了可在 PDP-11 、DEC 公司的 VAX-11系统的各种机型上运行之外, 还可以在 IBM的 370、 3300 系列机和 Amdahi公司、 Data General 公司、 Hp公司的系列机上。近年来,几乎所有的16 位机、 32名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 位微型计算机都竞相移植UNIX 。这种情况在操作系统发展的历史上是极为罕见的。随着 UNIX的普及 ,书写系统的 C语言也成为引人注目的语言,得到广泛使用。UNIX系统获得了巨大的成功,这有着内在的原因和客观的因素。客观条件之一是,UNIX问世之前己有许多操作系统研制成功,其中有成功的经验,也有失败的教训,而 UNIX的设计者正是经过认真考虑,作了适当的取舍,使UNIX站在前人肩头上获得成功( MULTICS 用了 200 人年未达到原定目标, UNIX只用了 2 个人年);其二是 ,由于当时人们需要一个使用方便、能提供良好开发环境、大小适中的系统,UNIX恰是生逄其时;其三是, UNIX是在 PDP-11系列机上开发出来的,这种机器在世界上己得到广泛应用,这为UNIX广泛配置创造了条件。当然, UNIX成功的关键是在于自身的性能和特点。UNIX的主要特点是:短小精悍、简易有效、并具有易理解、易扩充、易移植性。UNIX的核心程序由约 10000行 C语言代码和 1000行汇编语言代码构成, 被分成能独立编译和汇编的44 个文件,每个文件又分若干过程。这些文件可分以下三类:汇编语言文件:系统只有2 个文件用汇编语言编程 , 包含 33个汇编子程序,与机器硬件直接相关的部分,如中断处理、系统启动等,为了提高效率,有些频繁使用的基本过程,也用汇编语言编写。C 语言文件:共有 28 个, 其中包括进程管理的主要过程,它们又可分成 190个子程序 。文件可以独立编译,经装配程序连接装配后就可执行。C 语言全局变量文件: 共 14 个,其中含有结构的重要说明。 这类文件不能独立编译,而必须和某个C语言文件一起编译。二、 UNIX 操作系统的主要特点1. 精巧的核心与丰富的实用层名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 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 语句, 以及对字符串变量的赋值、替换、传替参数、命令替换等能力。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 用户可以利用这些功能用Shell 语言写出“ Shell ”程序存入文件。以后用户只要打入相应的文件名就能执行它。这种方法易于系统的扩充。3. 层次式文件系统UNIX系统采用树型目录结构来组织各种文件及文件目录。这样的组织方式有利于辅助存储器空间分配及快速查找文件,也可以为不同用户的文件提供文件共享和存取控制的能力,且保证用户之间安全有效的合作。4. 文件和设备统一看待UNIX系统中的文件是无结构的字节序列。在缺省情况下,文件都是顺序存取的,但用户如果需要的话,也可为文件建立自己需要的结构,用户也可以通过改变读写指针对文件进行随机存取。UNIX将外围设备与文件一样看待,外围设备如同磁盘上的普通文件一样被访问、共享和保护。用户不必区分文件和设备,也不需要知道设备的物理特性就能访问它。例如系统中行式打印机对应的文件名是dev/lp 。用户只要用文件的操作(write )就能把它的数据从打印机上输出。这样在用户面前,文件的概念简单了,使用也方便了。5. 良好的移植性UNIX的所有实用程序和核心的90% 代码是用 C语言写成的,这使得UNIX成为一个可移植的操作系统。操作系统的可移植性带来了应用程序的可移植性,因而用户的应用程序即可用于小型机,又可用于其他的微型机或大型机。从而大大提高了用户的工作效率。虽然 UNIX系统取得了巨大的成功,但它也不是没有缺点的。概括起来,对UNIX的批评有如下几点:1. UNIX系统的版本太多,造成应用程序的可移植性不能完全实现 UNIX 是用 C语言写成的 , 因而容易修改和移植。 UNIX也鼓励用户用 UNIX的工具开发适合自己需要名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 的环境,这样造成了UNIX版本太多而不统一。为了解决这一问题,目前 AT&T己与四家重要的微机厂家 (Inte r,Motorola ,Zilog和 National Semiconductor)合作制订统一的UNIX system V 版本,这将会给 UNIX的标准化以重大影响。2. UNIX系统缺少诸如实时控制、分布式处理、网络处理能力这一缺点也在不断改进中,以UNIX为基础的分布式系统和具有实时处理能力的系统己在研制中,有的已研制成功。3. UNIX系统的核心是无序模块结构UNIX系统的核心有 90% 是用 C语言写成的,但其结构不是层次的,故显得十分复杂,不易修改和扩充。UNIX系统的这些缺点比起它的成就而言是十分次要的,它的成功是辉煌的。三、 UNIX 系统结构UNIX操作系统采用以全局变量为中心的模块结构,因而系统结构较为复杂,这主要表现在:模块间的循环调用和文件之间的全局变量问题。从结构上看, UNIX可以分为核心层和外壳层, 核心层又分成与硬件接口的设备驱动、物理存储块管理的最低层及实现存储管理、文件管理、设备管理、进程管理等功能的低层。核心的外层是系统调用,它是UNIX核心的对外接口。最外层的Shell 是用户与 UNIX系统的接口 , 其他的各种实用程序和用户程序也在这一层运行。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 系统结构如图 8.1 所示。1. Shell UNIX提供的用户接口是一种被称为Shell 的命令语言 , 这种命令语言的解释程序也称为 Shell 。在系统初始启动时为每个用户建立一个Shell 进程,每个 Shell 进程等待用户输入命令。命令的最简单形式是一个命令行,由命令名和若干参数组成, 中间用空格隔开。Shell 解释执行命令时 ,先区分命令名和参数 , 然后根据命令名找出对应的文件,把文件读入内存,并按给出的参数解释执行。命令的执行是通过 fork 系统调用来完成的, Shell 进程调用 fork 后,fork创建一个 Shell 进程的子进程且让Shell 进程等待。子进程解释执行命令,命令执行结束时子进程调用 exit系统调用完成终止子进程和释放父进程的工作。Shell 进程被释放后, 给出允许用户输入下一个命令行的提示,命令的基本执行过程如图8.2 。UNIX的交互系统要求用户必须等待前一行命令执行结束,在终端上出现提示符后才能输入下一个命令行。由于有些命令的执行时间较长,因此为了减少用户等待时间,在 UNIX系统中允许用户使用Shell 命令语言编写程序来表示一组命令的执行顺序,用命令语言编写成的程序称Shell 程序。Shell 程序存放在文件上, 需要时由命令解释程序去执行 Shell 程序中的各个命令。2. 系统调用名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 系统调用是用户程序请求操作系统为其服务的惟一形式,在UNIX中把系统调用称为程序员接口。 UNIX规定用户程序用捕俘 (trap)指令请求系统服务, UNIX核心中的中断捕俘程序根据trap 的类型转向相应的处理程序。Trap 指令形式如下:UNIX第 6 版共有 41条系统调用,可以分成以下三类: 与进程管理有关的系统调用,如建立子进程、等待子进程、睡眠、发信号、修改数据段大小等。 与文件管理有关的系统调用,如建立文件、连接文件、打开文件、关闭文件、读文件 、写文件以及修改当前目录、修改文件属性等。 其他系统调用,如取当前用户号、取日历时间、读取进程运行时间、改变优先数等。在系统调用中,参数的传递有两种方式。第一种方式:在程序中通过trap指令后继单元传送。 这一方式又分为直接方式和间接方式。在直接方式中 , 允许在trap 指令的后继单元中最多可放5 个参数;在间接方式中, trap 指令的后继单元放的是一个参数区指针,在这个参数区可以存放更多的参数。第二种方式是通过寄存器 R0,R1传递参数的。UNIX的系统程序员界面这包括了大量的库子程序和标题文件。标题文件定义了在系统调用中使用的复杂数据结构;库子程序和库函数为系统调用提供了附加的程序支持。3. 存储管理UNIX系统最初是在 PDP-11 上开发的, PDP-11是段式结构的存储器,在PDP-11中把段称作页,每一页可包含若干块,每块64 个字节,主存以块为单位进行分配。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 存储分配采用优先适应算法,存储空间使用空闲区表来管理。每表占50 项,每项 2个单元,一个指向相应空闲区起始块号, 另一个指出空闲区大小。表内各项次序按空闲区地址从低到高排列,若有两个相邻空闲区则合并成一个。表项内容为0,表示表尾。由于 PDP-11不支持虚拟存储器,所以UNIX中内存用户区和磁盘对换区的分配和释放由存储管理模块管理。在对换程序的管理下内存用户区和磁盘对换区连成一体,起着虚拟存储器的作用。对换进程扫描PCB表,发现辅存有就绪进程时,查内存是否有空闲区 , 若有空闲区则直接调入;否则要把内存中某些进程换出,若内存没有可换出进程,则对换进程处于等待状态,直到某些事件发生,唤醒后再度工作。辅存有多个就绪进程时,按先进先出换进内存;内存有多个进程可换出时,则选可换进程中优先数低的进程换出。当进程要增加页长时,可通过申请新页、释放旧页来实现。若内存无足够空间,则在辅存申请新页,同时将进程整个换到辅存。UNIX 是一个很优秀的操作系统。这个操作系统主要被用于银行、邮政、电信等等重要行业的核心业务上。主要是因为他相对于 WINDOWS 来说 稳定性好(360*24不间断服务),处理并发业务数据的能力也大大优于WINDOWS。UNIX面向的对象:中型以上的企业。因此从事UNIX的工程师很容易就能获得一份薪水优厚的工作。 UNIX的操作分为两类:图形化和命令行操作图形化只能进行一些简单的操作。大部分操作还是通过命令行来完成的。相比windows不是那么的人性化了。主流的 UNIX系统的版本 : AIX HP 的 UNIX : HP-UX SUN的 UNIX :SOLARIS 除了 HP的 HP-UX可以在 PC机上的虚拟机跑外, IBM的 AIX 和 SUN的 SOLARIS都必须在他们公司开发的硬件平台上跑。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -