您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > UNIX 入门基础第1章
2020/1/30第一章UNIX操作系统介绍UNIX的历史UNIX的商业化UNIX的种类(Varieties)UNIX的不同(variants)UNIX的基本概念2020/1/30UNIX的历史1雏形阶段UNIX操作系统是20世纪60年代末由AT&T公司贝尔实验室的KennethThompson和DennisRitchie于1969年实现的一种分时操作系统,最早的工作集中在文件管理和进程控制上,1970年用交叉汇编方法,将该系统移植到PDP-11上,并提供给公司内部的专利部门用作文字处理。2020/1/30UNIX吸取了以前的一个称作Multics系统的技术精华,又比Multics简单实用,开发者把其命名为UNIX,这就是UNIX内核的雏形。UNIX的历史2020/1/30UNIX的历史2成型阶段UNIX设计者们继续进行功能扩展和版本更新,1972年实现了极为重要的管道机制。1973年Ritchie开发出C语言,它的出现是UNIX系统发展过程中的重要里程碑。用C语言改写后的第3版UNIX具有高度易读性、可移植性,为迅速推广和普及走出了决定性的一步。2020/1/30UNIX的历史1974年,”TheUNIXTime-SharingSystem”一文在美国权威杂志CACM上发表,引起广泛注意。最早外界可获得的UNIX是1975年的UNIX第6版;1978年的UNIX第7版,可以看作当今UNIX的先驱,该版为今天UNIX的繁荣奠定了基础,UNIX也步入了成型阶段。2020/1/30UNIX的历史70年代中后期UNIX源代码的免费扩散引起了大学和公司的兴趣,大众的参与为UNIX的改进、完善、传播和普及起到了重要的作用。2020/1/30UNIX的历史•由大学开发的非AT&T系统UNIX是Berkeley分校运行在VAX-11机上的UNIXBSD。•最著名的是4.1BSD、4.2BSD、4.3BSD和4.4BSD,这些版本中加入页式虚存、长文件名、网络协议TCP/IP等,在UNIX发展中起了重要作用,已成为教学、科研、商用的主流系统。2020/1/30UNIX的商业化UNIX的广泛流传引起了不少计算机公司的兴趣。1977年AT&T公司开始向计算机厂商提供UNIX操作系统的初始设备制造许可(OEM),这使得许多OEM(例如微软和XENIC)能够重写UNIX的部分内核和外部结构,他们开始将UNIX商品化并推出了自己的UNIX商业版本。这些商业版本都以AT&T的系统V或者BSD版本为基础,并带有各自的增值特征。2020/1/30UNIX的商业化比较著名的有:SUN公司的SUNOS和Solaris,Microsoft公司的XENIX,Interactive公司的UNIX386/ix,DEC公司的ULTRIX,IBM公司的AIX,HP公司的的HP/UX和SCO公司的UNIX等。2020/1/30UNIX的商业化AT&T公司本身则先后发展了UNIXSYSTEMⅢ、UNIXSYSTEMⅤ,UNIXSVR4.0、4.1ES,UNIXSVR4.2等商品化版本。到90年代,不同的UNIX版本已超过100种。2020/1/302020/1/30UNIX标准化阶段商业集团的参与有力促进了UNIX技术的迅速发展与普及,但也导致了版本繁多,互不兼容的不利局面。从80年代开始,出现对UNIX标准化的努力。UNIX用户组织最早进行此项工作,后来被美国的IEEE接受和继承,并成立了标准化工作小组,着手制定基于UNIX的POSIX(易移植操作系统环境)标准,到90年代初已有20多个POSIX标准正式颁布与制定。2020/1/30UNIX标准化阶段UNIX版权拥有者AT&T公司也在进行努力,1984年颁布了UNIXSYSTEMⅤ的界面标准,简称SVID。1988年,AT&T与SUN公司宣布联合开发UNIXSYSTEMⅤ第4版计划,拟在兼容各主要UNIX版本基础上,使UNIXSVR4成为事实上的工业标准。此举得到了Unisys、NCR、富士通等计算机厂商的支持,但却遭到IBM、HP和DEC等厂商的不满。2020/1/30UNIX标准化阶段他们联合成立了开放系统基金会(OSF)来抵制SVR4计划,而AT&T和SUN等公司成立了UNIX国际(UI)来推动UNIXSVR4。UNIX分裂为互为对抗的两大集团,这种分裂与竞争一方面促进了UNIX技术的进步,但另一方面也延缓了UNIX市场的发展。2020/1/30UNIX标准化阶段UNIX取得成功的重要原因是系统的开放性,公开源代码,可方便地向UNIX添加新功能和工具,这样可使UINX越来越完善,成为有效的程序开发支撑平台。2020/1/30UNIX发展趋势UNIX系统目前安装数量超过500万套,用户数达到3000万,已成为一种主流操作系统。从总体上看,UNIX操作系统的主要发展趋势是统一化、标准化和不断创新。2020/1/30UNIX发展趋势1993年“公共开发软件环境(COSE)”组织成立,标志着主要UNIX厂商的联合和UNIX系统统一化的开始。同年,Novell公司从AT&T公司购得的UNIX商标权无偿交给开放系统标准化组织X/OPEN,这表明UNIX商标不再受某一厂商控制。在该组织的推动下,UNIX的两个重要标准Spec.1170(标准应用程序界面)和CDE(标准图形界面)己于1995年正式颁布,为UNIX的统一化、标准化打下了重要基础。2020/1/30UNIX发展趋势计算机发展史上,没有哪个程序设计语言像C那样得到如此广泛的流行,也没有哪个操作系统像UNIX那样获得普遍的青睐和应用,对整个软件技术和软件产业都产生了深远的影响,为此,Ritchie和Thompson共同获得了1983年度的ACM图灵奖和软件系统奖。2020/1/30石油系统应用SUN地震资料处理、解释,物探SGI地震资料处理、解释,优秀的图形图象处理IBM地震资料处理、解释,物探2020/1/30CharactersoftheUNIX简单、通用的命令命令短小、可以组合完成复杂的任务使用管道连接命令即一条命令的输出作为另一条命令的输入通用可选择的接口风格每条命令所完成的功能可被其后的选项所控制无文件类型UNIX不关心文件的类型。UNIX系统中任何程序都可以对任何文件操作,但只有理解文件格式的程序才能获得文件记录的信息。2020/1/30BenefitsofUNIX2020/1/30UNIX基本概念程序和进程内核shell特权用户系统调用与库函数2020/1/30程序和进程程序是包含计算机要执行指令集合的文件,它可分为源程序和可执行程序。源程序是用程序设计语言编写的正文形式的文件。例如用C或Fortran语言编写的源文件exam.c或exam.fo。源程序一般要经过编译器的编译后才能直接在计算机上运行,这种经过编译后生成的二进制代码文件称为可执行文件,即可执行程序。UNIX系统还有另外一种可执行程序,即shell脚本程序,例如用sh编写的脚本程序。脚本程序在执行过程中需经过其他程序(如shell程序)的解释。2020/1/30在UNIX中,处在运行中的程序称为进程。从用户的观点来看,进程是程序的一次执行,是正在运行着的程序。例如,当我们在终端键人执行某个程序的命令时便创建了该程序对应的进程。从UNIX系统内部来看,进程是运行程序并为程序提供执行环境的实体,是系统进行资源分配和调度运行的一个独立单位。程序和进程的区别是:程序是静止的,它只是一个文件;进程是动态的,它具有生存周期。程序和进程2020/1/30进程具有以下3个特点:1、进程有一个控制点和自己的独立地址空间。进程的控制点通过程序计数器跟踪着程序的指令序列,进程的地址空间由进程可以引用或访问的存储单元组成。进程在其地址空间执行程序的指令序列。2、进程具有生存期。进程从创建到消亡的过程称为进程的生存期。一个进程的生存期可以分为一组状态,这些状态刻画了进程从创建、活动到消亡的过程。从用户的观点粗略地划分,UNIX操作系统中进程主要有以下一些状态:程序和进程2020/1/30(1)新建进程正在被创建(2)就绪进程正在等待被执行(3)运行进程正在被执行(4)阻塞进程正在等待一个事件,例如I/0(5)僵死进程已经结束,并等待释放资源。是进程的最后状态程序和进程3、处于运行状态的进程有两种执行状态:用户态和核态。如果进程运行中执行的是用户程序中的指令,则进程处于用户态执行。当进程发出系统调用时,便导致进程进入核态执行。进程在核态下执行的是操作系统的指令。2020/1/30程序和进程2020/1/30进程的状态转换当程序被提交执行时,它首先创建一个处于新建状态的进程。当创建完成后,操作系统将这个进程放在就绪状态的进程队列中,进程调度程序将在某个时刻选择这个进程运行。当进程在CPU上实际运行时,它就处于运行状态了。处于阻塞状态的进程正在等待某个事件的发生并且不会被调度执行。通过执行一个如sleep的命令,进程可以自愿地进入阻塞状态。通常,进程执行一个I/O请求时也会进入阻塞状态直至I/O操作完成。当I/O完成时,硬件会中断CPU,操作系统的中断处理程序将唤醒该进程使它进入就绪状态并等待重新被调度运行。最后,当该进程完成时,它发出系统调用exit而进入僵死状态。当系统释放了该进程占用的所有资源后,该进程便消亡了。程序和进程2020/1/30内核内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。操作系统内核是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。它的一些核心功能包括:□事件的调度和同步。□进程间的通信(消息传递)。□存储器管理。□进程管理。□输入输出例程的管理。2020/1/30内核操作系统,在UNIX术语中称为“UNIX内核”UNIX内核是一个底层的、直接运行于硬件的程序,它控制着硬件,并创建、销毁和控制所有进程。典型地,它驻存在名为/vmunix或/unix(视unix厂商而定)的磁盘文件中。当系统启动时,一个称为“自举”(bootstrapping)的特殊过程会将UNIX内核从磁盘加载至内存并启动它运行。内核初始化整个系统、设置进程运行的环境,然后创建几个初始进程。这些进程随后将创建其他进程。一旦加载,内核便驻存在内存直到系统关机。在此期间,它管理着所有进程并为它们提供各种服务。2020/1/30UNIX系统的内核主要完成什么功能?UNIX系统的内核负责计算机系统中的资源管理和进程调度分配,其中包括中断处理、存储器管理、进程管理、I/O文件管理等多种基本程序,它在整个系统中是一个核心机构,为系统的运行提供最基础的支持。也可以说UNIX的内核是计算机硬件的第一次延伸,在内核中通常是通过原语操作实现各种控制和功能的管理,而对用户提供一种接口进行服务。2020/1/30从更广的角度来看,操作系统不仅仅是这个内核,它还有其他许多程序和例程,它们一起提供一个有用的工作环境。图1-2给出的是UNIX系统的体系结构。从中可看出,UNIX系统是层次模块结构的。处在最内层的是UNIX内核,内核直接与硬件交互,向外提供UNIX系统调用界面,如read、write等。外层的程序,如shell、date、1s和who之类的实用程序,通过引用系统调用请求内核完成各种操作,并在内核与调用程序之间交换数据。其他应用程序则在较低层的程序和工具的基础上构筑而成。内核2020/1/302020/1/30显然,单独一个核的功能是有限的,完整、友好的操作系统必须有内核外层的实用程序的支持。但是,内核在许多方面是特殊的,它定义了程序设计与系统的界面,是唯一的一个必不可少的程序,没有它任何程序都不能运行。尽管同时可有几个shell或编译程序可以运行,但一次只能装入一个核。内核2020/1/30shellshell是UNIX系统中的一个命令解释程
本文标题:UNIX 入门基础第1章
链接地址:https://www.777doc.com/doc-3398752 .html