设备管理第10章UNIX系统内核结构_第1页
设备管理第10章UNIX系统内核结构_第2页
设备管理第10章UNIX系统内核结构_第3页
设备管理第10章UNIX系统内核结构_第4页
设备管理第10章UNIX系统内核结构_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十章第十章 UNIXUNIX系统内核结构系统内核结构第十章第十章 UNIXUNIX系统内核结构系统内核结构 10.1 UNIX10.1 UNIX系统概述系统概述 10.2 10.2 进程的描述和控制进程的描述和控制 10.3 10.3 进程的同步与通信进程的同步与通信 10.4 10.4 存储器管理存储器管理 10.5 10.5 设备管理设备管理 10.6 10.6 文件管理文件管理 1第十章第十章 UNIXUNIX系统内核结构系统内核结构10.1 UNIX系统概述系统概述 10.1.1 UNIX系统的发展史系统的发展史 10.1.2 UNIX系统的特征系统的特征 1. 1、开放性、开放性2

2、. 2、多用户、多用户、 多任务环境多任务环境 3. 3、功能强大,、功能强大, 实现高效实现高效 4. 4、提供了丰富的网络功能、提供了丰富的网络功能5. 5、支持多处理器功能、支持多处理器功能 2第十章第十章 UNIXUNIX系统内核结构系统内核结构10.1.3 UNIX系统的内核结构系统的内核结构 图图 10-1 UNIX核心的框图核心的框图字符设备字符设备块设备块设备设备驱动程序设备驱动程序硬件控制硬件控制高速缓存高速缓存文件子系统文件子系统系统调用接口系统调用接口进程间通信进程间通信调度调度存储管理存储管理进程控制进程控制子系统子系统核心级核心级硬件级硬件级硬件硬件核心级核心级用户级

3、用户级库函数库函数用户程序用户程序捕俘捕俘3第十章第十章 UNIXUNIX系统内核结构系统内核结构1、进程控制子系统、进程控制子系统 (1) 进程控制进程控制 (2) (2) 进程通信进程通信 (3) (3) 存储器管理存储器管理 (4) (4) 进程调度进程调度 10.1.3 UNIX系统的内核结构系统的内核结构 2、 文件子系统文件子系统 (1) 文件管理文件管理 (2) (2) 高速缓冲机制高速缓冲机制 (3) (3) 设备驱动程序设备驱动程序 4第十章第十章 UNIXUNIX系统内核结构系统内核结构10.2 进程的描述和控制进程的描述和控制 10.2.1 进程控制块进程控制块PCB 在

4、在UNIX系统系统中,中, 把进程控制块分为四部分:把进程控制块分为四部分:(1) 进程表项进程表项(2) U区区 (3) 进程区表进程区表 (4) 系统区表系统区表 5第十章第十章 UNIXUNIX系统内核结构系统内核结构图图 10-2 进程区表项、系统区表项和区的关系进程区表项、系统区表项和区的关系 正文正文数据数据栈栈正文正文数据数据栈栈a ab bc cd de ea ab bc cd de e系统区表系统区表A A进进程程区区表表B B进进程程区区表表4、 本进程区表本进程区表(Per Process Region Table) 6第十章第十章 UNIXUNIX系统内核结构系统内核结

5、构图图 10-3 进程的数据结构进程的数据结构 4、 本进程区表本进程区表(Per Process Region Table) U U区区进程表进程表a ab bc ca ab bc c本进程区表本进程区表系统区表系统区表7第十章第十章 UNIXUNIX系统内核结构系统内核结构10.2.2 进程状态与进程映像进程状态与进程映像 1、进程状态、进程状态 图图 10-4 进程的状态转换进程的状态转换 6 62 23 37 79 98 84 45 5唤醒唤醒换换出出换换出出换换入入内存中内存中睡眠睡眠睡眠睡眠且换出且换出睡眠睡眠调度调度核心态核心态执行执行1 1抢夺抢夺被抢夺被抢夺内存中就绪内存中就

