课外扩展(二)

unix系统
简介
Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获得了广泛使用,目前主要用于工程应用和科学计算等领域。
发展历史
UNIX系统是一个分时系统。最早的UNIX系统于1970年问世。此前,只有面向批处理作业的操作系统,这样的系统对于需要立即得到响应的用户来说是太慢了。在60年代末,Kenneth Thompson和Dennis Ritchie都曾参加过交互方式分时系统Multics的设计,而开发该系统所使用的工具是CTSS。这两个系统在操作系统的发展过程中都产生过重大影响。在此基础上,在对当时现有的技术进行精选提炼和发展的过程中,K.Thompson于1969年在小型计算机上开发UNIX系统,后于1970年投入运行。
1973年,DennisRitchie开发出C语言,用来改写原来用汇编语言编写的UNIX,由此产生了UNIX VersionV。1974年,Kenneth Thompson和Dennis Ritchie合写的“The UNIX Time-Sharing System"在Communication of ACM上发表,正式向外界披露了UNIX系统。
当时,PDP-11系列小型计算机在世界各地已经得到广泛应用,UNIX系统一开发后便广泛配备于美国各大学的PDP-11系列计算机上,由此为UNX的广泛应用创造了物质条件。
1978年,UNIX Version VI发表,随后又于1979年用于VAX-11超级小型机。以后,不断地出现各种新的版本。美国电话电报公司分别于1981年和1983年发表AT&T UNIX SystemII和UNIX SystemV。美国加州大学伯克莱分校也先后发表了UNIX的版本BSD4.1,BSD4.2和BSD4.3。
现在UNIX系统的用户日益增多,应用范围也日益扩大。无论在各种类型的微型机、小型机,还是在中、大型计算机,以及在计算机工作站甚至个人计算机上,很多都已配有UNIX系统。不仅新推出的机型配有UNIX系统,而且一些历史较久的生产厂商,也竞相将原有机型配上UNIX系统以便打开销路、争取市场。
unix操作系统特点
UNIX系统在计算机操作系统的发展史上占有重要的地位。它确实对已有技术不断作了精细、谨慎而有选择的继承和改造,并且,在操作系统的总体设计构想等方面有所发展,才使它获得如此大的成功。UNIX系统的主要特点表现在以下几方面:
(1)UNIX系统在结构上分为核心程序(kernel)和外围程序(shell)两部分,而且两者有机结合成为一个整体。核心部分承担系统内部的各个模块的功能,即处理机和进程管理、存储管理、设备管理和文件系统。核心程序的特点是精心设计、简洁精干,只需占用很小的空间而常驻内存,以保证系统的高效率运行。外围部分包括系统的用户界面、系统实用程序以及应用程序,用户通过外围程序使用计算机。
(2)UNIX系统提供了良好的用户界面,具有使用方便、功能齐全、清晰而灵活、易于扩充和修改等特点。UNIX系统的使用有两种形式:一种是操作命令,即shell语言,是用户可以通过终端与系统发生交互作用的界面;另一种是面向用户程序的界面,它不仅在汇编语言,而且在C语言中向用户提供服务。
(3)UNIX系统的文件系统是树形结构。它由基本文件系统和若千个可装卸的子文件系统组成,既能扩大文件存储空间,又有利于安全和保密。
(4)UNIX系统把文件、文件目录和设备统一处理。它把文件作为不分任何记录的字符流进行顺序或随机存取,并使得文件、文件目录和设备具有相同的语法语义和相同的保护机制,这样既简化了系统设计,又便于用户使用。
(5)UNIX系统包含有非常丰富的语言处理程序、实用程序和开发软件用的工具性软件,向用户提供了相当完备的软件开发环境。
(6)UNIX系统的绝大部分程序是用C语言编程的,只有约占5%的程序用汇编语言编程。C语言是一种高级程序设计语言,它使得UNIX系统易于理解、修改和扩充,并且具有非常好的移植性。
(7)UNIX系统还提供了进程间的简单通信功能。
模块
操作系统要管理计算机系统的硬件资源和软件资源,以便为用户所使用。硬件资源一般指CPU(中央处理机)、存储器(内存和外存)、外部设备等。软件资源是指系统程序和数据,即操作系统、系统实用程序及应用软件,以及用户的程序和数据,它们都以文件的方式存放在存储器中。操作系统由若干个功能模块有机地联系在一一起,协调地进行工作。这些模块是:处理机和进程管理模块、存储管理模块、设备管理模块、文件系统和用户界面。
处理机和进程管理模块
由于处理机(CPU)是计算机中关键的资源,进程的执行与CPU密切相关,因此处理机和进程管理模块可简称为进程管理模块。我们把确定哪些作业将调入内存运行和完成运行后撤出内存的工作称为作业调度。把如何控制一个作业在运行阶段的三个状态间的转换称为进程调度。因而,如何充分发挥资源的利用率,使响应时间短,使各用户作业等待执行的时间最短,是制订相应的作业调度算法和进程调度算法的原则。只是在不同的操作系统中,对以上目标有不同的着重点,因而调度算法也就有所不同。
存储管理模块
存储管理是对作业从进入就绪状态起到运行结束之间所使用的存储器(包括内存和外存)进行管理。可以将存储管理模块的任务分为存储分配、地址映射和存储保护3部分。
存储分配
一个程序在编译和链接后,得到一个称为内存映像的文件。该文件描述了这个程序在运行时所需要的内存大小,其中包括代码和数据区的地址。这些地址称为逻辑地址,并且以首地址0为参考地址。每当一个作业调入内存,进入就绪状态,存储管理模块就要根据可利用的内存空间与作业所需要的内存两者进行计算,给该作业分配相应的内存空间。
地址映射
将一个作业装入内存,意味着一个进程将被创建。存储管理模块会把该作业的映像文件首地址(为零)对准内存中进程的首地址。这个进程的首地址或起始地址是内存中的物理地址,称为偏移量(offset)。映像文件的逻辑地址加上偏移量,得到内存中的地址值均为物理地址。计算逻辑地址到物理地址的转换工作称为地址映射。映像中所有的逻辑地址都可转换为物理地址。
内存保护
内存空间总是被若干个进程分享,其中包括操作系统本身要常驻在内存中的那一部分。内存保护的任务是对内存空间中已划分出的区域,知道它们各属于哪些进程,并且知道每个进程有权访问的区域。每当一个进程执行过程中需要访问某个地址时,存储管理模块就要检查一下这个进程是否有权访问这个物理地址。通常,每个进程在内存中的区域是该进程可以访问的合法地址。如果访问的地址落在该进程的区域之外,即产生了非法访问。一旦遇到非法访问,内存保护就要拒绝访问,并进行出错处理。
设备管理模块
外部设备包括文件存储介质,例如磁盘、磁带、光盘等输入输出设备,例如字符终端、图形终端、各种打印机、绘图仪、显示器等;以及专用的输入输出设备,例如数据采集仪、图像摄入装置、音频输入输出设备等。
设备管理模块的任务是为用户提供方便和统一的界面,并根据作业对设备的申请,合理地分配这些资源,根据设备的性能和作用对设备分类,再用不同的驱动程序去驱动这些设备工作,以提高设备的效率。
文件系统
文件系统又可称为信息管理模块,或者文件管理模块,主要负责对软件资源的管理。所有的软件资源都以文件的形式存放在存储介质中,并以文件为单位,在计算机中传递信息。因此,文件被定义为一组相关信息元素的集合。所有的文件在计算机中形成一个文件系统,虽然与操作系统的一个管理模块同名,但是由于它们出现的场合及上下文不同,通常是可以区分的。
用户界面
用户界面(user interface)又称为用户接口。用户通过用户接口使用操作系统。良好的用户接口将使用户感觉到操作系统的友好和方便。用户接口通常包括作业控制语言、操作语言和系统调用。
与linux区别
UNIX和Linux的授权方式不同
从根本上讲,UNIX和Linux最大的区别在于前者是对源代码实行知识产权保护的传统商业软件。在UNIX发展初期,当时的UNIX版权归AT&T公司所有。为了促进UNIX的发展,AT&T公司以低廉甚至免费的许可将UNIX源码授权给学术机构做研究或教学之用,许多机构在此源码基础上加以扩充和改进,形成了所谓的UNIX衍生版,这些衍生版反过来也促进了UNIX的发展。
后来AT&T公司意识到了UNIX的商业价值,不再将UNIX源码授权给学术机构,并对之前的UNIX及其变种声明了版权权利。这对UNIX的发展产生了很大的影响。在随后的几十年中,UNIX的发展经常伴随着产权纠纷。对于UNIX来说,应用比较广泛的发行版大多数都是商业公司来维护,例如OracleSolaris、IBMAIX以及HPUX等。
Linux从一开始就是遵循GNU通用公共许可协议(GNU General Publice License,简称GNU GPL或GPL),GPL授予程序接受人以任何目的运行此程序的自由、再发行复制件的自由以及改进程序、并公开发布改进的自由。因此,任何个人或者公司都可以在GPL的允许范围之内对Linux的代码进行修改,并且进行再发行。另外,Linux可以运用于任何的领域,包括商业应用。
UNIX和Linux不存在技术上面的传承关系
尽管Linux的设计思想受到了MINIX的很大影响,但是这种影响并不是技术上的,更多的是理念上的。Linux并没有使用UNIX的一行代码,是Linux完全从头构建的操作系统。因此,Linux不是UNIX的衍生版,它是一个全新的操作系统。
UNIX和Linux对于硬件的要求不同
由于长期以来,UNIX都是由一些大型的公司在维护,因此UNIX通常与这些公司所生产的硬件相配套。例如,Oracle Solaris在很长的一段时间都只有SPARC平台的版本,HP-UX可以在HP的PA-RISC处理器、Intel的Itanium处理器的电脑上运行、IBMAlX则运行在IBM的Power PC架构之上。正因为如此,很大程度上限制了UNIX的广泛应用。
UNIX是一个功能非常全面的操作系统,在某些方面超越Linux
经过30多年的不断发展,UNIX的一些基本技术已变得十分成熟,有的已成为各类操作系统的常用技术。无数的实践表明,UNIX是能达到大型主机可靠性要求的少数操作系统之一。目前许多UNIX大型:主机和服务器在国内外的大型企业中每天24小时不间断地运行。例如,不少大企业或政府部门,将其整个企业/部门信息系统建立并运行在以UNIX为主服务器的客户机/服务器架构上。
Linux成功地模仿了UNIX系统和功能,它能够在普通PC计算机上实现全部的UNIX特性,具有多任务、多用户的能力。更为重要的是,Linux是一个开放源代码的产品,任何个人或者公司都可以修改Linux内核的源代码,实现或者增强自己想要的功能。
实际上,UNIX与Linux的区别还有很多,例如,UNIX拥有强大的网络功能,作为互联网基石的TCP/IP协议就是在UNIX系统上开发和发展起来的。UNIX多用于超级计算机、小型机或者工作站,这些技术的成长与UNIX是分不开的。UNIX是历史上影响最大、最成功的操作系统。

发布了14 篇原创文章 · 获赞 1 · 访问量 477

猜你喜欢

转载自blog.csdn.net/a1152946932/article/details/104762159