




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章 操作系统的组织结构,2.1 概述,构成操作系统的三种结构: 1、无结构:由一组互相耦合的过程组成。 2、层次式结构:模块化,层次化组织功能过程。 3、C/S模型:由微内核和一系列服务器进程组成。 大多数操作系统都采用层次式结构。,2.1 概述,2.1.1 操作系统虚拟机(Virtual Machine): 在本课程中,虚拟机是指在裸机上配置了操作系统程序后的环境。(p27 图2.1) 另一种关于虚拟机的概念,是指通过软件来模拟出一种裸机环境, 典型的软件有:vmware、vbox等。,2.1 概述,2.1.1 操作系统虚拟机(Virtual Machine): 操作系统虚拟机为用户提供了一种虚拟环境,用户通过操作系统所提供的界面对计算机进行操纵。用户界面分两类: 操作命令:键盘命令,作业控制语言,图形化用户界面 系统功能调用:用户程序使用标准函数调用系统功能(如文件操作,网络操作等。),2.1 概述,2.1.2 操作系统的虚拟技术: 操作系统的虚拟技术大量应用在多个方面 (1)CPU调度 (2)主存管理 (3)设备管理,2.3 处理机的状态,2.3.1 处理机的状态和特权指令 什么是处理机的状态 是用来表明处理机,当前正在执行哪一类程序的一种标志。 处理机状态的分类 思考:为什么要设置处理机的状态? 原因:系统中有两类程序 管理程序 用户程序 管理系统资源 提出申请使用资源 控制程序运行 被控制 目的:为操作系统建立一个保护环境,对用户程序的执行加以限制 实现:区分处理机的当前工作状态。,(1) 管态 (Supervisor mode,或系统态,内核态) 操作系统的管理程序执行时,处理机所处的状态。 在此状态下运行的程序: 可执行全部指令(包括一组特权指令); 可使用系统的全部资源(包括整个存储区) 注意:此处不区分核态和管态的差别而统称为管态(p34) 在核态下,操作系统可以使用一系列的特权指令(p34).,2.3 处理机的状态,2.3 处理机的状态,(2) 用户态(User mode,或目态) 用户程序执行时,机器所处的状态。 在此态下禁止使用特权指令、修改机器状态; 不能直接使用资源; 只允许访问程序自己的存储区。,2.3 处理机的状态,两者区别:,2.3 处理机的状态,思考:下图中CPU何时处于管态而何时处于用户态?,2.3 处理机的状态,下一个问题:CPU是如何实现状态的切换?,2.4 中断机制,2.4.1 中断 几个要点: 中断是操作系统中最为重要的概念之一。 是实现多道程序并发的必要和首要条件。 中断的实现往往依赖于一定的硬件条件。 操作系统通过利用中断实现对计算机中最重要的处理机资源的控制。,2.4 中断机制,一、中断的概念(p35) 所谓中断是指:某个事件发生时(如I/O结束、电源掉电、定点加法溢出等) ,系统中止现行程序的运行、引出处理事件程序对该事件进行处理,处理完毕后返回断点继续执行。,中断的实现往往依赖于一定的硬件条件。下图为微机的8259可编程中断控制器的组成原理图。(具体可查阅计算机组成原理方面的书籍),当某个事件到来时,形成了一个中断请求IRQ(interrupt Request)。如间隔时钟到来,产生时钟中断,IRQ信号便进入中断控制器。如果中断允许的话,中断控制器便通过与CPU相连的INTR引脚将INT信号发往CPU,补充材料:CPU的组成结构及取指令过程。,2.4 中断机制,回到中断的基本原理图,当CPU获知中断产生后如何从正在执行的程序转移到中断处理程序上? 当完成了中断处理程序后,又如何从中断返回到原程序? 这涉及到几个重要的概念。,2.4中断机制,1、中断向量 (P39-40 表2.1,中断向量地址表) 存放在内存中的,某类中断处理程序的入口地址、及处理器状态字的内容。通常在内存的低地址端。,2.4中断机制,. 保护现场和恢复现场 (1) 现场(context) 指在中断的那一时刻,能确保程序继续运行的有关信息。主要包括: 后继指令的主存地址 程序运行时所处的状态 指令的执行情况 各种通用寄存器中的内容,2.4中断机制,(2) 保护现场 当中断发生时,必须立即把现场信息保存在主存中,称之为保护现场。 (3) 恢复现场 程序重新运行之前,把被中断该程序的现场信息,从主存送至原有的现场环境中,称之为恢复现场。,2.4中断机制,. 程序状态字 (程序状态寄存器),Program Status Word , PSW)(图2.10) (1) 什么是程序状态字 程序状态字是反映程序执行时,当前机器状态(在指令一级)的一组代码。在一些机器上,往往通过PC和PS两个CPU寄存器存放。 PC: 指令计数器,存放下一条应该执行的指令的内存地址 PS: 处理器状态寄存器:存放当前CPU的各种状态量值,4. 中断响应:当中央处理机发现已有中断请求时,中止现行程序执行,并自动引出中断处理程序的过程。,2.4中断机制,中断响应的实质:交换指令地址及处理机的状态信息,达到: 保留程序断点及处理机有关信息 自动转入相应的中断处理程序执行,2.4中断机制,中断处理:当硬件完成了中断进入过程后,由相应的中断处理程序得到CPU的控制权,进入了软件的中断处理过程。(P42 图2.12),保留被中断程序的现场,进入相应的中断服务例程,恢复被中断程序的现场,程序 返回,自动 进入,k+0,现行程序,k+1,进入中断,退出中断,2.4中断机制,思考:请简述中断过程。,2.2 基本硬件结构,2.4中断机制,中断进入过程的总结: 1、某一事件发生,形成中断请求。 2、产生中断向量 3、旧PC、PS内容进栈 4、查中断向量地址表,写新PC、PS 5、执行中断服务子程序 6、返回,恢复现场。,2.4中断机制,中断的类型 1、按中断功能分 2、按中断方式分 3、按中断来源分,2.4中断机制,1、按中断功能分 (1) 输入输出(I/O)中断 (2) 外中断 (3) 机器故障中断 (4) 程序性中断 (5) 访管中断,2.4中断机制,(1)输入输出中断:当外部设备或通道操作正常结束或发生某种错误时发生的中断。 如:I/O传输错误,I/O传输结束。,2.4中断机制,(2)外中断:外部非通道式装置所引起的中断。 如:时钟中断。,2.4中断机制,关于时钟中断的进一步讲解: 时钟在操作系统中的重要性: 1、实现进程和作业调度的硬件基础 2、为应用程序提供计时功能的硬件基础 3、实现实时控制的硬件基础,2.4中断机制,时钟分为两种,实时(绝对)时钟(Real Time Clock, RTC)和间隔(相对)时钟(Programmable Interval Timer ,PIT)。 实时时钟提供绝对时间。在PC机上,通过主板电池供电的COMS Timer即为实时时钟。,间隔时钟提供计数功能。在PC机上,多为可编程间隔定时器8253,它以100Hz的频率(也即100次每秒)工作。每次计时均产生一次时钟中断。,2.4中断机制,2.4中断机制,(3)机器故障中断:由于硬件异常而引起的中断。 如:内存读写错误等。 (4)程序性中断:是指在用户态下由于软件异常而引起的中断。 如:地址越界等。,2.4中断机制,(5)访管中断:用户态下的软件对操作系统提出某种需求(如请求I/O传输、建立进程等)时所发出的中断。,2.4中断机制,2、按中断方式分 (1) 强迫性中断:不是正在运行的程序所期待的,而是由某种事故或外部请求信号所引起的 输入输出(I/O)中断、 外中断、机器故障中断、 程序性中断均属于强迫性中断 (2) 自愿中断(异常):是运行程序所期待的事件,这种事件是由于运行程序请求操作系统服务而引起的 访管中断属于自愿中断 UNIX中同时发生异常和中断时,异常总得到优先处理。,2.4中断机制,3、按中断来源分 (1)中断(外中断):由处理机外部事件引起的中断 包括I/O中断、外中断 (2)俘获(内中断):由处理机内部事件引起的中断 包括机器故障中断、程序性中断、 访管中断 在同时发生中断和俘获请求时,俘获总是优先得到 响应和处理,也称为高优先中断。,2. 4中断机制,Linux下的中断机制: 对于Linux内核来说,中断信号通常分为两类,硬件中断和异常。 中断又分为外部可屏蔽中断(INTR)和外部非屏蔽中断(NMI),所有I/O设备产生的中断请求(IRQ)均引起可屏蔽中断,而紧急的事件(如硬件故障)引起的故障产生非屏蔽中断。 异常又分为故障(Fault)、陷阱(Trap)等,它们的共同特点是既不使用中断控制器,又不能被屏蔽。 常见的故障有:设备故障或不可用、页面错误等。,2.4中断机制,每个中断是由0-255之间的一个数字标识。Linux中的中断向量分配情况如下:,2.4中断机制,Linux中部分的异常中断:,2.4中断机制,Linux中部分的I/O设备中断(可通过/proc/interruption查看):,2.4中断机制,在Linux系统初始化时,内核将建立中断描述符表(Interrupt Descriptor Table,IDT),并对该表中256个描述符进行默认设置。 相关内核代码: linux/arch/i386/kernel/i8259.c linux/arch/i386/kernel/i8253.c linux/arch/i386/kernel/head.S(负责建立IDT表,381行) linux/arch/i386/kernel/entry.S(负责中断总控),2.4中断机制,Linux的中断调用过程(arch/i386/kernel/entry.S ,610): common_interrupt: SAVE_ALL /保护现场,寄存器入栈,100 TRACE_IRQS_OFF /停止中断的跟踪 movl %esp,%eax /把栈顶指针放入eax寄存器 call do_IRQ /执行中断处理程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版离婚协议书专业翻译与国际化服务合同
- 房产中介开发课件
- 第七章 万有引力与宇宙航行 单元教学设计 -2023-2024学年高一下学期物理人教版(2019)必修第二册
- 校园消防安全联合检查(3篇)
- 户外音响专业知识培训课件
- 户外自主游戏培训知识课件
- 氮氧平衡与酒陈化-洞察及研究
- 网络学院课件显示问题
- 台球俱乐部合作宣传制度
- 建筑方案设计本册(3篇)
- (2025年标准)正规劳动协议书
- 2025年部编版道德与法治新教材二年级上册全册教案设计(共4个单元含教学计划)
- 2024年福建投资集团招聘真题
- 2025年乡村方面的面试题及答案
- 2025年26道医院财务科岗位面试真题及答案
- 农业机械无人驾驶协同系统接口设计与数据交换规范
- 2025年“才聚齐鲁成就未来”山东黄金集团井下技能工人招笔试高频考点题库考试试题【含答案】
- 研发样品管理办法
- 儿科护理实习出科理论考试试题及答案
- 婴幼儿心理健康发展指南
- 2025年安徽省合肥市庐江县柯坦镇葛庙小学小升初数学试卷
评论
0/150
提交评论