6、绪内存足内存足内存不足内存不足创建创建forkfork用户态用户态执行执行返回到用户态返回到用户态系统调用系统调用中断中断中断中断中断返回中断返回返回返回僵死僵死唤醒唤醒就绪且换出就绪且换出8第十章第十章 UNIXUNIX系统内核结构系统内核结构2、 进程映像进程映像 1. (1)用户级上下文)用户级上下文 (2)寄存器上下文)寄存器上下文 程序寄存器程序寄存器 处理机状态寄存器处理机状态寄存器(PSR) 栈指针栈指针 通用寄存器通用寄存器 (3)系统级上下文)系统级上下文 静态部分静态部分 动态部分动态部分 9第十章第十章 UNIXUNIX系统内核结构系统内核结构10.2.3 进程控制进程控

7、制 1、 fork系统调用系统调用 (1) 为新进程分配一个进程表项和进程标识符;为新进程分配一个进程表项和进程标识符;(2) (2) 检查同时运行的进程数目;检查同时运行的进程数目; (3) (3) 拷贝进程表项中的数据;拷贝进程表项中的数据; (4) (4) 子进程继承父进程的所有文件;子进程继承父进程的所有文件;(5) (5) 为子进程创建进程上下文;为子进程创建进程上下文; (6) (6) 子进程执行。子进程执行。 10第十章第十章 UNIXUNIX系统内核结构系统内核结构2、exec系统调用系统调用 图图 10-5 exec 的参数组织方式的参数组织方式 traptrappathpa

8、thargarg v vargarg 2p 2pargarg 1p 1pargarg 0p 0p0 0文件名字符串文件名字符串参数字符串参数字符串11第十章第十章 UNIXUNIX系统内核结构系统内核结构3、exit系统调用系统调用 (1) (1) 关闭软中断;关闭软中断;(2) (2) 回收资源;回收资源; (3) (3) 写记账信息;写记账信息; (4) (4) 置进程为置进程为“僵死僵死”状态。状态。 4、wait系统调用系统调用 12第十章第十章 UNIXUNIX系统内核结构系统内核结构10.2.4 进程调度与切换进程调度与切换 1、引起进程调度的原因、引起进程调度的原因 2 2、 调

9、度算法调度算法 3 3、进程优先级的分类、进程优先级的分类4、 进程优先数的计算进程优先数的计算 基本用户优先数的时间最近使用优先数2CPU5、进程切换、进程切换 13第十章第十章 UNIXUNIX系统内核结构系统内核结构10.3 进程的同步与通信进程的同步与通信 1、sleep与与wakeup同步机制同步机制2、信号(信号(signal)机制)机制 3、管道机制管道机制 4、消息机制、消息机制 5、共享存储区机制、共享存储区机制6、信号量集机制、信号量集机制14第十章第十章 UNIXUNIX系统内核结构系统内核结构10.3.4 消息机制消息机制 图图 10-6 消息机制中的数据结构消息机制中

10、的数据结构 队列队列 i i队列队列 n n消息首部消息首部msghmsgh 0 0消息首部消息首部msghmsgh 3 3消息首部消息首部msghmsgh 2 2消息消息缓冲区缓冲区消息消息缓冲区缓冲区消息消息缓冲区缓冲区消息首部消息首部m m消息消息缓冲区缓冲区消息队列头表消息队列头表0 03 32 215第十章第十章 UNIXUNIX系统内核结构系统内核结构10.3.5 共享存储区机制共享存储区机制 图图 10-7 利用共享存储区进行通信利用共享存储区进行通信 A AB B正正 文文进程进程的虚空间的虚空间数数 据据栈栈共享存储区共享存储区B B正正 文文数数 据据B B栈栈内存空间内存

11、空间进程进程 的虚空间的虚空间A AA A16第十章第十章 UNIXUNIX系统内核结构系统内核结构图图 10-8 信号量集表与信号量表信号量集表与信号量表semsem 0 0semsem 1 1semsem 2 20 0semsem 3 31 1semsem 4 42 2semsem 5 53 3semsem 6 6semsem 7 7semsem 8 80 0semsem 9 91 1semsem 10 102 2semsem 11 110 0信号量集表信号量集表信号量表信号量表信号量集信号量集信号量集信号量集10.3.6 信号量集机制信号量集机制 17第十章第十章 UNIXUNIX系统内

