




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-,1,UNIX内核分析(2),参考教材:UNIX操作系统教程尤晋元西安电子科技大学出版社,-,2,软中断(1),软中断是Unix系统提供的进程间通讯的一个机构,进程间可以利用其发送少量信息,并作适当处理;同组之间可以通过37#系统调用kill相互发送软中断信号S5提供了19种软中断信号,13个具有标准名字的约定,终端类型号0解释为“没有中断”相关结构:p-sig:进程接收的信号类型数u-signalNSIG:软中断处理程序入口表,20个元素,-,3,软中断(2),发送软中断信号,按信号类型设置p-sig的某一位;如果接受进程睡眠在可被中断的优先级上,则唤醒当一个进程从核心态返回用户态,或者进入/离开低优先级睡眠时,核心态检查其是否收到软中断信号;而仅当进程从核心态返回用户态时,核心才处理软中断进程在核心态运行时,软中断不会立即起作用,-,4,psignal(p,sig),将信号sig发给指定进程;PZEROparam.h,为25Registersig;registerstructproc*p;sig-if(sig=NSIG)return;pp-sig|1LPZERO)/*p在可被中断优先级睡眠setrun(p);/*运行指定进程,或调入/必要时Issig();测试软中断信号,若收到不可忽略信号,返回真;否则,返回假。,-,5,软中断处理入口表u-signalNSIG,根据表项中元素不同值,有三种信号处理方式值为0:处理方式为终止本进程;值为奇数:对该信号不作处理;值为非零偶数:表示信号处理程序入口地址。u-signalNSIG表中各元素的值可通过48#系统调用signal(sig,func)预制,其处理程序是ssig()NSIG=20:0-19sig:信号类型号,保存在u-arg0func:对该信号的处理方式,保存在u-arg1对于信号SIGKIL/终止进程,func不能设置,-,6,信号处理方式预制程序,ssig()registera;a=u.u-arg0;/*取参数sigif(a=NISG|a=SIGKIL)u.u-error=EINVAL;/*非法参数returnu.u-ar0R0=u.u-signala/*保存原先处理方式u.u-signala=u.u-arg1;if(u.u-procpp-sig=a)/*如果以前已经收到该信号u.u-procpp-sig=0;/*处理方式已改变,清除原收到信号,-,7,signal(sig,func),用户通过该系统调用实现预制例如:signal(2,1);将u-signal2设置为1/奇数实现不理会2号类型软中断的设置,-,8,信号产生的5种情况,陷入处理子程序trap中,用户态下产生各种故障,除电源失败等外,按照类型转换成信号进程间通过37#系统调用kill(pid,sig)进行信号传送用户在终端输入“DELETE”等,终端中断处理程序将信号SIGINT/2等发送到与终端有关的所有进程进程使用管道pipe通信,发现读通道已经关闭,则向本进程发送SIGPIPE/13信号父进程对接收到一个信号的子进程跟踪处理时,可用跟踪命令箱子进程发送一个信号,-,9,PDP-11内存管理机构,UnixS5思想:分页,支持内存、外存之间的进程对换支持请求调页的存储管理,-,10,PDP-11虚地址字,字长16位,每个进程的最大程序地址空间216=64KBCPU总线寻址能力18位/256KB。其中:最高8KB固定为I/O页,所以内存最大容量为248KB程序16位地址称为虚地址,64KB分成8页,8KB/页每页划分为128个字符块,64B/块由于程序可以小于64KB,有些页可能局部/完全空白空白部分留作扩展使用系统按照实际使用页长分配内存,-,11,虚地址字划分结构,-,12,内存管理寄存器(1),PDP-11设置了2组32位活动页寄存器APR,8个/组,分别保存进程核心态/用户态下内存使用情况32位APR可分为2个16位的寄存器,分别为页地址寄存器PAR(pageaddressregister)页说明寄存器PDR(pagedescriptionregister)页地址寄存器PARPAF:表示虚地址空间中相应页在内存地址,单位是内存字符块寻址范围:0-(212-1)*64,即0-(256K-64)字节,0,11,15,12,-,13,内存管理寄存器(2),页说明寄存器PDR/上图存取控制字段ACF(accesscontrolfield):说明对该页的存取控制权限00:不驻在内存01:readonly10:未用11:R/W扩展方向位:ED(extend)如果某页实际使用小于128块(8KB),则ED说明空白部分在高/低地址一侧,即扩展时的扩展方向。ED=0:高地址一侧;ED=1:低地址一侧例如:Unix系统中,共享代码段/数据段:ED=0;栈段:ED=1,0,1,2,3,6,8,14,15,-,14,内存管理寄存器(3),存取信息位W-修改位W=1,表示修改过页长字段PLF:说明虚页的实际使用长度,1128块如果ED=0/向高地址方向扩展:则PLF=实际使用长度-1;例如:实际使用长度为128,则PLF=127如果ED=1:则PLF=128-实际使用长度;例如:实际使用长度为128,则PLF=0用补码表示实际使用长度PLF值表示在相应扩展方向上该虚页实际使用的最末块块号,便于越界检查,-,15,虚地址到物理地址转换,总线寻址能力为18位,形成256KB的物理地址,0,5,6,17,0,11,+,找对应页的PAR,-,16,Unix存储管理,PDP-11进程可访问的地址空间为64KB进程在核心态下的虚拟地址空间(图1左)Unix核心代码长度不超过48KB/6页,占0-5页进程在用户态下的虚拟地址空间(图2右/举例),0-5页,6页,7页,共享正文段2.5页,数据段2.25页,栈段0.5页,-,17,虚/实地址映照,Unix分别用KISA(0-7)和KISD(0-7)存放核心态下进程内存使用情况KISA类似PAR/页地址寄存器KISD类似PDR/页说明寄存器用户态下现行进程内存使用情况分别用UISA/UISD存放KISA/KISD(0-5)和KISA/KISD(7)在系统初启后就固定,不再变化;KISA/KISD(6)总是指向当前运行进程的ppda区从KISA6指向的ppda区user结构中可以得到u-procp,它指向当前运行进程的proc,-,18,用户态虚/实地址映照,以前面幻灯片图2数字为例,UISA,UISD,ta是进程共享正文段在内存的起始地址da是进程数据段在内存的起始地址:da=p-addr+16,内存空间,ta,da+352,-,19,虚/实地址映照,UISA/UISD只有一组,保存当前运行进程页表表目;其他进程页表表目保存在user(u-uisa/u-uisd16)u-uisd内容与UISD完全相同;而u-uisa内容则略有区别,它是假设ta、p-addr皆为0而构造的。见右u-uisa/u-uisd由estabur()创建u-uisa/u-uisd-UISA/UISD由sureg()完成,u-uisa,-,20,存储资源管理表,可用存储区表Unix对内存、盘交换区存储资源分配和释放使用同一算法设置2个数组表示内存/盘交换区可用存储区情况intcoremapCMAPSIZintswapmapSWAPSIZ2个数组一般皆为100个元素,每2个元素构成一个表目项,共各有50个表目项,每个表目项描述:Structmapchar*m-size;/*空闲区长度char*m-addr;/*空闲区起址;各空闲区按起始地址从高到低顺序登记在可用存储区表中,m-size为0的表项为空白表目,集中在表的后部,-,21,存储资源管理,存储分配:firstfit/malloc(mp,size)mp:coremap/swapmap存储释放:mfree(mp,size,释放区起址),-,22,存储保护,虚/实映射机构基本上使各进程相互隔离,达到保护各
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023六年级数学下册 三 图形的运动第5课时 欣赏与设计说课稿 北师大版
- 建材买卖合同(墙地砖类)
- 第8课 《人间词话》十则王国维说课稿-2025-2026学年高中语文统编版 选修:中华传统文化专题研讨-统编版
- 9.1《念奴娇•赤壁怀古》教学设计 2024-2025学年统编版高中语文必修上册
- 第3课 插入图片教学设计-2023-2024学年小学信息技术(信息科技)四年级下册粤科版
- 1.3 氧化还原反应(习题)(含答案解析)-2024-2025学年高一化学同步教学教学设计+讲义(人教版2019必修第一册)
- Unit 9 Section B 2a~3c Self check说课稿-2025-2026学年人教版英语七年级上册
- 2.4 匀变速直线运动规律的应用说课稿-2025-2026学年高中物理上海科教版共同必修1-沪教版2007
- 湘潭县辅警考试题库2025
- 环保型出渣车劳务分包与生态修复合同
- 视频监控调取记录表
- 第2章 Windows 10操作系统
- 教研活动:幼儿园班级主题墙创设课件
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 酒店住宿水单模板-可修改
- SF-三福的历史与文化 v2.0
- 幼儿园故事《小红帽》PPT模板
- GB/T 6723-2017通用冷弯开口型钢
- GB/T 4456-2008包装用聚乙烯吹塑薄膜
- 葫芦丝(初学教学)-课件
- 李家小学教师绩效考核实施方案
评论
0/150
提交评论