- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二部分 中断与用户接口详稿(8课时)
引言:正如第一章中所介绍的操作系统层是最靠近硬件的软件层,对计算机硬件作首次扩充和改造。所以本章首先介绍与基本的硬件知识,包括计算机的基本组成、处理器中的寄存器和计算机指令的执行过程,接着重点分析了与操作系统的实现密切相关中断技术,包括中断的概念、分类、硬件中断装置和中断处理的完整过程。本章最后介绍用户界面,即各类用户如何获取操作系统提供的各种服务和功能。
2.1 计算机硬件基础
正如第一章中所介绍的操作系统管理和控制计算机系统中所有软硬件资源。同时,因操作系统是一个运行于硬件之上的系统软件,我们必须对操作系统运行的硬件环境有所了解。本节介绍计算机硬件系统。
一、基本构成
一台计算机由处理器、存储器和输入/输出部件组成,这些部件以某种方式互联,以实现计算机执行程序的主要功能。
1. 处理器(Processor)
控制和执行计算机的指令操作。一台计算机中可以有多个处理器或单个处理器。当只有一个处理器时,它通常是指中央处理器(CPU)。
2. 主存储器(Main Memory)
存储程序和数据。主存储器通常也称为实存储器或内存储器。
【思考】主存储器的特性?
内存由一组单元组成,每个单元都有一个顺序编号的地址。每个单元包含一个二进制数,可以解释为一个指令或数据。
3. 输入/输出模块(I/O Modules)
或称设备控制器,在外部设备和处理器,以及外部设备和存储器之间传送数据。设备控制器包含内存缓冲区,用于临时保存数据,直到它们被发送出去。外部设备包括二级存储器设备(如硬盘)、输入设备和输出设备。
4. 系统总线(System bus)
为处理器、主存储器和设备控制器提供通信的设施。
为了和存储器交换数据,处理器使用两个内部寄存器:存储器地址寄存器(Memory Address Register,MAR)和存储器缓冲寄存器(Memory Buffer Register,MBR)。存储器地址寄存器MAR用来确定下一次读写的存储器地址;存储器缓冲寄存器MBR包含要写入存储器的数据或者从存储器中读取的数据。
同理,为了和设备控制器交换数据,处理器使用输入/输出地址寄存器(I/O Address Register,简称I/O AR)和输入/输出缓冲寄存器(I/O Buffer Register,简称I/O BR)。I/O AR用来确定一个特定的输入/输出设备;I/O BR用于在设备控制器和处理器之间交换数据。
二、处理器寄存器
处理器包括一组寄存器,它们构成一级存储,虽比主存容量要小得多,但比主存的访问速度要快得多。根据功能不同,可以将寄存器分为用户可见寄存器以及控制和状态寄存器。
1. 用户可见寄存器
用户可见寄存器可以通过由处理器执行机器语言来引用,它们一般对所有的程序都是可用的,包括应用程序和系统程序。
优先使用这些寄存器,可使机器语言或汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定哪些变量应该分配给寄存器、哪些变量应该分配给主存储器。一些高级语言(如C语言)允许程序员建议编译器把哪些变量保存在寄存器中。
(1) 数据寄存器
在某些情况下是通用的,可被执行数据操作的任何机器指令使用。
(2) 地址寄存器
包含数据和指令的主存储器地址,或者包含用于计算完整地址或有效地址的部分地址。这些寄存器也是通用的。
2. 控制和状态寄存器
用于控制处理器的操作。在多数机器上,大部分这类寄存器对用户不可见,其中有一部分可被操作系统执行的特权指令访问。除了前面提到过的MAR、MBR、I/O AR和I/O BR以外,下面的寄存其也是指令执行所必需的:
(1) 程序计数器(Program Counter,PC)
包含将取指令的地址。
(2) 指令寄存器(Instruction Register,IR)
包含最近取得指令内容。
(3) 程序状态字(Program Status Word,PSW)
包含条件码(处理器为操作结果设置的标志位)和其他状态信息,如中断允许/禁止位和管理/用户模式位。
除此以外,常用的控制和状态寄存器还包括中断寄存器,中断寄存器的内容称为中断字,其每一位对应了一个中断事件。当某个中断事件发生时,中断字的相应位会置1;为了实现系统调用或者中断处理时的信息保护,还需要系统栈指针寄存器,保存系统栈栈顶地址;存储管理时需要用基址寄存器实现地址重定位,在页式或者请求分页存储管理中要用到页表寄存器存放页表在内存中的起始地址和页表的长度,在段式或者请求段式存储管理中要用到段表寄存器存放段表在内存中的起始地址和段表的长度。所以在设计控制和状态寄存其的时候,如果处理器设计者对所用操作系统的功能有所了解的话,就可以设计相应的寄存器结构对操作系统的特殊功能提供硬件支持。
三、指令的执行
处理器执行的
文档评论(0)