12、核结构系统内核结构10.4 存存 储储 器器 管管 理理 10.4.1 请求调页管理的数据结构请求调页管理的数据结构 1、页表和磁盘描述表、页表和磁盘描述表图图 10-9 页表项和磁盘描述表项页表项和磁盘描述表项 物理页号物理页号年龄年龄写时写时拷贝拷贝修改位修改位访问位访问位有效位有效位保护保护(a)页表项页表项对换对换设备号设备号设备块号设备块号存储器类型存储器类型(b)盘块说明盘块说明18第十章第十章 UNIXUNIX系统内核结构系统内核结构图图 10-10 页框数据表项及其散列队列页框数据表项及其散列队列 2、页框数据表和对换使用表、页框数据表和对换使用表 19第十章第十章 UNIXU

13、NIX系统内核结构系统内核结构图图 10-11 四种数据结构之间的关系四种数据结构之间的关系 页表项页表项页框号页框号794794磁盘块描述项磁盘块描述项对换对换设备设备1 1块号块号27432743引用数引用数1 1对换设备对换设备 1 1块号块号27432743物理页物理页794794引用数引用数 1 1对换设备块对换设备块 27432743对换使用表项对换使用表项页框数据表项页框数据表项794794虚地址虚地址1493K1493K20第十章第十章 UNIXUNIX系统内核结构系统内核结构10.4.2 换页进程换页进程 1、增加有效页的年龄、增加有效页的年龄2、对换出页的几种处理方式、对换

14、出页的几种处理方式 3、将换出页面写到对换设备上、将换出页面写到对换设备上 10.4.3 请求调页请求调页 1、缺页在可执行文件上、缺页在可执行文件上2、缺页在对换设备上、缺页在对换设备上 3、缺页在内存页面缓冲区中、缺页在内存页面缓冲区中 21第十章第十章 UNIXUNIX系统内核结构系统内核结构10.5 设设 备备 管管 理理10.5.1 字符设备缓冲区管理字符设备缓冲区管理 1、空闲字符缓冲区队列、空闲字符缓冲区队列 图图 10-12 空闲字符缓冲区队列空闲字符缓冲区队列 cblock0cblock0c_nextc_nextc_nextc_nextc_nextc_nextcblock1c

15、block1cblock2cblock2c_nextc_nextcblockN1cblockN1cfreelistcfreelist 2、 空闲字符缓冲区的分配与回收空闲字符缓冲区的分配与回收3、 设备的字符缓冲区队列设备的字符缓冲区队列 22第十章第十章 UNIXUNIX系统内核结构系统内核结构10.5.2 块设备缓冲区管理块设备缓冲区管理1、盘块缓冲区及其首部、盘块缓冲区及其首部 图图 10-13 缓冲首部缓冲首部 设备号设备号 块号块号 状态状态 缓冲区指针缓冲区指针 散列队列的前向指针散列队列的前向指针 散列队列的后向指针散列队列的后向指针 空闲表上的前向指针空闲表上的前向指针 空闲表

16、上的后向指针空闲表上的后向指针 23第十章第十章 UNIXUNIX系统内核结构系统内核结构2、盘块缓冲池结构、盘块缓冲池结构 图图 10-14 空闲队列空闲队列(链链)及散列队列及散列队列 blkno 0 mod 4blkno 1 mod 4blkno 2 mod 4blkno 3 mod 4281798346459750103599空闲表头标空闲表头标3、盘块缓冲区的分配、盘块缓冲区的分配 4、盘块缓冲区的回收、盘块缓冲区的回收24第十章第十章 UNIXUNIX系统内核结构系统内核结构10.5.3 内核与驱动程序接口内核与驱动程序接口1、设备开关表的作用、设备开关表的作用 图图 10-15

17、设备开关表及系统调用和驱动程序间的接口设备开关表及系统调用和驱动程序间的接口 openopencloseclose readreadwritewrite ioctlioctl字符设备开关表字符设备开关表openopenmountmountclosecloseunmountunmountreadreadwritewrite块设备开关表块设备开关表高速缓冲高速缓冲调用调用openopencloseclose readreadwritewrite ioctlioctl驱动程序驱动程序设备中断处理程序设备中断处理程序openopencloseclosestrategystrategy驱动程序驱动程序设

