第2章OS的运行环境_第1页
第2章OS的运行环境_第2页
第2章OS的运行环境_第3页
第2章OS的运行环境_第4页
第2章OS的运行环境_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2章章 OS的运行环境的运行环境 主讲:房道伟主讲:房道伟Daowei_操作系统原理操作系统原理主要内容n硬件环境n操作系统与其它系统软件的关系2.1 硬件环境硬件环境一、中央处理机一、中央处理机 (CPU)1. OS 作为一个程序要在作为一个程序要在CPU上运行上运行单个CPU 单机系统多个CPU 多机系统2. 特权指令 在多用户的多道程序设计环境中,计算在多用户的多道程序设计环境中,计算机的指令系统中的指令必须分为两部分机的指令系统中的指令必须分为两部分特权指令非特权指令特权指令特权指令定义:定义:指令系统中仅由OS 使用的指令,不允许一般用户使用,否则可能使系统陷入混乱。用途:用途:

2、启动外设备,设置时钟,清内存等。用户只能使用非特权指令,只有OS才能使用所有指令(包括特权指令)。3. 程序运行有两种状态程序运行有两种状态CPU有时执行用户程序,有时执行操作系统的程序,这赖于处理机状态的标识,将处理机工作状态划分为:管态、目态。 管态(系统态)管态(系统态)一般指操作系统管理程序运行的状态 简称管态,即OS 运行态,可使用特权指令和非特权指令。 目态(用户态)目态(用户态)用户程序运行态,只允许访问用户程序自己的存贮区域,如果用户程序在执行时,企图访问OS 所在的区域或想使用某个特权指令 (如改变指令计算器的内容),就立即被捕俘,而被迫中止的执行,然后由OS 处理这一事件,

3、这样保证了OS 的权利和使其程序不会被破坏。当处理机处在目态中,不可使用特权指令。4. 程序状态字程序状态字 (PSW) 当处理机处于管理态时,可以执行全部指令(包括特权指令)使用所有资源,并具有改变处理机状态的能力,而当处理机处于目态时,就只能执行非特权指令。 如何知道处理机当前处于什么工作状态呢?以及它下次要执行哪条指令呢?为了解决这些问题,计算机有若干的特殊寄存器。(1) 用特殊的寄存器存放状态用特殊的寄存器存放状态CS:IP (PC) 程序计数器,指示下一条要执行的指令。PSW 程序状态字,指示处理机状态。PSW包含:条件码:反映指令执行后的结果特征。中断屏蔽码:指令出是否允许中断 (

4、中断优先级)CPU的工作状态:管态还是目态。IR:指令寄存器 MAR MBR IOAR IOBR P21(2) M68000的程序状态字的程序状态字 (微机微机) 16位字位字 P20 PIC21 TSI2X N Z V CI1I01513108430自陷中断位(跟踪)CPU状态位1:管态0:目态中断屏蔽位负数结果为0溢出进位标志位条件码Trap 连机调试,排错用优先级 07(3) 不同的机器有不同的不同的机器有不同的PSW,如:,如:8088 (FLAG)ATPZC溢出SDO 1510去向 (增减)跟踪符号零辅助进程奇偶进位PLI0Nr同上MPETTSEMPE任务特权标志扩展任务切换仿真协处

5、理器监控保护允许80286 (32位字)IBM 370 大型机的大型机的PSW程序状态字程序状态字 P21 PIC2-2系统屏蔽钥 EMWP 中断码ILC CC 程序屏蔽指令地址0711153133353963位IBM370 的程序状态字的程序状态字PSWE是机器的控制方式,M位是机器校验方式位,W位是等待状态位,P位是处理器工作状态位(0管态、1目态)。二、二、主存储器主存储器 (支持支持OS运行的硬件环境中一个重运行的硬件环境中一个重要方面要方面)1. 1. 一个作业必须把它的程序和数据存放在主存一个作业必须把它的程序和数据存放在主存中才能运行。中才能运行。 多道程序放入,互不影响 保护机

6、构OSOS 空间用户空间主存 操作系统空间和用户程序空间2. 2. 存贮器类型存贮器类型RAM random access memory 可读写,随机存贮器ROM read only memory 只读存贮器(不可改程序存贮) BIOSEPROM可改写ROM,用特殊和紫外线照射芯片PROM可编程写入,用有特殊PROM写入器设备驱动器用户OSRAMIBMPC 在 MS/DOS下内存分区ROM48K8K基本输入/出系统程序BIOS40KROM32KB CBASIC8KB 空闲3. 3. 存储分块存储分块 存储的最小单位称为“ 二进位”,它包含的信息为0或1。存储器最小单位编址单位是字节,有8位。“

