第十章UNIX系统内核结构课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第十章UNIX系统内核结构课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十 UNIX 系统 内核 结构 课件
- 资源描述:
-
1、第十章UNIX系统内核结构 第十章UNIX系统内核结构 10.1UNIX系统概述系统概述10.2进程的描述和控制进程的描述和控制10.3进程的同步与通信进程的同步与通信10.4存储器管理存储器管理10.5设备管理设备管理 10.6文件管理文件管理 1谢谢观赏2019-5-18第十章UNIX系统内核结构 10.1UNIX系统概述系统概述 10.1.110.1.1UNIXUNIX系统的发展史系统的发展史1 1UNIXUNIX系统的发展系统的发展UNIX系统是美国电报电话公司(AT&T)Bell实验室的Ennis Ritchie和Ken Thompson合作设计和实现的。他们在设计时,充分地吸取了以
2、往OS(其中包括著名的CTSS和MULTICS系统)设计和实践中的各种成功经验和教训。在DEC公司的小型机PDP7上实现并于1971年正式移植到PDP11计算机上。2谢谢观赏2019-5-18第十章UNIX系统内核结构 最初的UNIX版本是用汇编语言编写的。不久,Thompson用一种较高级的B语言重写了该系统。1973年Ritchie又用C语言对UNIX进行了重写,形成了最早的正式文件UNIX V5 版本。1976年正式公开发表了UNIX V6版本,还开始向美国各大学及研究机构颁发了使用UNIX的许可证,并提供了源代码,以鼓励他们对UNIX加以改进,因而又推动了UNIX 的迅速发展。3谢谢观
3、赏2019-5-18第十章UNIX系统内核结构 1978年发表了UNIX V7版本,它是在PDP 11/70上运行的,后来移植到DEC公司的VAX系列计算机上。1982至1983年期间,又先后宣布了UNIX System 和UNIX System;1984年推出了UNIX System 2.0;1987年发布了UNIX System 3.0版本,分别称为UNIX SVR 2和UNIX SVR 3;1989年宣布了UNIX SVR 4;1992年又发表了UNIX SVR 4.2版本。4谢谢观赏2019-5-18第十章UNIX系统内核结构 2 2两大集团对峙两大集团对峙在UNIX系统的发展史上必须
4、说明的是,由于UNIX的开放性、发展概念和商业利益等因素,使UNIX呈现出“百家争鸣”的盛况,后又进一步形成了两大阵营对峙的局面。此即,由IBM和DEC等公司于1988年5月结成了开放软件基金会OSF集团,以及由AT&T、SUN和NCR等公司于同年12月结成了UI集团。他们分别推出了自己的UNIX系统产品。其中,UI推出的是“SVR 4”,而OSF推出的是“OSF/I”。虽然两者都是UNIX,但它们在系统构架、命令操作以及管理方式上,都有所不同。两者在市场上展开了激烈的竞争。5谢谢观赏2019-5-18第十章UNIX系统内核结构 应当看到,虽然两种UNIX系统并存,但在他们之间并不相互兼容,这
5、对用户非常不利。因而,这无疑会影响到UNIX对用户的吸引力,加之,随着Microsoft公司的迅速崛起,并以惊人的速度由传统的PC机市场向工作站和网络市场扩张,迫使UI和OSF两大集团不得不相互让步、携手言和,从而共同制定了应用程序接口API(Application Program Interface)标准技术规范,并联合开发共同开放软件环境COSE(Common Open Software Enviroment)。6谢谢观赏2019-5-18第十章UNIX系统内核结构 由于UNIX这一名字已被X/Open用作注册商标,因而其他公司所开发的UNIX产品不能再用UNIX这一名字,致使不同的UNI
6、X系统在不同的公司,甚至是在不同的机器上,都各用自己的名字,如IBM RS/6000上的“AIX”(System)操作系统、Sun公司的“Sun OS”(4.3 BSD或SVR 4)和“Solarix”操作系统、HP公司的“HPUX”(System)以及SCO公司的“SCO UNIX”(SVR 3.2)操作系统等。7谢谢观赏2019-5-18第十章UNIX系统内核结构 3 3网络操作系统网络操作系统UNIXUNIXUNIX凭借其“开放性”、“先进性”以及先入为主的优势,使20世纪70年代成为UNIX时代。70年代同时也是网络的萌芽时代,相应地,1976年人们便开发了一个UNIX网络应用程序。该
7、程序随着UNIX V7版本一并发行。1980年9月Bell实验室等又为美国国防部在Berkeley的UNIX上开发了TCP/IP协议系统,于1983年8月对外发行,该协议得以很快发表和普及,从而成为后来的Internet上最重要的网络协议。到80年代中期,他们已在UNIX System 上开发出多种基于TCP/IP的网络软件,并将它们构成一个TCP/IP协议软件包。8谢谢观赏2019-5-18第十章UNIX系统内核结构 20世纪80年代是LAN快速发展的10年。1984年,Novell公司推出了以LAN为环境的Netware V1.0,继之它经过了不断的改进并增强了其功能,相应的版本由V1.0
8、经过V2.X到V3.X。仅经历短短的3年,到1987年时,其销量已占居全球第一位,并由于此后它长期保持优势而使之成为网络工业界的标准。9谢谢观赏2019-5-18第十章UNIX系统内核结构 进入90年代后,企业网络和Internet得到极其迅速的发展和广泛应用,致使计算机网络已经无所不在,也形成了巨大的网络软件市场。此时,一些主要的UNIX系统开发商也加强了在网络方面更深入的研究,于是也不断地推出用于企业网络的UNIX网络OS版本,如SCO公司的Unixware NOS和Sun公司的Solaris NOS等。10谢谢观赏2019-5-18第十章UNIX系统内核结构 10.1.210.1.2UN
9、IXUNIX系统的特征系统的特征1 1开放性开放性UNIX系统最本质的特征是开放性。所谓开放性,是指系统遵循国际标准规范;凡遵循国际标准所开发的硬件和软件,均能彼此兼容,并可方便地实现互连。开放性已成为20世纪90年代计算机技术的核心问题,也是一个新推出的系统或软件能否被广泛应用的重要因素。人们普遍认为:UNIX是目前开放性最好的OS,是目前惟一能稳定运行在从微型机到大、中型等各种机器上的OS,而且还能方便地将已配置了UNIX OS的机器互连成计算机网络。11谢谢观赏2019-5-18第十章UNIX系统内核结构 2 2多用户、多任务环境多用户、多任务环境UNIX系统是一个多用户、多任务OS,它
10、既可以同时支持数十个乃至数百个用户通过各自的联机终端同时使用一台计算机,而且还允许每个用户同时执行多个任务。例如,在进行字符图形处理时,用户可建立多个任务,分别用于处理字符的输入、图形的制作和编辑等任务。12谢谢观赏2019-5-18第十章UNIX系统内核结构 3 3功能强大且高效功能强大且高效UNIX系统提供了精选的、丰富的系统功能,使用户可方便、快速地完成许多其它OS所难于实现的功能。UNIX已成为世界上功能最强大的操作系统之一,而且它在许多功能的实现上还有其独到之处,并且是高效的。例如,UNIX的目录结构、磁盘空间的管理方式、I/O重定向和管道功能等。其中,不少功能及其实现技术已被其它O
11、S所借鉴。13谢谢观赏2019-5-18第十章UNIX系统内核结构 4 4丰富的网络功能丰富的网络功能UNIX系统还提供了十分丰富的网络功能。作为Internet网络技术基础的TCP/IP协议,便是在UNIX系统上开发出来的,并已成为UNIX系统不可分割的部分。UNIX系统还提供了许多最常用的网络通信协议软件,其中包括网络文件系统NFS软件、客户/服务器协议软件Lan Manager Client/Server及IPX/SPX软件等。通过这些产品可以实现在各UNIX 系统之间,UNIX与Novell的Netware,以及MS-Windows NT、IBM LAN Server等网络之间的互连和
12、互操作。14谢谢观赏2019-5-18第十章UNIX系统内核结构 5 5支持多处理器功能支持多处理器功能与Windows NT及Netware等OS相比较,UNIX是最早提供支持多处理器功能的OS,它所能支持的多处理器数目也一直处于领先水平。例如,1996年推出的NT 4.0只能支持14个处理器,而Windows 2000最多也只支持16个处理器,然而UNIX系统在20世纪90年代中期便已能支持3264个处理器,而且拥有数百个乃至数千个处理器的超级并行机也普遍支持UNIX。15谢谢观赏2019-5-18第十章UNIX系统内核结构 10.1.310.1.3UNIXUNIX系统的内核结构系统的内核
13、结构可以把整个UNIX系统分成四个层次。其最低层是硬件,作为整个系统的基础。次低层是OS核心,包括前面所介绍的进程管理、存储器管理、设备管理和文件管理四大资源管理功能。上面第二层是OS与用户的接口Shell以及编译程序等。最高层是应用程序。作为OS的核心,它应具有两方面的接口:一方面是核心与硬件的接口,它通常是由一组驱动程序和一些基本的例程所组成的;另一方面就是核心与Shell的接口,它由两组系统调用及命令解释程序等所组成。核心本身又可分成两大部分:一部分是进程控制子系统;另一部分则是文件子系统。两组系统调用分别与这两大子系统交互。图10-1示出了UNIX核心的框图。16谢谢观赏2019-5-
14、18第十章UNIX系统内核结构 图10-1UNIX核心的框图 字符设备块设备设备驱动程序硬件控制高速缓存文件子系统系统调用接口进程间通信调度存储管理进程控制子系统核心级硬件级硬件核心级用户级库函数用户程序捕俘17谢谢观赏2019-5-18第十章UNIX系统内核结构 1 1进程控制子系统进程控制子系统进程控制子系统负责对四大资源中的两大资源处理机和存储器进行管理。进程控制子系统的功能可分成以下几个方面:(1)进程控制。在UNIX系统中提供了一系列用于对进程进行控制的系统调用,例如,应用程序可利用系统调用fork创建一个新进程;用系统调用exit结束一个进程的执行。(2)进程通信。在UNIX系统中
15、提供了许多进程间通信的手段,例如,用于实现进程之间通信的消息机制,用于在同一用户的各进程之间通信的“信号”通信工具以及性能优良的信号量机制等。18谢谢观赏2019-5-18第十章UNIX系统内核结构(3)存储器管理。该功能用于为进程分配物理存储空间。为了提高内存利用率且方便用户,可采用段页式存储管理方式;可利用请求调页法实现虚拟存储器功能,以便从逻辑上扩充内存。此外,还实现了外存与内存间的对换功能。(4)进程调度。在UNIX系统中所采用的进程调度算法,是动态优先数轮转调度算法。系统按优先数最小者优先的策略,为选中的某一进程分配一个CPU时间片。当进程运行完一个时间片后,内核便把它送回就绪队列的
16、末尾。19谢谢观赏2019-5-18第十章UNIX系统内核结构 2 2文件子系统文件子系统文件子系统用于有效地管理系统中的所有设备和文件。其功能可分成以下三个方面:(1)文件管理。该功能用于为文件分配存储空间、管理空闲磁盘块、控制对文件的存取以及为用户检索数据。用户可通过一组系统调用来实现对文件的各种操作。(2)高速缓冲机制。为使核心与外设之间的数据流在速率上相匹配,设置了多个缓冲区,每个缓冲区的大小与一个盘块的大小相当。这些缓冲区被分别链入各种链表中,如空闲缓冲区链表等。20谢谢观赏2019-5-18第十章UNIX系统内核结构(3)设备驱动程序。UNIX系统把设备分成块设备(如磁盘、磁带等)
17、和字符设备(如打印机)两类。相应地,也把驱动程序分成两类,文件子系统将在缓冲机制的支持下,与块设备的驱动程序之间交互作用。21谢谢观赏2019-5-18第十章UNIX系统内核结构 10.2进程的描述和控制进程的描述和控制 10.2.110.2.1进程控制块进程控制块在UNIX系统中,把进程控制块(PCB)分为四部分:(1)进程表项,其中包括最常用的核心数据。(2)U区,用于存放用户进程表项的一些扩充数据。(3)系统区表,存放各个区在物理存储器中的地址信息等。(4)进程区表,用于存放各区的起始虚地址及指向系统区表中对应区表项的指针。22谢谢观赏2019-5-18第十章UNIX系统内核结构 1 1
18、进程表项进程表项(Process Table Entry)Process Table Entry)用于描述和控制一个进程的信息通常都很多,其中有些是经常要被访问的,如进程标识符、进程状态等。为了提高对这些信息访问的效率,系统设计者将这些信息放在进程表项中,又称之为Proc表或Proc结构,使之常驻内存。在每个进程表项中,含有下述一些具体信息:(1)进程标识符(PID),也称内部标识符,为方便用户使用,这里惟一地标识一个进程的某个整数。(2)用户标识符(UID),标识拥有该进程的用户。23谢谢观赏2019-5-18第十章UNIX系统内核结构(3)进程状态,表示该进程的当前状态。(4)事件描述符,
19、记录使进程进入睡眠状态的事件。(5)进程和U区在内存或外存的地址,核心可利用这些信息做上、下文切换。(6)软中断信息,记录其它进程发来的软中断信号。(7)计时域,给出进程的执行时间和对资源的利用情况。(8)进程的大小,这是核心在为进程分配存储空间时的依据,包括正文段长度和栈段长度等。24谢谢观赏2019-5-18第十章UNIX系统内核结构(9)偏置值nice,供计算该进程的优先数时使用,可由用户设置。(10)P_Link指针,这是指向就绪队列中下一个PCB的指针。(11)指向U区进程正文、数据及栈在内存区域的指针。25谢谢观赏2019-5-18第十章UNIX系统内核结构 2 2U U区区(U
20、Area)U Area)为了存放用于描述和控制进程的另一部分信息,系统为每一个进程设置了一个私用的U区,又称之为User结构,这部分数据并非常驻内存,其中含有下述信息:(1)进程表项指针,指向当前(正在执行)进程的进程表项。(2)真正用户标识符u-ruid(real user ID),这是由超级用户分配给用户的标识符,以后,每次用户在登录进入系统时,均须输入此标识符。26谢谢观赏2019-5-18第十章UNIX系统内核结构(3)有效用户标识符u-euid(effective user ID),在一般情况下,它与ruid相同,但在其他用户允许的情况下,可用系统调用setuid将它改变为其他用户标
21、识符,以获得对该用户的文件进行操作的权力。(4)用户文件描述符表,其中记录了该进程已打开的所有文件。(5)当前目录和当前根,用于给出进程的文件系统环境。(6)计时器,记录该进程及其后代在用户态和核心态运行的时间。27谢谢观赏2019-5-18第十章UNIX系统内核结构(7)内部I/O参数,给出要传输的数据量、源(或目标)数据的地址、文件的输入/输出偏移量。(8)限制字段,指对进程的大小及其能“写”的文件大小进行限制。(9)差错字段,记录系统调用执行期间所发生的错误。(10)返回值,指出系统调用的执行结果。(11)信号处理数组,用于指示在接收到每一种信号时的处理方式。28谢谢观赏2019-5-1
22、8第十章UNIX系统内核结构 3 3系统区表系统区表(System Region Table)System Region Table)系统把一个进程的虚地址空间划分为若干个连续的区域:正文区、数据区、栈区等。这些区是可被共享和保护的独立实体。多个进程可共享一个区,例如,多个进程共享一个正文区,即几个进程将执行同一个(子)程序。同样,多个进程也可共享一个数据区。为了对区进行管理,在核心中设置了一个系统区表(简称区表),在各表项中记录了以下有关描述活动区的信息:29谢谢观赏2019-5-18第十章UNIX系统内核结构(1)区的类型和大小。(2)区的状态。一个区有这样几种状态:锁住、在请求中、在装入
23、过程、有效(区已装入内存)。(3)区在物理存储器中的位置。(4)引用计数,即共享该区的进程数。(5)指向文件索引结点的指针。30谢谢观赏2019-5-18第十章UNIX系统内核结构 4 4进程区表进程区表(Process Region Table)Process Region Table)为了记录进程的每个区在进程中的虚地址,并通过它找到该区在物理存储器中的实地址,系统为每个进程配置了一张进程区表。表中的每一项记录一个区的起始虚地址及指向系统区表中对应的区表项的指针。这样,核心可通过查找进程区表和系统区表,将区的逻辑地址变换为物理地址。可见,进程区表和系统区表用于对区地址进行映像(射)。这里用
24、两张区表实现地址映射,是为了便于实现对区的共享。31谢谢观赏2019-5-18第十章UNIX系统内核结构 图10-2示出A和B两个进程的进程区表和系统区表。在A进程区表中的正文区、数据区和栈区中的指针,分别指向相应于a、b、c区的系统区表项。由于A和B进程共享正文区,故它们都指向同一个正文区a。一个进程的数据结构是由上述的进程表项、U区、进程区表与系统区表项所组成的,它们之间的关系如图10-3所示。32谢谢观赏2019-5-18第十章UNIX系统内核结构 图10-2进程区表项、系统区表项和区的关系 正文数据栈正文数据栈abcdeabcde系统区表A进程区表B进程区表33谢谢观赏2019-5-1
25、8第十章UNIX系统内核结构 图10-3进程的数据结构 U区进程表abcabc进程区表系统区表34谢谢观赏2019-5-18第十章UNIX系统内核结构 10.2.210.2.2进程状态与进程映像进程状态与进程映像1 1进程状态进程状态在UNIX内核中,为进程设置了如图10-4所示的9种状态。35谢谢观赏2019-5-18第十章UNIX系统内核结构 图10-4进程的状态转换 62379845唤醒换出换出换入内存中睡眠睡眠且换出睡眠调度核心态执行1抢占被抢占内存中就绪内存足内存不足创建fork用户态执行返回到用户态系统调用中断中断中断返回返回僵死唤醒就绪且换出36谢谢观赏2019-5-18第十章U
展开阅读全文