18、备中断处理程序设备中断处理程序中断向量中断向量中断向量中断向量设备中断设备中断文件子系统文件子系统25第十章第十章 UNIXUNIX系统内核结构系统内核结构10.5.4 磁盘驱动程序磁盘驱动程序 1、打开磁盘驱动器的过程、打开磁盘驱动器的过程gdopen 2 2、启动磁盘控制器的过程、启动磁盘控制器的过程 3、磁盘中断处理过程、磁盘中断处理过程 gdintr26第十章第十章 UNIXUNIX系统内核结构系统内核结构10.5.5 磁盘读、写程序磁盘读、写程序 1、磁盘的读写方式、磁盘的读写方式2、读过程、读过程bread和和breada 1. (1)一般读过程)一般读过程bread 2. (2)

19、 提前读过程提前读过程breada 3、 写过程写过程bwrite、 bawrite和和bdwrite (1)一般写过程)一般写过程 bwrite(2)异步写过程)异步写过程 bawrite(3)延迟写过程)延迟写过程 bdwrite27第十章第十章 UNIXUNIX系统内核结构系统内核结构10.6 文文 件件 管管 理理 10.6.1 UNIX文件系统概述文件系统概述 1、UNIX文件系统的特点文件系统的特点 (1) 文件系统的组织是分级树形结构;文件系统的组织是分级树形结构; (2) (2) 文件的物理结构为混合索引式文件结构;文件的物理结构为混合索引式文件结构;(3) (3) 采用了成组

20、链接法管理空闲盘块。采用了成组链接法管理空闲盘块。 28第十章第十章 UNIXUNIX系统内核结构系统内核结构2、文件系统的结构、文件系统的结构图图 10-18 UNIX文件系统的结构文件系统的结构ibinusrdeviiibin的目录表的目录表usr的目录表的目录表dev的目录表的目录表Root目录表目录表iilettertesttestreportWangWang29第十章第十章 UNIXUNIX系统内核结构系统内核结构图图 10-19 直接寻址和间接寻址直接寻址和间接寻址 i.addr(0)i.addr(1)i.addr(2)i.addr(9)i.addr(10)i.addr(11)i.

21、addr(12)一次间接块一次间接块数据块数据块二次间接块二次间接块三次间接块三次间接块直接寻址直接寻址一次间址一次间址二次间址二次间址三次间址三次间址1、寻址方式、寻址方式10.6.2 文件的物理结构文件的物理结构 30第十章第十章 UNIXUNIX系统内核结构系统内核结构图图 10-20 文件的地址映射示例文件的地址映射示例 2、地址转换、地址转换 i.addr(0)i.addr(1)i.addr(2)i.addr(10)i.addr(11)i.addr(12)数据块数据块二次间接块二次间接块直接寻址直接寻址一次间址一次间址二次间址二次间址三次间址三次间址36742891563313333

22、952一次间接块一次间接块952331333331第十章第十章 UNIXUNIX系统内核结构系统内核结构10.6.3 索引结点的管理索引结点的管理 1、超级块、超级块(Superblock) (1) 文件系统的盘块数目文件系统的盘块数目(2) 空闲盘块号栈空闲盘块号栈 (3) 当前空闲盘块号数目当前空闲盘块号数目 (4) 空闲磁盘空闲磁盘i结点号栈结点号栈 (5) 空闲磁盘空闲磁盘i结点数目结点数目(6) 空闲盘块编号栈的锁字段空闲盘块编号栈的锁字段 (7) 空闲磁盘空闲磁盘i结点栈的锁字段结点栈的锁字段 (8) 超级块修改标志超级块修改标志 (9) 修改时间修改时间 32第十章第十章 UNIXUNIX系统内核结构系统内核结构2、磁盘索引结点的分配与回收、磁盘索引结点的分配与回收 1. (1)分配过程)分配过程 ialloc2. (2)回收过程回收过程 ifree3、内存索引结点的分配与回收、内存索引结点的分配与回收 (1)分配过程)分配过程 iget(2)回收过程回收过程 iput33第十章第十章 UNIXUNIX系统内核结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论