版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 操作系统运行环境n2.1处理机n2.2存储系统n2.3多道程序环境n2.4中断技术n2.5程序的运行2.1处理机nCPU从内存中取出指令,对指令解码,执行指令,直至程序执行完毕。n每个CPU基本周期由两个步骤组成:n(1)读入下一条指令,下一条要执行的指令的地址保存在程序计数器(PC)中;n(2)执行当前指令,即从主存储器中取出指令到指令寄存器(IR)并执行指令,PC将自动地增长或改变为转移地址以指明下一条执行的指令。 指令的执行周期2.1处理机-寄存器n由于指令的执行速度比访问内存的速度要快得多,CPU中设置了一组寄存器寄存器,用来保存关键变量和临时数据。n这组寄存器所存储的信息与程
2、序的执行有很大的关系,构成了处理机现场处理机现场。n当暂停一个正在运行的程序,并启动另一个程序时,操作系统必须保存所有的寄存器信息即保存处理机现场信息,以便稍后继续运行该程序时,可以把这些寄存器信息重新装入寄存器,即恢复CPU现场。 寄存器的类型:n1、通用寄存器:可由程序设计者指定许多功能,如存放操作数或用作寻址寄存器。n2、数据寄存器:用以存放操作数。它们作为内存数据的高速缓存,可以被系统程序和用户程序直接使用并进行计算。n3、地址寄存器:用于指明内存地址。如索引寄存器、段寄存器(基址/限长)、堆栈指针寄存器等等。n4、 I/O 地址寄存器(I/O AR):用于指定I/O 设备。n5、 I
3、/O 缓冲寄存器(I/O BR):用于处理机和I/O 设备交换数据。n6、控制寄存器:用于存放处理机的控制和状态信息。n它至少应该包括程序计数器(PC,Program Counter)和指令寄存器(IR,Instruction Register),中断寄存器以及用于存储器和I/O 模块控制的寄存器。 n7、存储器地址寄存器(MAR)、存储器数据寄存器(MBR )2.1处理机-指令系统n每个CPU都有一套可执行的专门指令集,称为指令系统,大致可以分为五类 :指令类型指令描述数据处理类指令用于执行算术和逻辑运算转移类指令如无条件转移、条件转移、计数转移等用于改变指令执行序列数据传送类指令用于在处理
4、机的寄存器和寄存器、寄存器和存储器单元、存储器单元和存储器单元之间交换数据移位与字符串指令移位分算术、逻辑和循环移位;字符串处理有字符串的传送、比较、查询和转换。I/O 类指令用于启动外围设备,让主存和外围设备之间交换数据。n在多道程序设计环境中,从资源管理和控制程序执行的角度出发,必须把指令系统中的指令分作两类:n特权指令。n那些只能提供给操作系统的核心程序使用的指令,如启动输入输出设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载PSW 等。 n非特权指令。 n操作系统-执行所有指令n用户-执行非特权指令2.1处理机-处理机工作状态n根据对系统资源和机器指令的使用权限,把处理机执行时
5、的工作状态分为n核心态核心态n用户态用户态n有的操作系统还将系统程序执行时的机器的状态又分为核态和管态。处理机状态的权限次序是:n核态管态用户态。处理机状态:n1)核态:CPU执行操作系统程序时所处的状态。 在此状态下允许CPU使用全部资源和全部指令,其中包括一组特权指令(如涉及外设的I/O、改变处理机状态、修改存储保护的指令),实现对系统资源的分配与管理,为用户提供使用外部设备的服务。n2)管态:管态比核态的权限低,在此状态下允许使用一些用户态下不能使用的资源,但不能使用修改CPU状态的指令。无核态时,管态执行核态的全部功能。n3)用户态:用户程序执行时CPU所处的状态。在此状态下禁止使用特
6、权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。n下面两类情况会导致CPU从用户状态向管理状态转换,n(1)程序请求操作系统服务,执行一条系统调用;n(2)程序运行时,产生了一个中断事件,运行程序被中断,让中断处理程序工作。2.1CPU-程序状态字(PSW)n计算机如何知道当前处于何种工作状态?这时能否执行特权指令?通常操作系统都引入程序状态字程序状态字PSW(Program Status Word)来区别不同的处理机工作状态。n程序状态字用来控制指令的执行顺序并且保留和指示与程序有关的系统状态,其主要作用是实现程序状态的保护和恢复。n每个正在执行的程序都有一
7、个与其执行相关的PSW,而每个处理机都设置一个程序状态字寄存器。n一个程序占有处理机执行,它的PSW 将占有程序状态字寄存器。PSW寄存器的主要内容:n1)程序基本状态。包括:n(1)程序计数器:指明下一条执行的指令地址;n(2)条件码:表示指令执行的结果状态;n(3)处理机状态位:指明当前的处理机状态。n2)中断码。保存程序执行时当前发生的中断事件。n3)中断屏蔽位。指明程序执行中发生中断事件时,是否响应出现的中断事件。2.2存储系统n理想的存储器应满足以下三个条件:n(1)存储器访问的速度应该极为迅速,至少和CPU执行一条指令的速度相当;n(2)存储空间充分大,这样可以同时执行的程序的数量
8、和大小将不受限制;n(3)低成本。 n而目前的技术无法同时满足以上三个目标,于是存储系统采用分层的存储结构分层的存储结构: 分层的存储系统2.3多道程序环境n在多道程序环境中,操作系统具有四个基本特征。n()并发性。并发性是指两个或多个事件在同一时间间隔内发生 。n()共享性。所谓共享是指系统中的资源可供内存中多个并发的程序共同使用 。共享的两种方式:n)互斥共享n)同时访问。n()异步性。由于资源等因素的限制,使程序的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。程序以人们不可预知的速度向前推进,即异步性。n()虚拟(Virtual)性所谓“虚拟”,是指通过某种技术把一个物理实体
9、变为若干个逻辑上的对应物。用于实现虚拟的技术,称为虚拟技术。 操作系统中实现虚拟技术的两种方式:n()时分复用技术。时分复用,即分时使用方式。虚拟处理机技术、虚拟设备技术都采用这种分时的方式。在虚拟处理机技术中,利用多道程序设计技术,把一台物理上的处理机虚拟为多台逻辑上的处理机,在每台逻辑处理机上运行一道程序,使用户感觉到有多台处理机,我们把用户感觉到的处理机成为虚拟处理机。n()空分复用技术。空分复用,对空间进行划分,提高空间的利用率。虚拟磁盘技术、虚拟存储器技术采用的是空分复用的方式。利用虚拟磁盘技术可以将一个硬盘虚拟为多个虚拟磁盘,使得磁盘的使用方便又安全。采用虚拟存储技术可以从逻辑上扩
10、大内存的容量。2.4中断技术n中断需求:n(1)请求操作系统服务n(2)实现CPU 和I/O 设备交换信息使CPU 与I/O 设备并行工作 n(3)处理突发事件 n(4)满足实时要求 n中断中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理时间,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的程序执行的过程。 与中断相关的几个概念n中断源中断源 :引起中断发生的事件 。n中断请求中断请求 :中断源向CPU发出的请求中断处理信号 n中断响应中断响应 :CPU收到中断请求后转相应的事件处理程序 n中断是现代操作系统实
11、现并发性的基础中断是现代操作系统实现并发性的基础之一。之一。中断的分类n1。按照中断事件的性质按照中断事件的性质,可以分成n(1)强迫性中断事件n(2)自愿性中断事件。强迫性中断事件n强迫性中断事件不是正在运行的程序所期待的,而是由于某种事故或外部请求信息所引起的。n这类中断事件大致有以下几种:n机器故障中断事件。例如,电源故障,主存储器出错等。n程序性中断事件。例如,定点溢出,除数为0,地址越界等。n外部中断事件。例如,时钟的定时中断,控制台发控制信息等。n输入输出中断事件。例如,设备出错,传输结束等。自愿性中断事件n自愿性中断事件是正在运行的程序所期待的事件。n这种事件是由于执行了一条访管
12、指令而引起的,它表示正在运行的程序对操作系统有某种需求,一旦机器执行到一条访管指令时,便自愿停止现行程序而转入访管中断处理程序处理。例如,要求操作系统协助启动外围设备工作。两类中断事件的响应过程 中断的分类n2.按照中断信号的来源,把中断分为外中断和内中断 .n外中断,一般又称中断中断,是指来自处理器和主存储器之外的中断,包括:电源故障中断、时钟中断、控制台中断、它机中断和I/O 中断等。n内中断,是指来自处理器和主存内部的中断,一般又称陷入陷入或异常异常,包括:通路校验错、主存奇偶错、非法操作码、地址越界、页面失效、调试指令、访管中断、算术操作溢出等各种程序性中断等。其中访管中断是由机器指令
13、提供的特殊指令,该指令执行时将会引起中断。中断和陷入(外中断和内中断)的区别n(1) 中断是由与现行指令无关的中断信号触发的,而陷入则是由处理器正在执行现行指令而引起的n(2)中断处理程序提供的服务不是为当前程序所需,而陷入处理程序提供的服务是为当前程序所用n(3)CPU在两条机器指令之间才可以响应中断,而在一条指令执行中可以响应陷入。 硬中断与软中断硬中断与软中断n上述的内中断与外中断(中断和陷入)要通过硬件来产生中断请求,可以看作硬中硬中断断。n软中断软中断是不必由硬件发信号而能引发的一种中断,它通常是通信进程之间用来模拟硬中断的一种信号通信方式。 中断优先级n当有多个中断同时发生时,中断
14、装置根据预先设置的中断优先级响应中断。n一种可能的中断优先级由高到低的顺序是:机器校验中断;自愿性中断;程序性中断;外部中断;输入输出中断;重启动中断。x86 体系结构Windows 的中断请求级 中断的屏蔽n主机可以允许或禁止某类中断的响应 n主机是否允许某类中断,由当前程序状态字PSW中的某些中断屏蔽位来决定。 中断的处理过程2.5程序的运行库目标模块1目标模块2链接程序装入模块装入程序 编译链接装入内存源程序2源程序1 编译程序符号名(名字空间)逻辑地址(逻辑地址空间)物理地址(物理地址空间)用户程序的处理步骤单道程序环境中的绝对装入方式 n产生的目标代码中直接使用绝对地址,绝对装入程序
15、按照装入模块中的地址,将程序和数据装入内存,无需对模块中的地址部分进行修改,这种装入方式称为绝对装入方式。n目标代码中的绝对地址,有两种方法给出n一种是再编译或汇编时给出,n一种是由程序员在写程序时直接给出。 重定位 n在装入时,为了使程序正确运行,必须把装入模块中指令和数据的逻辑地址转换成实际装入内存的物理地址,这种地址转换过程,称为重定位重定位。n根据重定位的时机,重定位可以分为n静态重定位静态重定位n动态重定位动态重定位。 静态重定位 n静态重定位:重定位是在装入时由重定位程序一次性完成的 。LOAD 1,3000200LOAD 1,130002001000011000130001500
16、05000300010000逻辑地址空间物理地址空间0动态重定位动态重定位n装入模块装入内存后,并不立即进行地址重定位,而是把地址重定位推迟到程序真正要执行时才进行,这种重定位称做动态重定位动态重定位。 LOAD 1,3000200LOAD 1,3000200100001100013000150005000300010000逻辑地址空间物理地址空间0100003000逻辑地址重定位寄存器+程序的链接 n链接链接是将编译后得到的各个目标模块以及所需的库函数连接在一起,形成一个完整的装入模块。n链接程序要将各个目标模块中的相对地址和外部调用符号转换成装入模块中的统一的相对地址。 程序链接示例 模块 ACALL B;Return;0L-1模块 BCALL C;Return;0M-1模块 CRetur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化学合成制药工安全管理强化考核试卷含答案
- 煤直接液化催化剂制备工岗中基础实战考核试卷含答案
- 无轨电车架线工岗中操作水平考核试卷含答案
- 可变电容器装校工安全知识宣贯水平考核试卷含答案
- 有色金属材热处理工岗前安全技能测试考核试卷含答案
- 石油化工操作工工作绩效衡量表
- 2026年合作伙伴技术合作意向书确认函(4篇)范文
- 人力资源经理人力绩效评定表
- 水务行业供水服务与管理手册
- 证券行业风险管理操作手册
- 广东佛山市南海区狮山镇2026年村(社区)工作人员招聘考试试卷-含答案解析
- GB/T 1345-2026水泥细度检验方法筛析法
- 新进人员院感培训
- 施工过程各阶段质量安全的保证措施
- 云南劳动合同续签协议书
- 医院vi 设计合同标准文本
- 借款担保人协议书
- 哲学类论文开题报告模板
- 人教版中考物理复习第三章物态变化教学课件
- 表5.13.16钢构件(多层及高层)安装工程检验批质量验收记录
- GB/T 19443-2017标称电压高于1 500 V的架空线路用绝缘子直流系统用瓷或玻璃绝缘子串元件定义、试验方法及接收准则
评论
0/150
提交评论