第2章 计算机系统结构
任何一个计算机系统都有引导程序(初启程序),计算机启动时,自 动执行引导程序(初启程序)。引导程序首先进行初始化的工作,然 后把操作系统的核心装入主存储器,并让操作系统的核心程序占用处 理器执行。此后操作系统便等待用户请求(事件)的发生。当出现某 个事件时,硬件便能识别并发生一个中断,通知操作系统,由操作系 统的服务程序去处理,处理结束后,又开始等待下一个事件发生。
3、存储保护 主存储器中往往同时装入了操作系统程序和若干用户程序,为了保证正确的操作, 必须限定用户程序只能在规定的主存区域内执行,以保护各程序的安全。存储 保护方法: 硬件设置了两个寄存器来限定用户程序执行时可以访问的空间范围,这两个寄
存器是基址寄存器和限长寄存器。当用户程序在CPU中执行时,操作系统把程序
统对各用户程序进行管理和控制。
2.3.1 操作系统的设计目标
程序的结构是影响程序质量的内在因素。因此,研究操作系统的结构 很有必要。
设计操作系统的结构时应追求4大目标:
正确性:能充分估计和把握各种随机的、不确定的情况,一个结构良 好的操作系统不仅能保证正确性而且要易于验证正确性。
高效性:能尽可能减少操作系统的开销(操作系统所需占用的资源和 处理器时间称为系统开销),设计操作系统的核心程序应遵循少而精 的原则,使处理既有效又灵活。 维护性:便于对操作系统的功能进行增、删、改,提高可维护性。
3、辅助存储器
2.3 存储体系
辅助存储器解决了主存容量不足以及无法永久保存信息的问题。 优点:容量大且能永久保存信息,缺点:中央处理器无法直接对其访问,必须通过主存储器 才能访问。常用的有:磁盘(硬盘和软盘)、磁带、光盘等。 4、寄存器 寄存器是中央处理器的组成部分,用来存放处理器的工作信息 (1)通用寄存器:存放参加运算的操作数,指令的运算结果等 (2)指令寄存器:存放当前从主存中读出的指令 (3)控制寄存器:存放控制信息以保证程序的正确执行和系统的安全。
①程序状态字寄存器:存放当前程序执行的状态
②中断字寄存器:记录出现的事件 ③基址寄存器:设定程序执行时可访问的主存空间的开始地址 ④限长寄存器:设定程序执行时可访问的主存空间的长度 这些寄存器都是处理器的工作寄存器,当处理器执行程序时,每次从主存储器中读出一条 指令,并把它存入“指令寄存器”中,然后分析指令,根据指令中指定的地址,从主存储 器读出操作数,存入“通用寄存器”,根据指令中的操作码,对操作数进行运算,并将所 得的结果或暂存在通用寄存器中或存储到主存储器中,利用控制寄存器来保证各程序交替 占用处理器时能正确执行,保证系统安全。例如:按“程序状态字寄存器“记录的系统状 态来控制当前程序的执行,按“基址寄存器”和限长寄存器庙宇的地址和长度来限定程序 执行时可访问的主存空间的范围。
第2章 计算机系统结构
2.1 计算机系统的结构
2.1.1 计算机系统的层次结构
2.1.2 操作系统的运行方式(工作框架)
2.2
2.3 2.4 2.5
计算机系统的硬件环境
硬件保护 操作系统的结构 操作系统与用户接口
2.1.1 计算机系统的层次结构
(1)软件系统: 系统软件:计算机系统中必不可少的软件,如 操作系统和编译系统 操作员(人) 支撑软件:可支持其它软件的开发和维护,如 数据库,各种接口软件和软件开发工具等。
2.2 计算机系统的硬件环境
1、CPU与外设并行工作的I/O中断(P17) 在现代通用计算机系统中,输入/输出控制系统负责完成外围设备与 主存储器之间的信息传送。 (1)CPU与外设并行工作 各种外设连接到相应的设备控制器上,通过通道把设备控制器连接 到公共的系统总线上,这种结构允许CPU与外设并行工作。
在主存中的起始地址存入基址寄存器,将程序占用的主存空间长度存入限长寄 存器。只有操作系统才有权修改这两个寄存器的值。 中央处理器在目态下执行程序时,对每一个访问主存空间的地址都要进行核查, 只有判定访问地址符合下列关系时才允许访问: 基址寄存器≤访问地址≤(基址寄存器+限长寄存器) 中央处理器在管态下执行程序时,不对访问主存的地址进行核查,以允许操作系
移植性:是指能否方便地把操作系统从一个硬件移植到另一个新的硬 件环境中。因此设计时尽量减少与硬件直接有关的程序量,采用国际 标准C语言可C++语言编写程序来提高移植性。
2.3.2 操作系统的层次结构
(1)操作系统结构的设计方法 操作系统结构的设计方法有:无序模块法、内核扩充 法、层次结构法和管理设计法等。 (2)层次结构法 层次结构法的最大特点是把整体问题局部化。把一个 复杂的大型操作系统分解成若干单向依赖的层次,由 各层的正确性来保证整个操作系统的正确性。 采用层次结构,结构清晰,便于调试,有利于功能的 增、删和修改,正确性容易得到保证,也提高了系统 的可维护性和可移植性。 操作系统的一种层次结构如图所示。 这种结构具有单向依赖关系,即外层依赖内层的关系。
2、系统调用 (1)系统功能调用
2.2.5 操作系统与用户接口
操作系统编制了许多不同功能的子程序,供用 户程序在执行中调用,这些子程序称为“系统 功能调用程序”或“系统调用”。
(2)系统调用过程 系统调用往往在管态下执行,用户程序在调用 系统调用时,编译系统会生成一条“访管指 令”,程序执行时,CPU取到访管指令后将产生 中断事件,操作系统立即用相应的系统调用子 程序为其服务,并在管态下工作。处理完成后, 返回目态及用户程序。 (3)系统调用分类 ①文件操作类:打开文件、读、写、关闭和删除 文件等 ②资源申请类:如主存的分配和归还,外设的分 配和归还等 ③控制类:如程序正常结束,异常结束和返回断 点等 ④信息维护类:如日期时间的设置和查询,文件 属性和设置和查询等
当系统启动时,硬件置中央处理器的初态为管态,然后装入操作系统程序, 如果操作系统选择了用户程序占用处理器,则把管态换成目态,如果程序 执行中出现了一事件,则又将目态转换为管态,让操作系统去处理出现的 事件。所以,总能保证操作系统在管态工作,操作系统退出执行时,让用 户程序在目态执行。
2.2.3 硬件保护
2.2 计算机系统的硬件环境
CPU与外围设备并行工作
利用硬件的中央处理器与外设的并行工作能力,以及各种外部设 备之间的并行工作能力,操作系统能让多个程序同时执行。
2.3 存储体系
1、主存储器 主存储器是CPU能访问的唯一存储空间,任何程序和数据都必须被装入主存 储器之后,CPU才能对它进行操作。主存以“字节”为单位进行编址,若干 字节组成一个“字”,例如64位计算机由8个字节组成一个字。处理器可以 按地址读出主存储器中的一个字节或一个字的内容。主存储器不能永久保 存信息,断电后信息便会消失。 2、高速缓冲存储器(Cache) 当程序和数据装入主存储器后,处理器在执行程序时就要不断的访问主存 储器,从中读出指令和操作数,然后对操作数进行处理,处理结果又会被 保存到主存储器中。通常,处理器执行程序时花在访问主存储器的时间远 远大于处理数据的时间。为了减少对主存储器的访问时间,加快程序的执 行速度,现代计算机系统往往配置一个高速缓冲存储器(Cache),其存取 速度大大快于主存储器。但一般容量都较小。 当程序执行时,可把当前要访问的一组信息从主存中复制到Cache中,CPU执 行程序时先访问Cache,若Cache中有所需的信息,直接取出。没的才去访 问主存。从而提高系统效率。
1.操作控制命令
一个用户作业进入计算机系统后,除程序执行时要调用系统功能外,用户往 往告诉操作系统控制作业执行的步骤,如依次做编译、装配、运行等。为 此,操作系统提供了操作员一级表示作业执行步骤的手段:操作控制命令。
(1)操作控制命令;用户可以从键盘输入操作控制命令或从“菜单”中选 择命令,来指出作业的执行步骤,当使用操作命令时,用户每输入一条命 令,操作系统就按命令要求控制程序的执行,一条命令的控制结束后,就 通知用户输入下一条命令,直至作业执行结束。 (2)作业控制语言:在批处理系统中,为用户提供作业控制语言,允许用 户用作业控制语言编写一分表示作业执行步骤的“作业控制说明书”,操 作系统根据作业控制说明书自动控制作业的执行,可成批处理作业。
应用软件支撑软件 系统软来自 编译系统 „应用软件:按某种特定的需要而编写的专门程 序,如财务管理、人口普查和天气预报等软件。
(2)硬件系统:
操作系统
硬件系统
CPU:对数据进行运算和控制处理
主存:存储各种程序和数据,它能被CPU直接 访问 输入输出控制系统:控制和管理外围设备与主 存之间的信息传送。
2.1.2 操作系统的运行方式
作业管理 文件管理 设备管理 存储管理 处理器管理 硬件
层次结构的主要优点是有利于系统的设计和调试,主 要困难在于层次的划分和安排
2.4 操作系统与用户接口
操作系统为用户提供两类使用接口:一类是操作员级(一组控制命令),供 用户提出如何控制作业执行的要求;另一类是程序员级(一组系统功能调 用),为用户程序提供服务功能。
2.2.3 硬件保护
2、管态和目态(中央处理器的两种工作方式,解决用户程序中出现特权指令 的情况)
在管态下,中央处理器可执行包括特权指令在内的一切指令;在目态下, 中央处理器不准执行特权指令。所以操作系统占用处理器时应让处理器工 作在管态下,用户程序占用处理器时应让处理器工作在目态。即操作系统 在管态方式下工作,用户程序在目态方式下工作。 当中央处理器在目态下工作时,若取得了一条特权指令(用户程序中出现 了特权指令),CPU将拒绝执行该指令并形成一个“非法操作”事件,硬 件识别到该事件后,便暂停当前程序的执行,且把该事件转交操作系统去 处理。由操作系统通知用户:“程序中有非法指令”,必须修改。
2.3 存储体系小结
1、CPU存取信息的速度: 寄存器——高速缓存——主存——辅存 2、主存储器中存放操作系统的核心部分以及当前需要执行的程 序和数据。 3、辅助存储器中存放操作系统的非核心部分和其他程序和数据。 4、磁盘上的信息可随机存取,磁带上的信息只能顺序存取