7、 双字”是由两个字组成,以“ 四字” IBM大型机为“ 字”。两个字节组成“ 字”。把存储器分为“ 块” 便于管理分配,在为用户分配主存空间时,以块为最小单位:16字节(一块) PC机64字节(一块) PDP-11机2k字节(一块) IBM370机、IBM大型机4. 4. 存储保护存储保护 存放在主存的用户程序和操作系统,以及它们的数据,很可能受到正在CPU上运行的某用户程序的有意或无意的破坏,这可能会造成十分严重的后果。所以对主存中的住处加以严格的保护,使操作系统及其它程序不被错误的操作所破坏,是其正确运行的基本条件之一。(1) 界地址寄存器界地址寄存器 产生越界中断(存贮器保护中断),在C

8、PU中设置一对界限寄存器来存放该用户作业在主存中的下限和上限地址。10005000OSUser 1Jump 6000User 2作业在主存中的上限地址将6000与上限地址5000比较,越界则越界中断10006000下界上界(2) 存储保护键存储保护键: (五位二进位/每块组成) 其中最左四位是保护键,最右一位是取保护标志位。A块B块C块001010100101000存储键取保护位0不保护1保护如图:001007钥Key11特权指令只要键匹配,存取均可键不匹配,则不可存是否可取要看保护位举例: 存A,取A,均可以 (键Key匹配) 存B,取B,均不可以 (键不匹配,且取保护) 存C,不可以 (键

9、不匹配)取C,可以,因取保护位为0,即不保护取程序状态字三、缓冲技术三、缓冲技术 上章已讲,它是提高CPU利用率,目前广泛使用多缓冲区技术设备利用率大为提高。 是外部设备在进行数据传输期间专门用来暂存这批数据的主存区域。 目前许多计算机系统广泛使用多缓冲区技术。以PDP-11的UNIX操作系统为例,整个系统有两个缓冲池。一个缓冲池是为了磁盘之类的块设备而设置的,该池共有15个缓冲区,每个缓冲区大小为514K个字节。另一个缓冲池是为慢速字符设备而设置的,该池共有100个缓冲区,每个缓冲区大小为8个字节。所有的缓冲区都用链指针链入不同的缓冲区队列(详见UNIX系统)。当需要缓冲区时,就向操作系统提

10、出请求,操作系统分给一块相应的空闲缓冲区供其使用。四、中断技术四、中断技术中断简介:中断简介: 计算机必须能够对微处理器外面发生的事情作出响应。例如,当按动键盘上一个按键,或时钟的报时信号来到,或软盘驱动器工作完毕发出中断信号时,均将引起微处理器的注意并处理相应事件,这就是中断中断。定义:CPU对系统中发生的异步事件的响应 P24(1) 能充分发挥处理机的使用效率:因为输入输出设备可以用中断的方式同CPU通讯,报告其完成CPU所要求的数据传输的情况和问题,这样可以免除CPU不断地查询和等待,从而大大提高处理机的效率。(2) 提高系统的实时处理能力:因为具有较高实时处理要求的设备,可以通过中断方

11、式请求及时处理,从而使处理机立即运行该设备的处理程序(也是该中断处理程序)。中断信号:发生某个事件时发出的信号中断处理程序:处理中断信号所指示的那个工作程序中断源(中断事件):引起中断的那个事件中断的组成非屏蔽中断请求 中断逻辑 中断指令INT0溢出中断INT0除法错中断单步中断T=1中断控制器8259A可屏蔽中断请求IBM-PC中断逻辑和中断源中断逻辑和中断源 P25 PIC 2-4 图中所表示的是IBM-PC的中断源及中断逻辑。在IBM-PC中有可屏蔽的中断请求INTR,这类中断主要是输入输出设备的IO中断。这种IO中断可以通过建立在程序状态字PSW中的中断屏蔽位加以屏蔽,此时即使有IO中

12、断,处理机也不予以响应;另一类中断是不可屏蔽的中断请求,这类中断是属于机器故障中断,包括内存奇偶校验错以及掉电使得机器无法继续操作下去等中断源。它是不能被屏蔽的,一旦发生这类中断,处理机不管程序状态字中的中断屏蔽位是否建立都要响应这类中断并进行处理。此外还有程序中的问题所引起的中断 (如溢出,除法错都可引起中断)和软件中断等,由于IBM-PC中具有很多中断源请求,它们可能同时发生,因此由中断逻辑按中断优先级加以判定,究竟响应哪个中断请求。 中断信号是发送给中央处理机并要求它处理的,但处理机又如何发现中断信号呢?处理机又如何发现中断信号呢?为此,处理机的控制部件中增设一个能检测中断的机构,称为中

