UNIX系统内核结构-09.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《UNIX系统内核结构-09.ppt》由会员分享,可在线阅读,更多相关《UNIX系统内核结构-09.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Ch.9Ch.9第第9章章 UNIX系统内核结构系统内核结构 9.1 UNIX9.1 UNIX系统概述系统概述 9.2 9.2 进程的描述和控制进程的描述和控制 9.3 9.3 进程的同步与通信进程的同步与通信 9.4 9.4 存储器管理存储器管理 9.5 9.5 设备管理设备管理 9.6 9.6 文件管理文件管理 1/17/20231授课教师:张雁Ch.9Ch.99.1 UNIX系统概述系统概述 9.1.1 UNIX系统的发展史系统的发展史 1.UNIX系统的发展系统的发展 2.两大集团对峙两大集团对峙OSF集团与集团与UI集团集团 3.网络操作系统网络操作系统UNIX 1/17/20232
2、授课教师:张雁Ch.9Ch.99.1.2 UNIX系统的特征系统的特征 1)开放性2)2)多用户、多任务环境 3)3)功能强大,实现高效 4)4)提供了丰富的网络功能5)5)支持多处理器功能 1/17/20233授课教师:张雁Ch.9Ch.99.1.3 UNIX系统的内核结构系统的内核结构u硬件硬件uOS核心核心u进程控制子系统(进程控制子系统(负责为将要执行的程序和数据文件分负责为将要执行的程序和数据文件分配内存空间,并负责调度、控制并发进程的执行、进程通配内存空间,并负责调度、控制并发进程的执行、进程通信和内存管理)信和内存管理)u文件子系统(存放、管理暂时不被处理机执行的程序文件子系统(
3、存放、管理暂时不被处理机执行的程序和数据,分配空间,控制文件存取和为用户检索信息)和数据,分配空间,控制文件存取和为用户检索信息)uShell接口与编译程序接口与编译程序u应用程序应用程序1/17/20234授课教师:张雁Ch.9Ch.9图 9-1 UNIX核心的框图1/17/20235授课教师:张雁Ch.9Ch.91.进程控制子系统进程控制子系统(1)进程控制(2)(2)进程通信(3)(3)存储器管理(4)(4)进程调度1/17/20236授课教师:张雁Ch.9Ch.92.文件子系统文件子系统(1)文件管理(2)高速缓冲机制(3)(3)设备驱动程序 1/17/20237授课教师:张雁Ch.9
4、Ch.99.2 进程的描述和控制进程的描述和控制 9.2.1 进程控制块进程控制块PCB 在在UNIX系统系统中,中,把进程控制块分为四部分:把进程控制块分为四部分:(1)进程表项(常驻内存)进程表项(常驻内存)(2)U区(非内存区)区(非内存区)(3)进程区表进程区表(4)系统区表系统区表1/17/20238授课教师:张雁Ch.9Ch.9进程控制块(一)进程控制块(一)u进程表项(进程表项(Proc结构)结构)常驻内存常驻内存u存放的是系统感知进程存在所必需的数据和存放的是系统感知进程存在所必需的数据和信息信息u进程的唯一标识进程的唯一标识uU区区(User结构)结构)非常驻内存非常驻内存u
5、存放的是进程执行时所需的各种控制数据和存放的是进程执行时所需的各种控制数据和信息信息u存放在该进程的数据段中存放在该进程的数据段中1/17/20239授课教师:张雁Ch.9Ch.9进程控制块(二)进程控制块(二)u系统区表系统区表u区(区(Region)u进程虚拟地址空间上的一段连续区域,它是被进程虚拟地址空间上的一段连续区域,它是被共享、保护以及进行内存分配和地址变换的独立共享、保护以及进行内存分配和地址变换的独立实体。实体。u系统区表的内容系统区表的内容P325u本进程区表本进程区表u记录进程的每个区在进程中的虚地址,并通过它找记录进程的每个区在进程中的虚地址,并通过它找到该区在物理存储器
6、中的实地址。到该区在物理存储器中的实地址。1/17/202310授课教师:张雁Ch.9Ch.9系统区表区号类型长度内存地址状态共享计数文件指针在系统创建新进程时,核心将从区表中分配相应的表项给所创建的进程。1/17/202311授课教师:张雁Ch.9Ch.99.2.2 进程状态与进程映像进程状态与进程映像 图 9-4 进程的状态转换 1/17/202312授课教师:张雁Ch.9Ch.92.进程映像(进程实体的组成)进程映像(进程实体的组成)1)用户级上下文用户级上下文(用户的程序)(用户的程序)2)寄存器上下文(寄存器上下文(CPU的状态)的状态)(1)程序寄存器。程序寄存器。(2)处理机状态
7、寄存器处理机状态寄存器(PSR)。(3)栈指针。栈指针。(4)通用寄存器。通用寄存器。3)系统级上下文(系统级上下文(OS管理该进程所用的信息)管理该进程所用的信息)(1)静态部分。静态部分。(2)动态部分。动态部分。1/17/202313授课教师:张雁Ch.9Ch.9进进程程控控制制1/17/202314授课教师:张雁Ch.9Ch.9UNIX启动及进程树的形成UNIX进进程程树树1/17/202315授课教师:张雁Ch.9Ch.9进程创建进程创建Fork系统调用系统调用(1)为新进程分配一个进程表项喝酒)为新进程分配一个进程表项喝酒inch标识符标识符(2)检查同时运行的进程数目)检查同时运
8、行的进程数目(3)拷贝进程表项中的数据)拷贝进程表项中的数据(4)子进程继承父进程的所有文件)子进程继承父进程的所有文件(5)为子进程创建进程上下文)为子进程创建进程上下文(6)子进程执行)子进程执行1/17/202316授课教师:张雁Ch.9Ch.9NOTESu如果是用户创建的子进程,它将继承父进程在如果是用户创建的子进程,它将继承父进程在创建时刻所拥有的全部资源,包括所有已经打创建时刻所拥有的全部资源,包括所有已经打开的文件和程序。开的文件和程序。u子进程映像与父进程映像是存储在两个不同的子进程映像与父进程映像是存储在两个不同的地址空间中内容相同的程序副本。地址空间中内容相同的程序副本。u
9、父进程和子进程在各自的存储空间上运行着内父进程和子进程在各自的存储空间上运行着内容相同的程序。容相同的程序。1/17/202317授课教师:张雁Ch.9Ch.9进程映像重新载入进程映像重新载入execuExec的功能u将制定的可执行文件加载到指定的进程映像中,覆将制定的可执行文件加载到指定的进程映像中,覆盖该进程映像中原有的程序。盖该进程映像中原有的程序。u过程u根据给定的路径名找到制定的可执行文件,检查是根据给定的路径名找到制定的可执行文件,检查是否是可执行否是可执行u加载覆盖原来的进程映像加载覆盖原来的进程映像u为该程序的执行设置参数和环境为该程序的执行设置参数和环境u启动该进程进入新的程
10、序入口点去执行启动该进程进入新的程序入口点去执行1/17/202318授课教师:张雁Ch.9Ch.9Example(一)一)u创建一个子进程,并加载程序,其功能显示创建一个子进程,并加载程序,其功能显示“I am a child”,加载的程序路径名为加载的程序路径名为./chldu#include#include main()printf(“I am a childn”);exit(0);chld.c1/17/202319授课教师:张雁Ch.9Ch.9Example(二)#include#include main()int p;/存放子进程存放子进程pid号号 while(p=fork()=-
11、1);/创建子进程创建子进程if(p=0)/子进程返回子进程返回 exec(“./chld”,0);/加载子进程的程序加载子进程的程序 else /父进程返回父进程返回 wait(0);/等待子进程终止等待子进程终止 exit(0);1/17/202320授课教师:张雁Ch.9Ch.9进程的终止进程的终止exit内核须为内核须为exit完成以下操作:完成以下操作:(1)关闭软中断。关闭软中断。(2)回收资源。回收资源。(3)写记账信息。写记账信息。(4)置进程为置进程为“僵死僵死”状态。状态。(5)转进程调度)转进程调度 1/17/202321授课教师:张雁Ch.9Ch.99.2.4 进程调度
12、与切换进程调度与切换 进程的调度由进程的调度由0#进程完成进程完成0#进程的组成进程的组成swtch:负责处理机的分配负责处理机的分配sched:负责进程映像在内存和对换区之间的对换负责进程映像在内存和对换区之间的对换调度的算法调度的算法多级反馈轮转调度法(基于时间片多级反馈轮转调度法(基于时间片+优先级)优先级)1/17/202322授课教师:张雁Ch.9Ch.9调度的实现调度的实现u进程调度由进程调度由swtch 过程实现过程实现u实质实质u完成一个进程之间的上下文切换过程完成一个进程之间的上下文切换过程u过程过程u保存当前进程的上下文保存当前进程的上下文u从内存就绪队列中寻找一优先级最高
13、进程从内存就绪队列中寻找一优先级最高进程u将选中进程的上下文调入将选中进程的上下文调入1/17/202323授课教师:张雁Ch.9Ch.99.3 进程的同步与通信进程的同步与通信9.3.1 低级通信低级通信9.3.2 管道机制管道机制9.3.3 IPC1/17/202324授课教师:张雁Ch.9Ch.9低级通信低级通信u低级通信低级通信u主要用来传递进程间的控制信号主要用来传递进程间的控制信号u方法方法u原语:睡眠原语原语:睡眠原语sleep和和唤醒原语唤醒原语wakeupu软中断:是通信进程之间用来模拟硬中断的软中断:是通信进程之间用来模拟硬中断的一种信号通信方式。一种信号通信方式。1/17
14、/202325授课教师:张雁Ch.9Ch.9软软中断信号中断信号Example(一)一)u要求:编写一个程序,循环显示字符串要求:编写一个程序,循环显示字符串“Hello!”,当键盘键入当键盘键入Ctrl+C时终止循环,显示时终止循环,显示“OK!”后结束。后结束。u#include#include#include void int_func(int sig);int k;void int_func(int sig)/定义软中断处理函数定义软中断处理函数 k=0;1/17/202326授课教师:张雁Ch.9Ch.9软中断信号软中断信号Example(二)二)uMain()signal(SIGI
15、NT,int_func);/设置软中断信号对应的处理函设置软中断信号对应的处理函数数k=1;/循环显示,等待键入循环显示,等待键入Ctrl+C,获取该软中断信号后处理获取该软中断信号后处理while(k=1)printf(“Hello!n”);printf(“Ok!n”);/软软中断处理函数返回中断处理函数返回exit(0);1/17/202327授课教师:张雁Ch.9Ch.99.3.2 管道机制管道机制 1.管道的类型管道的类型 1)无名管道无名管道(Unnamed Pipes)2)2)有名管道有名管道(Named Pipes)1/17/202328授课教师:张雁Ch.9Ch.9无名管道与有
16、名管道无名管道与有名管道比较项目比较项目无名管道无名管道有名管道有名管道服务对象服务对象进程及其子孙进程进程及其子孙进程任意关系的进程任意关系的进程实现机制实现机制逻辑上是管道文件,逻辑上是管道文件,物理上是高速缓存,物理上是高速缓存,与外设无关与外设无关逻辑上是管道文件,物逻辑上是管道文件,物理上依赖于文件系统实理上依赖于文件系统实现,是物理设备文件现,是物理设备文件永久性永久性临时创建于内存临时创建于内存存在于文件系统中存在于文件系统中名称名称无文件名,用文件描无文件名,用文件描述符存取述符存取有文件名有文件名创建方式创建方式pipemkfifo1/17/202329授课教师:张雁Ch.9
17、Ch.9Example(一)一)u要求:父进程创建一个子进程和一个无名管道要求:父进程创建一个子进程和一个无名管道fd,由由子进程向管道写入信息子进程向管道写入信息“This is a message!”,然后终然后终止执行;父进程接收到子进程终止信号后从管道中读止执行;父进程接收到子进程终止信号后从管道中读出并显示信息后结束。出并显示信息后结束。u#include#include main()int p1,fd2;char outpipe50;char inpipe50=“This is a message!”;pipe(fd);/创建无名管道创建无名管道fd1/17/202330授课教师:
18、张雁Ch.9Ch.9uWhile(p1=fork()=-1);if(p1=0)/子进程返回子进程返回 write(fd1,inpipe,50);/写信息到管道写信息到管道 exit(0);else /父进程返回父进程返回 wait(0);/等待子进程终止等待子进程终止 read(fd0,outpipe,50);/从管道读信息从管道读信息 printf(“%sn”,outpipe);exit(0);Example(二)(二)1/17/202331授课教师:张雁Ch.9Ch.99.4 存储器管理存储器管理u内存管理概述内存管理概述u段页式管理中的请求分页管理段页式管理中的请求分页管理u交换技术交换
19、技术u内存空间的分配和回收单位:页内存空间的分配和回收单位:页1/17/202332授课教师:张雁Ch.9Ch.9交换区管理交换区管理u交换进程交换进程u0#进程中的交换进程进程中的交换进程schedu功能功能u对交换空间的管理对交换空间的管理u进程换出进程换出u进程换入进程换入u交换区的管理交换区的管理u数据结构:映射图数据结构:映射图u空闲盘块的起始地址空闲盘块的起始地址u以该地址起始的可分配的连续块数以该地址起始的可分配的连续块数u采用首次适应算法采用首次适应算法1/17/202333授课教师:张雁Ch.9Ch.9请求分页的数据结构请求分页的数据结构u虚地址结构uUNIX的区表区号Q页号
20、P页内位移W03130 2910 9区名区起始虚地址大小状态保护权引用计数页表起始地址正文数据栈U1/17/202334授课教师:张雁Ch.9Ch.91.页表和磁盘描述表页表和磁盘描述表页表页表(每个区分配一个页表)(每个区分配一个页表)物理页号物理页号年龄年龄写时写时拷贝拷贝修改位修改位访问位访问位有效位有效位保护保护对换对换设备号设备号设备块号设备块号存储器类型存储器类型磁盘描述表(描述一页的磁盘副本)磁盘描述表(描述一页的磁盘副本)请求分页的数据结构请求分页的数据结构1/17/202335授课教师:张雁Ch.9Ch.92.页框数据表和对换使用表页框数据表和对换使用表 图 9-10 页框数
21、据表项及其散列队列 1/17/202336授课教师:张雁Ch.9Ch.9对换使用表对换使用表图 9-11 四种数据结构之间的关系 1/17/202337授课教师:张雁Ch.9Ch.9请求调页技术请求调页技术u页表页表 有效位有效位V=0u进程要访问的页不在内存,可能在下述三种介进程要访问的页不在内存,可能在下述三种介质之一质之一u外存交换区中外存交换区中u外存可执行文件中外存可执行文件中u缓冲区的空闲队列中缓冲区的空闲队列中1/17/202338授课教师:张雁Ch.9Ch.9请求调页的调入过程1/17/202339授课教师:张雁Ch.9Ch.9换页进程(一)换页进程(一)u任务任务u将页表中年
22、龄大于某个阈值的页换出内存将页表中年龄大于某个阈值的页换出内存。u工作方式工作方式u当系统中可用的空闲页面少于下限阈值时,唤醒当系统中可用的空闲页面少于下限阈值时,唤醒换页进程换页进程u该进程首先检查每个活动的、没有封锁的区,增该进程首先检查每个活动的、没有封锁的区,增加所有有效页(在内存)的年龄值加所有有效页(在内存)的年龄值u当某页的年龄大于阈值时,将其换出当某页的年龄大于阈值时,将其换出1/17/202340授课教师:张雁Ch.9Ch.9换页进程(二)换页进程(二)u换页进程工作的步骤换页进程工作的步骤u换页进程找出应该换出的内存页面,将其页号放入换页进程找出应该换出的内存页面,将其页号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UNIX 系统 内核 结构 09
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内