电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

UNIX内核分析PPT课件

22页
  • 卖家[上传人]:石磨
  • 文档编号:194328388
  • 上传时间:2021-08-26
  • 文档格式:PPT
  • 文档大小:74.50KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、UNIX内核分析,UNIX 内核分析(2),参考教材: UNIX操作系统教程,UNIX内核分析,软中断(1),软中断是Unix系统提供的进程间通讯的一个机构,进程间可以利用其发送少量信息,并作适当处理; 同组之间可以通过37#系统调用kill相互发送软中断信号 S5提供了19种软中断信号,13个具有标准名字的约定,终端类型号0解释为“没有中断” 相关结构: p-sig:进程接收的信号类型数 u-signalNSIG:软中断处理程序入口表,20个元素,UNIX内核分析,软中断(2),发送软中断信号,按信号类型设置p-sig的某一位;如果接受进程睡眠在可被中断的优先级上,则唤醒 当一个进程从核心态返回用户态,或者进入/离开低优先级睡眠时,核心态检查其是否收到软中断信号;而仅当进程从核心态返回用户态时,核心才处理软中断 进程在核心态运行时,软中断不会立即起作用,UNIX内核分析,psignal(p,sig),将信号sig发给指定进程;PZEROparam.h,为25 Register sig; register struct proc *p; sig- if (sig=NSIG) retur

      2、n; pp-sig|1LPZERO) /*p在可被中断优先级睡眠 setrun(p) ; /*运行指定进程,或调入/必要时 Issig();测试软中断信号,若收到不可忽略信号,返回真; 否则,返回假。,UNIX内核分析,软中断处理入口表u-signalNSIG,根据表项中元素不同值,有三种信号处理方式 值为0:处理方式为终止本进程; 值为奇数:对该信号不作处理; 值为非零偶数:表示信号处理程序入口地址。 u-signalNSIG表中各元素的值可通过48#系统调用signal (sig,func)预制, 其处理程序是ssig() NSIG=20:0-19 sig:信号类型号,保存在u-arg0 func:对该信号的处理方式,保存在u-arg1 对于信号SIGKIL/终止进程,func不能设置,UNIX内核分析,信号处理方式预制程序,ssig() register a; a=u.u-arg0; /*取参数sig if (a=NISG|a=SIGKIL) u.u-error=EINVAL; /*非法参数 return u.u-ar0R0=u.u-signala /*保存原先处理方式 u.u-

      3、signala=u.u-arg1; if (u.u-procpp-sig=a) /*如果以前已经收到该信号 u.u-procpp-sig=0; /*处理方式已改变,清除原收到信号 ,UNIX内核分析,signal(sig,func),用户通过该系统调用实现预制 例如:signal(2,1); 将u-signal2设置为1/奇数 实现不理会2号类型软中断的设置,UNIX内核分析,信号产生的5种情况,陷入处理子程序trap中,用户态下产生各种故障,除电源失败等外,按照类型转换成信号 进程间通过37#系统调用kill(pid,sig)进行信号传送 用户在终端输入“DELETE”等,终端中断处理程序将信号SIGINT/2等发送到与终端有关的所有进程 进程使用管道pipe通信,发现读通道已经关闭,则向本进程发送SIGPIPE/13信号 父进程对接收到一个信号的子进程跟踪处理时,可用跟踪命令箱子进程发送一个信号,UNIX内核分析,PDP-11内存管理机构,Unix S5思想: 分页, 支持内存、外存之间的进程对换 支持请求调页的存储管理,UNIX内核分析,PDP-11虚地址字,字长16位,每个进程

      4、的最大程序地址空间216=64KB CPU总线寻址能力18位/256KB。其中:最高8KB固定为I/O页,所以内存最大容量为248KB 程序16位地址称为虚地址, 64KB分成8页,8KB/页 每页划分为128个字符块,64B/块 由于程序可以小于64KB,有些页可能局部/完全空白 空白部分留作扩展使用 系统按照实际使用页长分配内存,UNIX内核分析,虚地址字划分结构,UNIX内核分析,内存管理寄存器(1),PDP-11设置了2组32位活动页寄存器APR,8个/组,分别保存进程核心态/用户态下内存使用情况 32位APR可分为2个16位的寄存器,分别为 页地址寄存器PAR(page address register) 页说明寄存器PDR(page description register) 页地址寄存器PAR PAF:表示虚地址空间中相应页在内存地址,单位是内存字符块 寻址范围:0-(212-1)*64,即0-(256K-64)字节,0,11,15,12,UNIX内核分析,内存管理寄存器(2),页说明寄存器PDR/上图 存取控制字段ACF(access control field):说明

      5、对该页的存取控制权限 00:不驻在内存 01:read only 10:未用 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,UNIX内核分析,内存管理寄存器(3),存取信息位W-修改位 W=1,表示修改过 页长字段PLF:说明虚页的实际使用长度,1128块 如果ED=0/向高地址方向扩展:则PLF=实际使用长度-1;例如:实际使用长度为128,则PLF=127 如果ED=1:则PLF=128-实际使用长度;例如:实际使用长度为128,则PLF=0 用补码表示实际使用长度 PLF值表示在相应扩展方向上该虚页实际使用的最末块块号,便于越界检查,UNIX内核分析,虚地址到物理地址转换,总线寻址能力为18位,形成256KB的物理地址,0,5,6,17,0,11,+,找对应页的PAR,UNIX内核分析,Unix存储管理,PDP-11进程可访问的

      6、地址空间为64KB 进程在核心态下的虚拟地址空间(图1左) Unix核心代码长度不超过48KB/6页,占0-5页 进程在用户态下的虚拟地址空间(图2右/举例),0-5页,6页,7页,共享正文段2.5页,数据段2.25页,栈段0.5页,UNIX内核分析,虚/实地址映照,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,UNIX内核分析,用户态虚/实地址映照,以前面幻灯片图2数字为例,UISA,UISD,ta 是进程共享正文段在内存的起始地址 da 是进程数据段在内存的起始地址:da=p-addr+16,内存空间,ta,da+352,UNIX内核分析,虚/实地址映照,UISA/UISD只有一组,保存

      7、当前运行进程页表表目; 其他进程页表表目保存在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,UNIX内核分析,存储资源管理表,可用存储区表 Unix对内存、盘交换区存储资源分配和释放使用同一算法 设置2个数组表示内存/盘交换区可用存储区情况 int coremapCMAPSIZ int sS 2个数组一般皆为100个元素,每2个元素构成一个表目项,共各有50个表目项,每个表目项描述: Struct map char *m-size; /*空闲区长度 char *m-addr; /*空闲区起址 ; 各空闲区按起始地址从高到低顺序登记在可用存储区表中,m-size为0的表项为空白表目,集中在表的后部,UNIX内核分析,存储资源管理,存储分配:first fit/malloc(mp,size) mp:coremap/s 存储释放:mfree(mp,size,释放区起址),UNIX内核分析,存储保护,虚/实映射机构基本上使各进程相互隔离,达到保护 各进程占用独立的存储区,且不会重叠 进程在核心态、用户态下运行使用不同的管理寄存器,且用户进程无权修改寄存器值,不可能破坏操作系统 核心态进程可使用系统提供的特权指令mtpi、mfpi(向当前运行状态存储空间存、取指令信息)对现行运行进程的用户态空间进行操作 通过KISD/UISD中页长字段PLF,以及存取控制权限ACF,可以限定进程的访问长度和访问方式,

      《UNIX内核分析PPT课件》由会员石磨分享,可在线阅读,更多相关《UNIX内核分析PPT课件》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.