13、断扫描机构。通常在每条指令执行周期内的最后时刻扫描中断寄存器,询问是否有中断信号到来。若无中断信号,就继续执行下一条指令。若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM中是1631位),称为中断码。(一一) 中断的类别中断的类别一般中断按其功能来分可有以下几大类:(1) 硬件故障中断硬件故障中断(不可屏蔽中断不可屏蔽中断):电源故障中断(2) 输入输入/输出中断:输出中断:键盘、计时器、显示器、磁盘I/O中断(3) 程序性中断:程序性中断:除法错误中断,溢出中断,还包括:断点中断、单点中断(调试用)(4) 外部中断:外部中断:对CPU而言,它的外部非

14、通道式装置所引起的中断。如:时钟中断,操作员控制台中断,多机系统中CPU到CPU通讯中断(5) 软中断软中断 (访管中断访管中断):用户程序和操作系统之间只有一个相通的“门户”,这就是访管指令,如利用INT n 中断指令(SVC)发生的中断,可以实现对OS功能的访问(调用)。这五类中断又可按中断方式不同划为:自愿中断自愿中断:是正在运行的程序的期待的事件,这种事件是由于执行了一条访管指令而引起的。(只有访管中断是它自愿)强迫性中断强迫性中断:是由随机事件引起的,并非由程序设计人员事先安排的。(二二) 中断向量表中断向量表 IBMPC对不同的中断事件规定了一个0255 之间的一个数,这些数代表了

15、引起中断的事件,它们称为中断类型中断类型。 对于每一个中断类型,处理器必须有相应的处理该类事件的程序 (中断例行程序)。 而中断例行程序的地址称为中断向量,其字长为4字节,其中包含有中断例行程序的段首址(CS的内容)和段内编置地址(IP元值)。将所有256个中断类型中的中断向量放在一张表上称为中断向量表,它在内存区中占有最低阶1k字节 ( 地 址 0 0 0 0 0 H 003FFH)。如图所示:IPCSIPCSIPCS0000000001000020000300004000050000600007003FC003FD003FE003FF(三三) 中断进入中断进入CPU响应后保护现场(主要是标

16、志位) PSW入栈保护断点(现行的代码段寄存器CS和指令计数IP) 入栈中断允许处理机从外部设备获悉中断类型,然后就把相应的表中项目送入IP与CS(假设外部设备提供的类型是0001H,则0001H40004,把0004号单元内的16位数值作为首址送IP,而把000420006号单元内的16数值作为首址送CS。这样一来,下一条要执行的指令就是与中断类型1相对应的中断例行程序的第一条指令。)New (IP)New (CS)Old (IP)Old (CS)Old (PSW) IPCSPSW80864N4N +2中断指针中断处理中断处理(四四) 返回返回 如果中断例行程序执行时可能改变某些寄存器的值,

17、那么中断例行程序首先要保留初值,执行结束后恢复它们,最后通过执行一条叫“ IRET ” 中断返回指令,去恢复保留在推栈上的IP、CS以及各标志之值,从而使中断例行程序结束。(五五) 中断优先级中断优先级 目前多数微型处理机有着多级中断系统,即可以有多根中断请求线(级)从不同设备连接到中断逻辑。通常具有相同特性和优先级的设备可连到同一中断级(线)上,例如系统中所有的磁盘和磁带可以是同一级,而所有的终端设备又是另一级。 与中断级相关联的概念是中断优先级。在多级中断系统中,很可能同时有多个中断请求,这时CPU接受中断优先级为最高的那个中断,忽略其中断优先级较低的那些中断。 如果在同一中断级中的多个设

18、备接口中同时都有中断请求时,有两种办法:(1) 固定的优先数:每个设备接口给安排一个不同的、固定的优先数顺序。在PDP-11中是以该设备在总线中的位置来定,离CPU近的设备,其优先数高于离CPU远的设备。(2) 轮转法:用一个表,依次轮转响应,这是一个较为公平合理的方法。五、时钟、时钟队列五、时钟、时钟队列1.1. 在计算机系统中设置时钟其作用很多在计算机系统中设置时钟其作用很多 如计算机程序中的死循环的解决,中断处理,记录设备使用情况分时系统的时间片,实时系统的实时控制等。 由上述时钟的这些作用可以看到,时钟是操作系统运行的必不可少的硬件设施,所以现在的微型机系统中均有时钟。在微型机系统中,

