UNIX操作系统简介
UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。
基本信息
中文名称
unix
本质
操作系统的一种
类型
分时操作系统
开发
1969年
公司
AT&T
特点
多用户、多任务的特点
基本结构
UNIX系统的基本结构如图所示。整个UNIX系统可分为五层:最底层是裸机,即硬件部分;第二层是UNIX的核心,它直接建立在裸机的上面,实现了操作系统重要的功能,如进程管理、存储管理、设备管理、文件管理、网络管理等,用户不能直接执行UNIX内核中的程序,而只能通过一种称为"系统调用"的指令,以规定的方法访问核心,以获得系统服务;第三层系统调用构成了第四层应用程序层和第二层核心层之间的接口界面;应用层主要是UNIX系统的核外支持程序,如文本编辑处理程序、编译程序、系统命令程序、通信软件包和窗口图形软件包、各种库函数及用户自编程序;UNIX系统的最外层是Shell解释程序,它作为用户与操作系统交互的接口,分析用户键入的命令和解释并执行命令,Shell中的一些内部命令可不经过应用层,直接通过系统调用访问核心层。
系统组成
UNIX操作系统结构由三大部分组成:
1. (1) kernel(内核)
2. (2) shell(外壳)
3. (3) 工具及应用程序
UNIX Kernel(UNIX内核) 是UNIX操作系统的核心,指挥调度UNIX机器的运行,直接控制计算机的资源,保护用户程序不受错综复杂的硬件事件细节的影响。
硬件
工具和应用程序
SHELL
KERNEL
UNIX Shell(UNIX外壳) 是一个UNIX的特殊程序,是UNIX内核和用户的接口,是UNIX的命令解释器。
目前常见的Shell有三种:
hell类型 简称 命令 主要特点
Bourne Shell B Shell sh 最老、使用最广泛,每个UNIX都提供。
Korn Shell K Shell ksh 是对B Shell的扩充,兼容B Shell。
C-Shell csh 格式有点象C语言。功能强,命令记忆稍难,在大学和学院中较为流行。
一般系统缺省为Bourne Shell, 本文以此shell为例。
要想将当前Shell改为其它类型的Shell,只需在操作系统提示符下键入相应的Shell命令即可。如在B Shell下键输入命令:$ ksh
就进入了K Shell。
发展历程
unix操作系统它显然对开发和销售计算机及软件操作系统不感兴趣,实际上美国司法部也不允许AT&T公司销售软件.然而,当时AT&T由人和纸张组成的公司信息系统很快就要被60年代的浪潮所淹没.到70年代的时候电话业务的发展已经面临风险.AT&T公司的Ken Thompson开始为自己部门室内的信息处理寻找解决的方法,需要一个多用户操作的,能进行多个流程处理的方法,这种东西在当时来说没有一家计算机公司可以提供.这种东西的目的其实就是建立一个能支持多位话务员在一个复杂的环境中进行同时作业的操作系统. 这个需要的东西就是Unix萌发的源头. 接下来的介绍开发Unix类操作系统的循序渐进过程中发生的主要事件及对应时段.
折叠1965年到1969年
1965年Bell实验室加入了MIT(麻省理工学院)和GE(通用电器公司)合作开发的一个项目,该项目要求在通用公司的GE 645大型计算机硬件上开发出一套多用户交互操作系统软件,名字定为Multics.然而由于Bell实验室对系统开发中经常性的延迟和高成本消耗不满,最后终于在1969年退出了Multics系统的开发项目.1969年Ken Thompson把Multics在Bell实验室内进行了展示,这时候正好遇上了Dennis Ritchie,他提供了一台DEC(数字设备公司)的PDP-7迷你计算机硬件,可以继续用来开发能支持多用户研究环境的操作系统.这两个人建立了一个开发原型后,Ken Thompson返回了Bell实验室并鼓励在专利部门使用新开发的这款操作系统来进行文档处理工作.为区别于Multics项目,新操作系统被命名为Unix. 开发Unix的各种努力在继续,终于在1971年Unix得以在Bell实验室变得实际可用.第一版本的Unix操作系统完全使用汇编语言在PDP-11/20硬件上开发完成.它包含了基本文件系统,以及fork,roff和ed三个工具,当时它的用途就是为Bell实验室专利部门的文档准备工作提供字处理工具.
折叠1970年到1972年
70年代早期,Unix开始在Bell实验室变得流行起来,作为新诞生的操作系统Unix也受到了大学机构的欢迎.与学院和高科技研究领域对Unix喜爱形势不同,商业社区到处充斥着怀疑Unix的声音.为提升Unix的流行度,AT&T公司开始将Unix源代码以最小的价格许可给大学机构研究用,AT&T提供了关于Unix大量软件代码和说明手册,但是没有提供软件使用的技术支持.70年代末,几乎70%的大学机构获得了Unix许可.许多计算机专业的毕业生在使用Unix,甚至对Unix代码进行修改,使它更加健全.Unix是用汇编语言写出来的主要运行在DEC公司的硬件设备平台上,开始在PDP-7设备上,然后是PDP-11/40设备和11/45设备,最后到PDP-11/70设备,使用变得更加广泛和流行.
折叠1973年到1979年
这段时期是Unix开发最重要的时期.Ritchie和Thompson两人在1969到1973年时间内开发出了C编程语言,并且把Unix的内核用C高级编程语言进行了重新编写.Unix操作系统得以在不同硬件平台上编译运行.花几个月时间,用C编写的Unix就可以移植到新的硬件平台上.在C语言的帮助下修改操作系统也变得容易起来.学术社区的会员已经开始在许多系统设计课程中使用Unix,利用通用C语言写现代的命令,Unix也开始走出了字处理和编辑等局限性领域.此时Unix已经发展到了第六个版本,一个名叫Whitesmiths的商业公司基于第六版Unix发布了一个名叫Idris的商业Unix版本.1975年Thompson造访Berkeley大学安装在PDP-11/70设备上第六版Unix,此刻学校的两位毕业生Bill Joy和Chuck Haley刚好与Berkeley的这版Unix打交道,他俩在Berkeley为Unix的发展扮演了重要的角色,他们在第六版Unix环境上的第一个项目是ex编辑器的开发.他俩对Unix的内部运行原理很感兴趣,Joy把C语言增强壳以及vi编辑器等组合到了一起,形成了一个叫BSD(Berkeley软件发行包)的套装,1975第一次发布,这种模式在1978年进行了第二次发布,第二次发布的BSD中添加了虚拟内存的支持,允许程序可以在在物理内存大小不够用的情况下,继续模拟出虚拟内存来进行使用.这个特殊的想法对Bell实验室发布第七版的Unix影响非常大,第七版Unix也是最后一版完全由Bell实验室原创的Unix发行版.此后的Unix版本中的功能内容由多家商业公司和大学研究机构进行了或多或少的增添.70年代末美国国防部高级研究项目局决定将其通用计算环境构建在Berkeley版的Unix之上,在4.1版BSD的基础上,国防部高级研究项目局为4.1BSD进行了重要的性能调优提升,提供的fast文件系统提升了系统性能阻止了文件碎片的生成,该文件系统被加进了4.2版的BSD软件系统中.FreeBSD1982年到1983年
1982年AT&T公司正式向商业领域发布了一款测试版Unix,名叫System III(System I和System II从来没有存在过),虽然System III基于第七版Unix但它也加入了一些来自BSD的工具,但System III发布版中没有包含vi编辑器和C壳,但内含了程序员workbench(工作性能度量工具),在发行System III的时候,AT&T看到了Unix的未来,很快就推出了System V版本的Unix(System IV没有在AT&T公司外出现过),其中包含了编辑器,curses(基于屏幕的软件库),和init(初始化程序),这些东西用来在开始运行Unix时启动各种过程.80年代初,Joy从berkeley大学取得了电气工程硕士学位后毕业了,变成了SUN(斯坦福大学网络)微系统公司的合伙创始人之一.Sun公司根据BSD实现的Unix操作系统名叫SunOS.这款Unix依靠对原BSD系统中的网络工具进行扩展,这些扩展中就有著名的后来变为工业标准的NFS(网络文件系统协议).Sun还为早期的Unix窗口软件开发做了一些工作,SunOS于1983年首次发布.利用Sun提供的工作站硬件产品,Unix开始在高技术领域,尤其是计算机辅助设计和工程领域(CAD/CAE)被广泛地接受.80年代早期CAD/CAE变得流行起来,另外的PC工作站提供商象HP和Apollo等开始加入到该领域,但配备Unix的Sun工作站在性能和多用户处理方面胜过了PC工作站.在其他的商业计算环境中,Unix始终被认为是一个需自我完善的操作系统,它没有侵占大型机的市场,只是在多任务处理和网络连接中发挥了显著的特色.更重要的在于C语言的诞生使Unix可以向几乎任何硬件平台移植.
折叠1984年到2001年
1984年AT&T发布了可以支持监视器连接到Unix的System V r2,该功能通过termcap的监视器数据库文件实现,命名为terminfo的文件可以提供多种监视器硬件的支持.其他的还有Streams和远程文件系统等. Solaris是1993年由SunOS改名而来,开始转向支持AT&T公司的System V release4版本.1993年Unix商标被Novell公司购得.1994年Solaris 2.4发布. 1995年Solaris 2.5发布,1997年Solaris 2.6生效,1998年Solaris 7发布,2000年Solaris 8发布,2001年Solaris 9测试版在3季度发布.从Solaris 8开始,Solaris除了能在Sun公司自己的SPARC系列处理器上运行外,还可以运行在Intel处理器平台上
系统组成
UNIX操作系统结构由三大部分组成:
1. (1) kernel(内核)
2. (2) shell(外壳)
3. (3) 工具及应用程序
UNIX Kernel(UNIX内核) 是UNIX操作系统的核心,指挥调度UNIX机器的运行,直接控制计算机的资源,保护用户程序不受错综复杂的硬件事件细节的影响。
硬件
工具和应用程序
SHELL
KERNEL
UNIX Shell(UNIX外壳) 是一个UNIX的特殊程序,是UNIX内核和用户的接口,是UNIX的命令解释器。
目前常见的Shell有三种:
hell类型 简称 命令 主要特点
Bourne Shell B Shell sh 最老、使用最广泛,每个UNIX都提供。
Korn Shell K Shell ksh 是对B Shell的扩充,兼容B Shell。
C-Shell csh 格式有点象C语言。功能强,命令记忆稍难,在大学和学院中较为流行。
一般系统缺省为Bourne Shell, 本文以此shell为例。
要想将当前Shell改为其它类型的Shell,只需在操作系统提示符下键入相应的Shell命令即可。如在B Shell下键输入命令:$ ksh
就进入了K Shell。
应用范围