280 likes | 466 Views
Ch2 操作系统的运行环境. 硬件环境 软件环境 OS 与人的接口 微程序设计 . 中央处理机 CPU 指令系统 处理机状态字 程序状态字 主存储器 存储器类型 存储保护. 缓冲技术 中断技术 时钟和时钟队列. 2.1 硬件环境. 中央处理机( CPU ) . 单机系统 : 计算机系统中只有一个处理机 多机系统 : 有多个处理机(不包括通道)
E N D
Ch2 操作系统的运行环境 • 硬件环境 • 软件环境 • OS与人的接口 • 微程序设计
中央处理机CPU 指令系统 处理机状态字 程序状态字 主存储器 存储器类型 存储保护 缓冲技术 中断技术 时钟和时钟队列 2.1 硬件环境
中央处理机(CPU) • 单机系统:计算机系统中只有一个处理机 多机系统:有多个处理机(不包括通道) • 指令系统: 单用户单任务:用户可用全部指令;多用户或多任务:多道程序设计技术,分为特权指令,非特权指令。用户只能使用非特权指令,只有OS可使用所有的指令(包括特权指令)。
CPU 工作状态 • 处理机工作状态: • 核心状态,管理状态,用户程序状态; • 管态:OS管理程序运行时CPU的状态。此时CPU可以执行全部指令,使用所有资源,并具有改变处理机状态的能力。 • 目态:用户程序运行时CPU的状态。此时CPU只能执行非特权指令。 • 处理机工作状态寄存器: 程序记数器PC;程序状态字PSW
主存储器-使用及类型 • 作业的程序和数据必须放在主存中才能运行!OS也要在主存中存放并运行! • 存储器的类型: RAM:读写型,存放随机存取的用户程序 和数据 ROM:只读型(PROM,EPROM),程序固 化 ex: IBM-PC基本系统:48KB ROM= 40KB(BIOS+CBASIC)+8KB(用户) • 存储器组织:bit, byte, word, block
主存储器-存储保护-界地址寄存器 • 目的:保证OS及其它程序不被错误的操作所破坏。 • 方法:界地址寄存器,存储键 • CPU中设置一对界限地址寄存器,存放该用户作业在主存中的上限和下限地址---上限寄存器,下限寄存器。 访问主存-->硬件比较地址-->判断越界--> 越界中断/存储保护中断 界地址寄存器
主存储器-存储保护-存储键 • 主存分块->存储块->每块一个存储保护键(4bits存储键+1bit取保护位)。 0--万能键,系统用; 1. . .15--用户用 • 例如:IBM370
缓冲技术 • 在主存中划出一块空间,暂存来往于I/O设备和处理机间的数据。 • 缓解I/O设备传输数据与处理机处理数据速度间的矛盾! (1)避免工作区因传输数据而长期被占用;(2)缓冲区与设备联系而不与用户直接联系;(3)减少I/O次数。Buffer信息可供多个用户共同使用和反复使用。 • 多缓冲区技术:提高设备利用率(PDP-11的UNIX系统)
中断技术-概念 • OS由“中断驱动”! • 概念:中断,异步事件,中断事件(中断源),中断处理程序。 • 作用: • 能充分发挥处理机的使用效率; • 提高系统的实时处理能力:及时响应中断请求。
中断逻辑: 中断寄存器寄存中断信号,中断扫描机构检测有否中断信号,有则中断码送PSW中断逻辑: 中断寄存器寄存中断信号,中断扫描机构检测有否中断信号,有则中断码送PSW 微型机中断类型: (IBM-PC) 可屏蔽中断INTR, 不可屏蔽中断NMI, 程序错误中断, 软件中断(Trap, INTn指令)。 大型机中断类型: (IBM-370,43) 机器故障中断 I/O中断 外部中断 程序中断 访管中断/陷阱中断: 大型机的访管指令SVC; 小/微型机的陷阱指令Trap; Z-8000的SC指令; 中断技术-中断逻辑和中断类型
多级中断系统: 有多根中断请求线从不同设备连接到中断逻辑。 具有相同特性和优先级的设备连在同一中断级(线)上。 中断优先级:决定CPU响应中断请求的优先次序,优先级高的先得到响应。 如大型机: 机器故障中断 程序中断,访管程序中断 外部中断 输入输出中断 中断判别:同级中断 固定优先数, 轮转法 中断响应: 何时:CPU在指令周期内最后时刻询问有无中断请求(扫描中断寄存器)并响应。 如何: 软件查询:费时,经济 中断向量:硬件 中断屏蔽:PSW中的中断禁止位 中断技术-中断响应和中断屏蔽
中断技术-中断处理 • 硬件过程: (隐操作) (IBM-PC为例) • 保护现场(PSW,IP ,CS入栈); • 中断向量-> IP,刷新PSW,CS; • 转入中断处理程序; • 恢复中断程序现场( PSW,IP ,CS出栈)。 • 硬件,软件配合实现。
时钟的作用 多道程序:为系统发现陷入死循环的作业; 分时系统:实现用户作业间按时间片轮转; 实时系统:定时输出控制信号给实时控制设备; 定时唤醒; 波特率发生器; 记录时间; 提供绝对时间:年月日 类型: 绝对时钟, 间隔 时钟/相对时钟, 软时钟/虚拟时钟 硬件实现:时钟寄存器按时钟电路所产生的脉冲加1或减1。 绝对时钟:年月日时分秒 操作员置时间初值,定时自动加1(如每uS ,64位寄存器可记148年) 间隔 时钟/相对时钟: 操作员置时间间隔初值,定时自动减1(如每1/300s),负值触发时钟中断。 时钟
时钟队列:间隔时钟的软件实现 • 便于实现进程自己的间隔时钟 • 时钟队列实现作业的定时唤醒: • A要求50毫秒后运行, • B要求60毫秒后运行, • C和D要求65毫秒后运行, • A要求开始运行50毫秒后再运行。
2.2 OS与其他系统软件的关系 • 关系: • OS控制管理其他系统软件,并与其共同支持用户程序的运行——运行环境; • OS的功能设计也受到这些系统软件的功能强弱和完备与否的影响。 • OS常用的软件技术: • 重定位技术 • 装入程序:绝对装入,相对装入 • OS与人的接口:脱机控制,联机控制 • *微程序设计
OS常用软件技术之一:重定位 • 概念 (1) 用户,作业,作业步,进程; (2) 绝对地址:主存单元的实际地址。 (存储控制部件用来识别单元在主存中的实际位置) (3)相对地址:相对于某个基准地址的位置,程序员编程时使用,用于安排指令和数据。 (用于程序编写和编译 中的地址系统) (4) 逻辑地址空间:相对地址的全体/集合。指一个被汇编、编译和连接装配后的的目标程序所限定的地址的集合。 [5] 物理地址空间:绝对地址的集合,即实际的主存地址空间。
作业A的逻辑地址空间 0000h 0000h 1000h 作业B的物理地址空间 0FFFh 2FFFh 作业B的逻辑地址空间 5000h 0000h 作业A的物理地址空间 5FFFh 1FFFh FFFFh
0 LOAD 1,6 2 SUB 1,8 4 STORE 1,10 6 A 8 B 10 400 402 404 406 408 LOAD 1,6 (406) SUB 1,8 (408) STORE 1,10(410) A B LOAD 1,adr1 SUB 1,adr2 STORE 1,adr3 adr1: A adr2: B adr3: 主存 源程序 目标程序 装入主存的程序 名空间 逻辑地址空间 实际地址空间
重定位 • 重定位:把程序中的相对地址变换成绝对地址,使程序装入主存中后能正确执行。 • 静态重定位:程序装入主存时,运行前,由连接装入程序进行重定位。 • 动态重定位:处理机每次访问主存时,由动态地址变换机构(硬件)自动进行重定位,把相对地址转换成绝对地址。 • 重定位寄存器RR:硬件支持自动完成 • 映象:虚存管理,页表实现虚页到实页的映象 • 重定位的对象:程序中与地址有关的项,即指令,数据,地址指针。
重定位的实现——装入程序 • 一般地:程序->编译,汇编(可浮动的相对地址空间)->连接装入(绝对地址空间) • 装入程序:(连接程序,连接编辑程序) 把非同一次编译的过程、子程序(目标程序)同主程序装配起来装入主存运行。 • 绝对装入程序:已知用户能用的主存起始地址。程序->编译汇编(绝对地址空间)!无需重定位!如:Paradigm(Locate, Debug, PDRemote) 相对装入程序:多道程序系统 把作业所用到的各个子程序和过程同主程序装配起来(连接);把已按相对地址装配好的目标程序装入主存运行(装入)-连接装入程序
地址缓冲器 M1 • 程序员预先了解地址空间分配: 用C软件开发系统Paradigm 实现 Embedded System 2000h~2FFFh Intel 186 数据缓冲器 M2 3000h~3FFFh 译码器 1000h~1FFFh IO
连接装入程序 • 准备工作: 程序经编译汇编生成可重定位目标模块(提供全部用于重定位的信息) • 内部定义符号表:本程序被其它程序调用时的名字及其在本程序中的相对地址。 • 外部调用符号表:本程序所调用的其它程序段名表。 • 指示字:对程序中各数据项附加指示字,说明是否需要重定位。或重定位表/重定位词典:给出需重定位的数据项。 • 代码和数据区 • 连接装入:
符号名 地址 P e CALL SUB ADD TIME d 内部定义符号表 符号名 地址 P e d 外部调用符号表 SUB1 TIME P e CALL* ADD* SUB1 SUB1 程序段P P e d 代码 与 数据区 内部定义符号: P,e,d 外部调用符号: SUB1 TIME TIME d 重定位词典 全程符号表 程序------->编译汇编------->可重定位目标模块 主存
2.3OS与人的接口 • OS与用户的接口: 用户程序,作业控制说明(JCB) • 作业控制方式: • 脱机作业控制:自动控制方式,为批处理的脱机用户提供的,如作业控制语言 • 联机作业控制:直接控制方式,为联机或终端用户提供的,如终端命令,图形用户接口GUI.
脱机控制方式 • 作业控制卡方式:作业控制语言穿卡 • 作业控制卡 • 源语句或目标语句卡 • 数据卡 • 作业说明书方式:如IBM370的作业控制语言,英国ICL1900系列的George语言。 • 作业标识命令 • 执行命令 • 数据定义命令 • 定界命令
终端命令:OS根据自己的设计形成一套命令 系统访问 程序运行 程序开发 文件操作 资源分配 前后台作业转换 系统管理 图形用户接口GUI: 窗口 菜单 列表盒 表目盒 对话盒 按纽 滚动杆 联机控制方式
2.4*固件-微程序设计概念 • 固件:软件通过微程序设计转化为硬件 • 计算机线路: • 数据流线路:导线、存储元件,传输电信号(数据),包含大量分支。 • 控制线路:译出计算机指令,并确定使用哪条数据通路。 • 计算机动作:由一系列基本动作组成——微操作,微指令 ——微程序(控制器完成)。 • 将主存储器的缓冲寄存器中一个字节送累加器 • 清除加法器 • 将指令地址寄存器增加一个固定值 • 将加法器中内容送累加器
微操作/微指令:计算机硬件中最基本操作。机器指令->若干控制器基本操作->微程序微操作/微指令:计算机硬件中最基本操作。机器指令->若干控制器基本操作->微程序 • 微程序设计:把计算机控制器的操作用微指令编成程序(微程序或微代码)来实现。 • 优点: • 控制线路设计标准化; • 便于修改维护检查; • 指令系统适应性强-实现兼容; • 多组指令系统共存于一台计算机,程序可移植。 • 微程序在高速控制存储器中运行(控存-CPU中的ROM,不同于主存)。 • OS的部分功能用微程序实现:速度快,改善系统性能,降低程序开发成本…...