19、通常只有一个系统时钟(也用作绝对时钟),在大型机中时钟类型通常要多些。2.2. 分类分类 绝对时钟 (系统时钟) 开机后自动修改 初值由用户输入停机后时钟仍自动修改。 间隔时钟:相对时钟,初始值由用户设定,触发中断等,停机后不再被修改。3.3. 时钟队列时钟队列由于时钟数最少,程序需要,我们可以通过软件为每个进程提供其需要的软时钟:ABCD 50ms1050队列头指针作业(进程)、程序段唤醒时间要求:A作业从现在起50ms后运行B作业从现在起60ms后运行C和D作业从现在起65ms后运行若A运行完后还要运行,则排在D后则A时间为:5010535ms,才能保证过50ms后又运行A。AD035 2

20、.2 操作系统与其它系统软件的关系操作系统与其它系统软件的关系 OS是整个计算机系统的管理者,是系统的控制中心,它不但控制、管理着其它各种系统软件,而且与其它系统软件共同支持用户程序的运行。可以说操作系统和这些软件构成一个以OS为中心的“ 环境”,以便于用户程序运行。OS的功能设计必须受这些系统软件的功能强弱和完备与否的影响。一、作业、作业步、进程的关系一、作业、作业步、进程的关系作业:作业:是用户在一次上机活动中,要求计算机系统所做的一系列工作的集合。(也称作任务)作业步:作业步:一个作业一般可以分成几个必须顺序处理的工作单位(或步骤)。如:一个用高级语言写的用户作业,它的运行要分成三步:先

21、编译,再连接,最后运行。进程:一个作业步又可分为若干个作业步任务 进程,而一个进程又可能要执行多个线程,如下图:用户作业作业步作业步进程进程线程线程.由用户创建由用户指定由系统创建作业、作业步进程和线程的关系作业、作业步进程和线程的关系线程是进程内的一个相对独立的可调度的执行单元。二、重定位的概念二、重定位的概念1. 引子引子PC机的CPU使用的16位寄存器,表示最大数为 65535即FFFFH,CPU采用内存分段方式,解决寻址大于64k空间内存的问题:一段为64k内存,用一个16位的地址值就可指向其中的任一字节,用另一个双字节(16位)的值来标示某一段的起点。例:每段16个字节,段值为2,段

22、中的地址数为7,则162739字节绝对地址为39,相对地址为7。(1) 绝对地址绝对地址 存储控制部件能够识别的主存单元编号(或字节地址),也就是主存单元的实际地址。(2) 相对地址相对地址 相对于某个基准量(通常用零作基准量) 编址时所使用的地址,常用于程序的编写和编译过程中。因为多道程序系统中,主存将存放多道作业,而程序员在编写程序时,不可能了解自己的程序将放在主存中何处运行,不可能用绝对地址来编写程序。(3) 逻辑地址空间逻辑地址空间 指一个被汇编、编译或连接装配后的目标程序所限定的地址的集合。程序中相对地址的全体称为逻辑地址空间。(4) 物理地址空间物理地址空间 相对于实际的主存地址空

23、间。在多道程序环境下,用户不可能决定自己使用的主存区,因而在编制程序时常按(以零作为基准地址)相对地址来编写。这样,当程序放入主存时,如果不把程序中与地址有关的“项”变成新的实际地址,而是原封不动的装入,那么程序就不能正确执行(除非有动态地址变换机构)。2. 重定位:把程序中相对地址变换为绝对地址重定位:把程序中相对地址变换为绝对地址举例:0 LOAD 1, 62 ADD 1, 84 STORE 1, 106 A 8 B 10 相对LOAD 1, 6ADD 1, 8STORE 1, 10A B100102104106108程序装入主存部分矛盾地址单元不变换会出错100(1) 静态重定位静态重定位它在程序装入主存时,由连接装入程序进行重定位,程序开始运行前,程序中各与地址相有关的项均已重定位完(即已将程序中的相对地址转换成绝对地址了)。0 LOAD 1, 62 ADD 1, 84 STORE 1, 106 A 8 B 10 相对LOAD 1, 106ADD 1, 108STORE 1, 110A B100102104106108程序装入主存部分地址单元100(2) 动态重定位动态重定位 重定位不是在程序装入过程中进行,在处理机每次访问主存时,由动态地址变换机构(硬件)自动进行把相对地址转换为绝对地址。 本节只介绍静态重定位,关于动态重定位

温馨提示

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

评论

0/150

提交评论