Skip to content
🗂️ 文章分类: 软考  
🏷️ 文章标签: 软考  
📅 文章创建时间: 2026-08-10
🕘️ 文章最后更新时间:2026-08-10

[toc]

系统分析师笔记03_计算机系统 ​

该笔记内容来自《系统分析师教程》第2版。

计算机系统概述 ​

计算机系统的层次结构 ​

从不同角度分析,计算机系统有不同的划分层次,但通常可划分为包括硬件层、系统层和应用层的多级层次结构。

如图所示 ruankao_2026-08-10_172838_302.png

  • (1)硬件层(裸机)。其中硬联逻辑是计算机的内核,由门电路、触发器等逻辑电路组成;
  • (2)系统层。其中操作系统要管理计算机系统中的软硬件资源;语言处理程序的作用是将高级语言或汇编语言编写的程序翻译成某种机器语言程序,使程序可在计算机上运行。
  • (3)应用层。该层是针对不同用户而设计的各种应用程序,即面向实际用户的各种应用软件。

计算机硬件 ​

冯·诺依曼体系结构中的计算机的基本硬件主要由运算器、控制器、存储器、输入设备和输出设备五大部件组成。

如图所示。 ruankao_2026-08-10_173410_061.png

  • 运算器和控制器集成在一起统称为中央处理单元(CPU)。负责数据的加工处理,能完成各种算术,逻辑运算以及控制功能。
  • 存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。
    • 内部存储器(速度高,容量小):临时存放程序、数据及中间结果。
    • 外部存储器(速度慢,容量大):长期保存程序和数据。
  • 输入设备和输出设备合称为外部设备(简称外设)
    • 输入设备用于输入原始数据及各种命令
    • 输出设备则用于输出计算机的运行处理结果。

计算机软件 ​

按照功能,计算机系统中的软件可以分为系统软件和应用软件两大类。

系统软件

系统软件:用于实现计算机系统的管理、调度、监视和服务等功能。

通常将系统软件分为5类:操作系统、语言处理程序、服务性程序、数据库管理系统和计算机网络软件。

应用软件

应用软件:是为解决某种应用问题而编制的一些程序。

应用软件是用户或第三方软件公司为各自业务开发和使用的各种软件,种类繁多。

固件

另外,还应该注意固件的概念,它是指那些存储在能永久保存信息的器件(例如,EPROM或EEPROM)中的程序,是具有软件功能的硬件。

通过固件,操作系统才能按标准的设备驱动程序实现特定机器的运转。固件的性能指标介于硬件与软件之间,其吸收了软、硬件各自的优点,执行速度快于软件,灵活性优于硬件。

存储器系统 ​

存储器是用来存放程序和数据的部件,它是一个记忆装置。

在计算机系统中,规模较大的存储器往往分成若干级,称为存储器系统。

传统的存储器系统一般分为高速缓冲存储器(Cache)、主存储器、辅助存储器三级。

主存储器 ​

主存储器(MainMemory)简称主存或内存,是计算机硬件的重要部件,其作用是存放计算机运行时的程序和数据,并能由CPU直接随机地进行读/写。

主存可分为随机存取存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)

随机存取存储器(RAM) ​

随机存取存储器(RAM) 既可以写入也可以读出,但断电后信息无法保存,因此只能用于暂存数据。

RAM 又可分为DRAM 和 SRAM两种。

  • DRAM (Dynamic RAM, 动态RAM): 动态随机存取存储器,信息会随时间逐渐消失,因此需要定时对其进行刷新,以维持信息不丢失。
  • SRAM (Static RAM, 静态RAM): 静态随机存取存储器,在不断电的情况下,信息能够一直保持而不会丢失信息。

只读存储器(ROM) ​

只读存储器的内容只能随机读出而不能写入。其特点是信息一旦写入ROM,即使断电,写入的内容也不会丢失。

ROM一般用于存放系统程序BIOS(Basic Input Output System,基本输入输出系统)、专用的子程序,或用作函数发生器、字符发生器及微程序控制器中的控制存储器。

辅助存储器 ​

辅助存储器简称辅存,用于存放需持久性存储的信息。其特点是存储器容量大、可靠性高、价格低。

常用的辅存有磁带存储器、硬盘存储器、磁盘阵列和光盘存储器等。

磁带存储器 ​

磁带存储器是由磁带机及其控制器组成的,是一种顺序存取的设备。

磁带存储器的优点是存储容量大、便于携带、价格便宜,缺点是存取速度慢。

硬盘存储器 ​

硬盘存储器简称硬盘,属于直接存取设备,即存取磁盘上任一物理块的时间不依赖于该物理块所处的位置。

硬盘分为三类:机械硬盘(HDD)、固态硬盘(SSD)和混合硬盘(SSHD)

磁盘阵列 RAID ​

磁盘阵列的全称是廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks,即RAID)。

其策略是用多个较小的磁盘驱动器替换单一的大容量磁盘驱动器,同时合理地在多个磁盘上分布存放数据以支持同时从多个磁盘进行读写,从而改善系统的I/O性能。

常见的 RAID 如图所示。 ruankao_20241014172030.pngruankao_20241014172057.png

光盘存储器 ​

光盘存储器是利用激光束在记录表面存储信息,根据激光束的反射光来读出信息。

根据性能和用途的不同,光盘存储器可分为4种类型,分别为CD-ROM、CD-R、CD-RW和DVD-ROM。

  • CD-ROM(只读压缩盘)又称定型光盘。它由生产厂家预先写入数据和程序,使用时用户只能读出,不能修改或写入新内容。
  • CD-R 它由用户自己写入信息,写入后可以多次读出;但只能写入一次,信息写入后将不能再修改。
  • CD-RW 光盘是可以写入、擦除、重写的可逆性记录系统,这种光盘类似于磁盘,可重 复读写。
  • DVD-ROM技术类似于CD-ROM技术,但是可以提供更高的存储容量。

高速缓冲存储器 Cache ​

高速缓冲存储器 Cache 的功能是提高CPU数据输入输出的速率,即CPU与存储系统间的数据传送带宽限制。

高速存储器能以极高的速率进行数据的访问,但其价格高昂,通常在CPU和内存之间设置小容量的Cache,利用Cache速度快的特点,通过优化调度算法,使系统的性能得到改善。

Cache 的基本原理 ​

Cache 的基本原理是程序的局部性原理。

程序访问的局部性有两个方面的含义,分别是时间局部性和空间局部性。

  • 时间局部性是指如果一个存储单元被访问,则可能该单元会很快被再次访问。
  • 空间局部性是指如果一个存储单元被访问,则该单元邻近的单元也可能很快被访问。

根据程序的局部性原理,可以把目前常用或将要用到的信息预先放在Cache中。当CPU需要读取数据时,首先在Cache中查找是否有所需内容,如果有,则直接从Cache中读取;若没有,再从内存中读取该数据,然后同时送往CPU和Cache中,从而方便下一次访问。

地址映射机制 ​

当CPU发出访存请求后,存储器地址先被送到Cache控制器以确定所需数据是否已在Cache中,若命中,则直接对Cache进行访问。这个过程称为Cache的地址映射(映像)。

常见的映射方法有直接映射、全相联映射和组相联映射。

直接映射方式

直接映射的Cache地址与主存地址是一一对应的关系。

直接映射方式的优点是比较容易实现,缺点是不够灵活,有可能使Cache的存储空间得不到充分利用。

全相联映射方式

全相联映射使用相联存储器组成Cache。在全相联映射方式中,主存的每一页可以映射到Cache的任一块。如果淘汰Cache中某一块的内容,则可调入任一主存页的内容,因而较直接映射方式灵活。

组相联映射方式

组相联映射是直接映射和全相联映射的折中方案。

它将Cache中的块再分成组,通过直接映射的方式决定组号,通过全相联映射的方式决定Cache中的块号。在组相联映射方式中,主存中一个组内的页数与Cache的分组数相同。

替换算法 ​

当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache 已存满数据后,新数据必须替换(淘汰)Cache中的某些旧数据。

最常用的替换算法有随机算法、先进先出算法和近期最少使用算法三种。

写操作 ​

因为需要保证缓存在Cache中的数据与内存中的内容一致,相对读操作而言,Cache的写操作比较复杂。常用的有以下几种方法:写直达、写回、标记法。

写直达

当要写Cache时,数据同时写回内存,有时也称为写通。当某一块需要替换时,也不必把这一块写回到主存中去,新调入的块可以立即把这一块覆盖掉。这种方法实现简单,并能随时保持主存数据的正确性,但可能会增加多次不必要的主存写入,从而降低存取速度。

写回

CPU修改Cache的某一块后,相应的数据并不立即写入内存单元,而是当该块从Cache中被淘汰时,才把数据写回到内存中。

在采用这种更新策略的Cache块表中,一般有一个标志位,当一块中的任何一个单元被修改时,标志位被置“1”。在需要替换掉这一块时,如果标志位为1,则必须先把这一块写回到主存中去,之后才能再调入新的块;如果标志位为0,则这一块不必写回主存,只要用新调入的块覆盖掉这一块即可。

这种方法的优点是操作速度快,缺点是因主存中的字块未随时修改而有可能出错。

标记法

对Cache中的每一个数据设置一个有效位。数据进入Cache,有效位置1;当CPU要对该数据进行修改时,数据只需写入内存并同时将该有效位置0。当要从Cache中读取数据时需要测试其有效位,若为“1”,则直接从Cache中取数,否则从内存中取数。

网络存储技术 ​

常用的网络存储技术主要有以下三种:直接附加存储(Direct Attached Storage,DAS)、网络附加存储 (Network Attached Storage, NAS) 和存储区域网络 (Storage Area Network, SAN).

直接附加存储DAS ​

直接附加存储DAS 是将存储设备通过 SCSI(小型计算机系统接口) 电缆直接连到服务器,其本身是硬件的堆叠,存储操作依赖于服务器,不带有任何存储操作系统。

因此,有些文献也把 DAS称为SAS (Server Attached Storage,服务器附加存储)。

网络附加存储NAS ​

NAS的存储设备类似于一个专用的文件服务器,它去掉了通用服务器的大多数计算功能,而仅仅提供文件系统功能,从而降低了设备的成本。

NAS以数据为中心,将存储设备与服务器分离,其存储设备在功能上完全独立于网络中的主服务器,客户机与存储设备之间的数据访问不再需要文件服务器的干预,同时,它允许客户机与存储设备之间进行直接的数据访问,所以不仅响应速度快,而且数据传输速率也很高。

存储区域网络SAN ​

SAN是通过专用交换机将磁盘阵列与服务器连接起来的高速专用子网。它没有采用文件共享存取方式,而是采用块(block)级别存储。

SAN是通过专用高速网将一个或多个网络存储设备和服务器连接起来的专用存储系统,其最大特点是将存储设备从传统的以太网中分离出来,成为独立的存储区域网络。

虚拟存储技术 ​

虚拟存储(Virtual Storage)是指把多个存储介质模块(例如,硬盘、RAID等)通过一定的手段集中管理,形成统一管理的存储池(Storage Pool),为用户提供大容量、高数据传输性能的存储系统。

存储虚拟化是将实际的物理存储实体与存储的逻辑表示实现分离,使用虚拟存储技术,应用服务器只与分配给它们的逻辑卷(虚卷)交互,而不用关心其数据是在哪个物理存储实体上。

虚拟存储的分类 ​

按照拓扑结构分类

按照拓扑结构的不同,虚拟存储可以分为对称式和非对称式两种方式。

  • 对称式是指虚拟存储控制设备与存储软件系统、交换设备集成为一个整体,内嵌在网络数据传输路径中;
  • 非对称式是指虚拟存储控制设备独立于数据传输路径之外。

按照实现原理分类

按照实现原理的不同,虚拟存储也可以分为数据块虚拟和虚拟文件系统两种方式。

  • (1)数据块虚拟。该存储方式着重解决数据传输过程中的冲突和延时问题,利用虚拟的多端口并行技术,为多个用户提供极高的带宽,最大限度减少延时与冲突的发生。
  • (2)虚拟文件系统。该存储方式着重解决大规模网络中文件共享的安全机制问题。通过对不同的站点指定不同的访问权限,保证网络文件的安全。

虚拟存储的实现方式 ​

虚拟存储要解决的关键问题是逻辑卷与物理存储实体之间的映射关系,这种映射关系可以在计算机层解决,也可以在存储设备层解决,还可以在存储网络层解决。

主机级的虚拟化

主机级的虚拟化是指由安装在应用服务器上的卷管理软件完成存储的虚拟化。基于主机端的虚拟存储几乎都是通过纯软件的方式实现的。

这种实现机制不需要引入新设备,也不影响现有存储系统的基本架构,所以实现成本比较低。

存储设备级的虚拟化

存储设备级的虚拟化是指由存储设备的控制器实现存储的虚拟化。这种虚拟存储一般是存储厂商实施的,很可能使用厂商独家的存储产品。

这种实现机制主要通过大规模的RAID子系统和多个IO通道连接到服务器上,智能控制器提供访问控制、缓存和其他(例如,数据复制等)管理功能。

网络级的虚拟化

网络级的虚拟化是指由加入SAN的专用装置实现存储虚拟化。这种机制可以管理不同厂商的存储设备,实现SAN中所有设备的统一管理,具有较好的开放性。

虚拟存储的特点 ​

虚拟存储技术是为了解决复杂、烦琐的存储管理而产生的,广泛应用于数据镜像、数据复制、实时数据恢复、应用集成等方面。

虚拟存储主要包含如下几方面的优秀性能:

  • (1)虚拟存储提供了一个大容量存储系统集中管理的手段,由网络中的一个环节进行统一管理,避免了由于存储设备扩充所带来的管理方面的麻烦。例如,增加新的存储设备时,只需要管理员对存储系统进行较为简单的配置更改,客户端无需任何操作。
  • (2)虚拟存储可以大大提高存储系统整体访问带宽。存储系统是由多个存储模块组成的,而虚拟存储系统可以很好地进行负载平衡,把每一次数据访问所需的带宽合理地分配到各个存储模块上,这样,系统的整体访问带宽就增大了。
  • (3)虚拟存储技术为存储资源管理提供了更好的灵活性和兼容性,可以将不同类型的存储设备集中管理使用,保护用户的己有投资。
  • (4)虚拟存储技术可以通过管理软件,为网络系统提供一些其他的有用功能,例如,无须服务器的远程镜像和数据快照等。
  • (5)虚拟存储技术将计算机的应用系统与存储设备分离,使各种不同的存储设备具有标准的存储特性,而应用系统无须关心数据存储的具体设备,减轻了应用系统的负担。

输入输出系统 ​

输入输出工作方式 ​

在计算机中,IO系统可以有5种不同的工作方式,分别是程序控制方式、程序中断方式、DMA工作方式、通道方式、IO处理机。

程序控制方式 ​

程序控制方式是由CPU执行一段IO程序来实现主机与外设之间的数据传送,根据外设的不同性质,可分为无条件传送和程序查询方式两种。

无条件传送方式

在无条件传送方式中,I/O端口总是准备好接收主机的输出数据,或总是准备好向主机输入数据,因而CPU无须查询外设的工作状态,而默认外设始终处于准备就绪状态。

在CPU认为需要时,随时可直接利用I/O指令访问相应的I/O端口,实现与外设之间的数据交换。

这种方式的优点是软、硬件结构都很简单,但要求时序配合精确,一般的外设难以满足要求。所以,只能用于对简单开关量的I/O控制。

程序查询方式

许多外设的工作状态是很难事先预知的,例如,用户何时按键,打印机是否能接收新的打印输出信息等。当CPU与外设工作不同步时,很难确保CPU在执行输入操作时,外设一定是“准备好”的;而在执行输出操作时,外设一定是“缓冲器空”的。

为了保证数据传送的正确进行,就要求CPU在程序中查询外设的工作状态。如果外设尚未准备就绪,CPU就循环等待,只有当外设已做好准备时,CPU才能执行IO指令进行数据传送。

这就是程序查询方式。由程序主动查询外设,完成主机与外设间的数据传送,这种方法简单,硬件开销小,但IO能力不高,严重影响CPU的利用率。

程序中断方式 ​

为了提高I/O能力和CPU的效率,计算机系统引进了程序中断方式。

程序中断是指计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序(保护现场),而转去对随机发生的更紧迫的事件进行处理,在处理完毕后,CPU将自动返回原来的程序继续执行(恢复现场)。

与程序控制方式相比,程序中断方式因为CPU无须等待而提高了效率。

DMA工作方式 ​

DMA工作方式是为了在主存与外设之间实现高速、批量数据交换而设置的,使用DMA控制器(DMAC)来控制和管理数据传输。

DMA工作方式具有下列特点:

  • (1)它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问。
  • (2)在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。
  • (3)主存中要开辟专用缓冲区,及时供给和接收外设的数据。
  • (4)DMA传送速度快,CPU和外设并行工作,提高了系统的效率。
  • (5)DMA在传送前要通过程序进行预处理,结束后要通过中断方式进行后处理。

通道方式 ​

通道是一种高级的I/O控制部件,它在一定的硬件基础上利用软件手段实现对I/O的控制和传送,更多地免去了CPU的介入,从而使主机和外设的并行工作程度更高。

当然,通道并不能完全脱离CPU,它还要受到CPU的管理,比如启动、停止等,而且通道还应该向CPU报告自己的状态,以便CPU决定下一步的处理。

IO处理机 ​

IO处理机也称为外围处理机,具有丰富的指令系统和完善的中断系统。专用于大型、高效的计算机系统处理外围设备的I/O,并利用共享存储器或其他共享手段与主机交换信息,从而使大型计算机系统更加高效地工作。

IO处理机除了能够完成通道的全部功能外,还可以进行码制转换、数据校验和校正、故障处理、文件管理、诊断和显示系统状态、处理人机对话。

IO处理机基本上是独立于中央处理机异步工作的,它可以与中央处理机共享主存,也可以有自己独立的存储器,不共享主存。每台I/O处理机可以有自己独立的运算部件和指令控制部件,也可以由多个I/O处理机共享同一个运算部件和指令控制部件。

总线 ​

总线是一组能为多个部件分时共享的公共信息传送线路。

  • 共享是指总线上可以挂接多个部件,各个部件之间相互交换的信息都可以通过这组公共线路传送;
  • 分时是指同一时刻只允许有一个部件向总线发送信息,若出现两个或两个以上部件同时向总线发送信息,则会导致信号冲突。但在同一时刻,允许多个部件同时从总线上接收相同的信息。

总线的分类

总线有不同的分类方式,主要有如下4种分类方法:

  • (1)按总线功能,可分为地址总线、数据总线、控制总线三类。
    • 地址总线用来传送地址信息。
    • 数据总线用来传送数据信息。
    • 控制总线用来传送各种控制信号。
  • (2)按总线在微机系统中的位置,可分为机内总线和机外总线两种。
  • (3)按总线功用,主要分为局部总线、系统总线、通信总线三类。
    • 局部总线是在传统的ISA总线和CPU总线之间增加的一级总线或管理层;
    • 系统总线是计算机系统内部各部件(插板)之间进行连接和传输信息的一组信号线。
    • 通信总线是计算机系统之间或计算机系统与其他系统(例如,远程通信设备、测试设备等)之间进行通信的一组信号线。
  • (4)按总线中数据线的多少,可分为并行总线和串行总线两类。
    • 并行总线是含有多条双向数据线的总线,其优点是数据传输速率高。
    • 串行总线是只含有一条双向数据线或两条单向数据线的总线,可以实现一个数据的各位按照一定的速度和顺序依次传输,适用于远距离通信。

总线标准

总线标准是指计算机部件各生产厂家都需要遵守的总线要求,从而使不同厂家生产的部件能够互换。

总线标准主要规定总线的机械结构规范、功能结构规范和电气规范。

总线的性能指标

通常,总线规范中会详细描述总线各方面的特性,包括物理特性、功能特性、电气特性和时间特性。

总线的主要性能指标包括如下5种:

  • (1)总线宽度。总线宽度指的是总线的线数,它决定了总线所占的物理空间和成本。例如,32位的PCI总线允许寻址的主存空间的大小为2-4G个单元。
  • (2)总线带宽。总线宽度指总线的最大数据传输速率,即每秒传输的字节数,单位可以用字节/秒(B/s)表示。 总线带宽 = 总线宽度 X 总线频率
  • (3)总线负载。总线负载是指连接在总线上的最大设备数量。大多数总线的负载能力是有限的。
  • (4)总线分时复用。总线分时复用是指在不同时段利用总线上同一个信号线传送不同信号。例如,地址总线和数据总线共用一组信号线。采用这种方式的目的是减少总线数量,提高总线的利用率。
  • (5)总线猝发传输。猝发式数据传输是一种总线传输方式,即在一个总线周期中可以传输存储地址连续的多个数据。

I/O接口 ​

I/O接口是主机和外设(外部设备)之间的界面,通过I/O接口可以实现主机和外设之间的信息交换。

I/O接口的功能

通常,I/O接口的功能主要包括如下5个方面:

  • (1)实现主机和外设的通信联络控制。
  • (2)进行地址译码和设备选择。
  • (3)实现数据缓冲。
  • (4)数据格式的变换。
  • (5)传递控制命令和状态信息。

I/O接口的分类

I/O接口有多种分类方法:

  • 按I/O的信号分类,可分为数字接口和模拟接口。
  • 按通用性分类,可分为通用接口和专用接口。
  • 按功能选择的灵活性分类,可分为可编程接口和不可编程接口。
  • 根据外部设备与IO模块交换数据的方式,可分为串行接口和并行接口,串行接口一次只能传送1位信息,而并行接口一次可传送多位信息。

指令系统 ​

指令是指示计算机执行某些操作的命令,一台计算机的所有指令的集合构成指令系统,也称为指令集。

指令系统是计算机系统中软件与硬件分界面的一个主要标志。无论结构多么复杂、功能多么强大的软件,凡是能够在机器上直接运行的目标程序,都是由若干条机器指令组成的。

基本指令系统 ​

如果把计算机系统所要实现的任务分解成若干个基本功能,那么在这些基本功能中,只有极少数的基本功能必须用硬件的指令系统来实现,而大多数基本功能既可以用硬件的指令系统来实现,也可以用软件的一段子程序(微程序)来实现。

设计要求

设计指令系统时的基本要求包括指令系统的完整性、规整性、高效率和兼容性。

  • (1)完整性。完整性是指作为通用计算机所应该具备的基本指令种类。
  • (2)规整性。规整性主要包括对称性和均匀性。其中,对称性是指各种与指令系统有关的数据存储设备的使用、操作码的设置等都要对称(例如,所有通用寄存器要同等对待);均匀性是指对于各种不同的数据类型、字长、操作种类和数据存储设备,指令的设置要同等对待。
  • (3)高效率。高效率是指指令的执行速度要快、使用频率要高。
  • (4)兼容性。兼容性是计算机系统的生命力所在。如果没有兼容性,大量的系统软件和各种应用软件就无法集成,计算机也就没有了市场。

基本指令

通用计算机系统的基本指令有数据传送类指令、运算类指令、程序控制类指令、IO指令、处理机控制和调试指令。

  • (1)数据传送类指令。数据传送类指令是最基本的指令类型,主要用于实现寄存器与寄存器之间、寄存器与主存单元之间,以及两个主存单元之间的数据传送。
  • (2)运算类指令。运算类指令又分为算术运算指令、逻辑运算指令和移位指令。运算类指令在整个指令系统中应该占有比较大的比重(例如,超过30%)。如果所占比重过小,就会影响整个计算机系统的性能。
  • (3)程序控制类指令。程序控制类指令用于控制程序的执行顺序,并使程序具有测试、分析与判断的能力。
  • (4)I/O指令。IO指令用来实现主机与外部设备之间的信息交换,包括IO数据、主机向外设发控制命令或外设向主机报告工作状态等。
  • (5)处理机控制和调试指令。在一般的计算机系统中,处理机有两个状态,即管态和用户态,或称为主态和从态。

复杂指令系统(CISC) ​

为了增强指令的功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件来实现。

这种计算机系统称为复杂指令系统计算机(Complex Instruction Set Computer,CISC),简称复杂指令系统。

复杂指令系统(CISC)的特点

主要特定如下

  • (1)指令数量众多。指令系统拥有大量的指令,通常有100~250条左右。
  • (2)指令使用频率相差悬殊。最常使用的是一些比较简单的指令,仅占指令总数的20%,但在程序中出现的频率却占80%,而大部分复杂指令却很少使用。
  • (3)支持很多种寻址方式。支持的寻址方式通常有5~20种。
  • (4)变长的指令。指令长度不是固定的,变长的指令增加了指令译码电路的复杂性。
  • (5)指令可以对主存单元中的数据直接进行处理。典型的CISC通常都有指令能够直接对主存单元中的数据进行处理,其执行速度较慢。
  • (6)以微程序控制为主。CISC的指令系统很复杂,难以用硬布线逻辑(组合逻辑)电路实现控制器,通常采用微程序控制。

复杂指令系统(CISC)的缺陷

主要缺陷如下

  • (1)80-20规律。在CISC中,指令使用频率不均衡,即各种指令的使用频率相差悬殊。大量统计数字表明,大约有20%的指令使用频率比较高,占据了80%的处理机时间。换句话说,有80%的指令只在20%的处理机运行时间内才被用到。
  • (2)CISC结构指令系统的复杂性给设计增加了负担,不利于单片集成。
  • (3)软硬件的功能分配问题。为了支持目标程序的优化,支持高级语言和编译程序,在CISC中增加了许多复杂的指令。这些复杂指令简化了目标程序,缩小了高级语言与机器指令之间的语义差距,但这是以增加硬件的复杂程度、指令执行周期长为代价的。

精简指令系统(RISC) ​

精简指令系统计算机(Reduced Instruction Set Computer,RISC)简称精简指令系统,该系统不是简单地把指令系统进行简化,而是通过简化指令的途径使计算机的结构更加简单、合理,以减少指令的执行周期数,从而提高运算速度。

RISC要求指令系统简化,操作在单周期内完成,指令格式力求一致,寻址方式尽可能减少,并提高编译的效率,最终达到加快机器处理速度的目的。

精简指令系统(RISC)的特点

RISC的主要特点如下:

  • (1)指令数量少。优先选取使用频率最高的一些简单指令和常用指令,避免使用复杂指令。
  • (2)指令的寻址方式少。通常只支持寄存器寻址、立即数寻址和相对寻址方式。
  • (3)指令长度固定,指令格式种类少。其指令长度固定,指令之间各字段的划分比较一致,译码相对容易。
  • (4)以硬布线逻辑控制为主。为了提高操作的执行速度,通常采用硬布线逻辑(组合逻辑)来构建控制器。
  • (5)单周期指令执行,采用流水线技术。因为简化了指令系统,很容易利用流水线技术,使得大部分指令都能在一个机器周期内完成。
  • (6)优化的编译器。RISC的精简指令集使编译工作简单化。同时易于实现优化,从而可以生成高效率执行的机器代码。
  • (7)CPU中的通用寄存器数量多,一般在32个以上,有的可达上千个。

多处理机系统 ​

暂无

操作系统 ​

操作系统概述 ​

操作系统的定义及作用 ​

操作系统(OS)能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。

操作系统有两个重要的作用:第一,通过资源管理提高计算机系统的效率;第二,改善人机界面,向用户提供友好的工作环境。

操作系统的特征与功能 ​

操作系统具有并发性、共享性、虚拟性和不确定性等特点。

一般的操作系统都具有处理机管理、存储器管理、设备管理、文件管理和用户接口等5种主要功能。

  • (1)处理机管理。负责对处理机的分配和运行实施有效的管理。处理机管理也称为进程管理。
  • (2)存储器管理。负责对存储器进行分配、保护和扩充。
  • (3)设备管理。设备管理应具有设备分配、设备传输控制和设备独立性等功能。
  • (4)文件管理。负责对文件存储空间进行管理,包括存储空间的分配和回收、目录管理、文件操作管理和文件保护等功能。
  • (5)用户界面。用户界面也称用户接口,是为了使用户能灵活、方便地使用计算机和系统功能,操作系统提供的一组友好的使用其功能的手段。

用户接口包括程序接口和操作接口,通常,程序接口是面向开发人员的,操作接口是面向普通用户和管理者的。

操作系统的分类 ​

通常,操作系统可分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统和嵌入式操作系统等类型。

分时操作系统

在分时操作系统中,一个计算机系统与多个终端设备连接。分时操作系统是将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。例如,一个带20个终端的分时系统,若每个用户每次分配一个50ms的时间片,则每隔1s即可为所有的用户服务一遍。因此,尽管各个终端上的作业是断续地运行的,但由于操作系统每次对用户程序都能做出及时的响应,因此用户感觉整个系统均归其一人占用。

实时操作系统

实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。

实时操作系统(Real Time Operating System)是指对随机发生的外部事件应及时做出响应并对其进行处理。

网络操作系统

网络操作系统是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。

因此,网络操作系统的功能主要包括:高效、可靠的网络通信,对网络中共享资源(在LAN中有硬盘、打印机等)的有效管理,提供电子邮件、文件传输、共享硬盘和打印机等服务,网络安全管理,提供互操作能力。

分布式操作系统

分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主次之分,任意两台计算机可以通过通信交换信息。

通常,为分布式计算机系统配置的操作系统称为分布式操作系统。

分布式操作系统是网络操作系统的更高级形式,它保持网络操作系统所拥有的全部功能,同时又有透明性、可靠性和高性能等特性。

嵌入式操作系统

嵌入式操作系统运行在嵌入式智能芯片环境中,对整个智能芯片以及它所操作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制。

其主要特点如下:微型化,可定制,实时性,可靠性,易移植性。

进程管理 ​

程序与进程 ​

进程是程序的一次执行,该程序可以和其他程序并发执行。

进程通常是由进程控制块(Process Control Block,PCB)、程序和数据组成的。

  • PCB。PCB是进程存在的唯一标志。
  • 程序。程序部分描述了进程需要完成的功能。假如一个程序能被多个进程同时共享执行,那么这一部分就应该以可再入(纯)码的形式编制,它是程序执行时不可修改的部分。
  • 数据。数据部分包括程序执行时所需的数据及工作区。该部分只能为一个进程专用,是进程的可修改部分。

进程的状态与进程状态图 ​

在三态图中。进程一般有三种基本状态:运行、就绪和阻塞。

  • (1)运行。当一个进程在处理机上运行时,则称该进程处于运行状态。
  • (2)就绪。一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
  • (3)阻塞。阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生(例如,请求IO、等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。

在五态图中。事实上,对于一个实际的系统,进程的状态及其转换更复杂。进程一般有五种基本状态:运行、就绪、阻塞、新建和终止。

ruankao_2026-08-21_154134_332.png

信号量与PV操作 ​

荷兰学者Dijkstra于1965年提出的信号量机制是一种有效的进程同步与互斥工具。目前,信号量机制有了很大的发展,主要有整型信号量、记录型信号量和信号量集机制。

整型信号量与PV操作

信号量是一个整型变量,根据控制对象的不同被赋予不同的值。信号量分为如下两类:

  • 公用信号量。实现进程间的互斥,初值为1或资源的数目。
  • 私用信号量。实现进程间的同步,初值为0或某个正整数。

信号量S的物理意义: S≥0表示某资源的可用数;若S<0,则其绝对值表示阻塞队列中等待该资源的进程数。

PV操作是实现进程同步与互斥的常用方法。P操作和V操作是低级通信原语,在执行期间不可分割。其中,P操作表示申请一个资源,V操作表示释放一个资源。

利用PV操作实现进程同步

暂无

利用PV操作实现进程互斥

暂无

死锁及其处理策略 ​

什么是死锁?

在计算机系统中有许多互斥资源(如打印机和绘图仪等)或软件资源(如进程表、临界区等)。若两个进程同时使用打印机,或同时进入临界区必然会出现问题。

所谓死锁,是指两个以上的进程互相都要求对方已经占有的资源,从而导致双方进程都无法继续运行下去的现象。

死锁产生的四个必要条件

当发生死锁时,在进程资源有向图中必构成环路,其中每个进程占有了下一个进程申请的一个或多个资源,如图所示。

ruankao_20251025225418.png

进程资源有向图由方框、圆圈和有向边三部分组成。其中方框表示资源,圆圈表示进程。

  • 箭头由进程指向资源表示请求资源。
  • 箭头由资源指向进程表示分配资源。

产生死锁的4个必要条件是互斥条件、请求保持条件、不可剥夺条件和环路条件。

  1. 资源互斥
  2. 每个进程占有资源并等待其他资源
  3. 系统不能剥夺进程资源
  4. 进程资源图是一个环路

死锁的处理

死锁的处理策略主要有4种:鸵鸟策略(即不理睬策略)、预防策略、避免策略和检测与解除死锁。

① 死锁预防

死锁预防是采用某种策略限制并发进程对资源的请求,破坏死锁产生的4个必要条件之一。从而使系统在任何时刻都不满足死锁的必要条件。

② 死锁避免

相比死锁预防,死锁避免则不那么严格地限制产生死锁的必要条件。

最著名的死锁避免算法是Dijkstra提出的银行家算法,死锁避免算法需要很大的系统开销。

银行家算法的思想就是提前计算出一条不会产生死锁的资源分配方法,才分配资源,否则不分配资源,相当于借贷,考虑对方还得起才借钱,提前考虑好以后,就可以避免死锁问题。

③ 死锁检测

死锁检测,该方法没有对资源的分配进行限制,即允许死锁产生。但系统会定时地运行一个死锁检测程序,判断系统是否发生死锁,若检测到有死锁,则设法加以解除。

④ 死锁解除

死锁解除通常采用如下方法。

  • 资源剥夺法。从一些进程那里强行剥夺足够数量的资源分配给死锁进程。
  • 撤销进程法。根据某种策略逐个地撤销死锁进程,直到解除死锁为止。

死锁避免的资源量计算问题

若系统内有n个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为 n*(R-1) 。其不发生死锁的最小资源数为n*(R-1)+1

死锁避免的资源量计算问题

若系统内有n个进程,每个进程都需要R个资源。那么其发生死锁的最大资源数为 n*(R-1) 。其不发生死锁的最小资源数为n*(R-1)+1

简而言之,系统内的资源数量 >= 进程数量 * (每个进程需要的资源数量-1) + 1时,整个系统不会产生死锁。

线程 ​

传统的进程有两个基本属性:可拥有资源的独立单位;可独立调度和分配的基本单位。引入线程的原因是进程在创建、撤销和切换中,系统必须为之付出较大的时空开销,故在系统中设置的进程数目不宜过多,进程切换的频率不宜太高。

引入线程后,将传统进程的两个基本属性分开,线程作为调度和分配的基本单位,进程作为独立分配资源的单位。

用户可以通过创建线程来完成任务,以减少程序并发执行时付出的时空开销。例如,在文件服务进程中可设置多个服务线程,当一个线程受阻时,第二个线程可以继续运行,当第二个线程受阻时,第三个线程可以继续运行......从而显著地提高文件系统的服务质量及系统的吞吐量。这样,对于拥有资源的基本单位,不用频繁地切换,进一步提高了系统中各程序的并发程度。

需要说明的是,线程是进程中的一个实体,是被系统独立分配和调度的基本单位。线程基本上不拥有资源,只拥有一点运行中必不可少的资源(如程序计数器、一组寄存器和栈),它可与同属一个进程的其他线程共享进程所拥有的全部资源。

存储器管理 ​

存储器管理的对象是主存存储器,简称为主存或内存。

存储器管理的主要功能包括主存空间的分配和回收、提高主存的利用率、扩充主存、对主存信息实现有效保护。

存储器管理的主要目的是解决多个用户使用主存的问题,其存储管理方案主要包括分区存储管理、分页存储管理、分段存储管理、段页式存储管理以及虚拟存储管理。

分区存储管理 ​

分区存储管理是早期的存储管理方案,其基本思想是把主存的用户区划分成若干个区域,每个区域分配给一个用户作业使用,并限定它们只能在自己的区域中运行。

按划分方式不同,分区存储管理可分为固定分区、可变分区和可重定位分区。

  • 固定分区是一种静态分区方式,每个区域的大小是固定的,不能改变。
  • 可变分区是一种动态分区方式,每个区域的大小可以改变。
  • 可重定位分区的基本思想是移动所有已分配好的分区,使之成为连续区域,以减少内存中的碎片。

分页存储管理 ​

暂无

分段存储管理 ​

暂无

段页式存储管理 ​

暂无

虚拟存储管理 ​

暂无

设备管理 ​

在计算机系统中,将负责管理设备和输入/输出的机构称为IO系统。

设备管理的目标主要是提高设备的利用率,为用户提供方便、统一的界面。提高设备的利用率,就是提高CPU与IO设备之间的并行操作程度。

在设备管理中,主要利用的技术有中断技术、DMA技术、通道技术和缓冲技术。

IO软件 ​

IO设备管理软件一般分为4层:中断处理程序、设备驱动程序、与设备无关的系统软件和用户级软件。

IO软件的所有层次及每一层的主要功能如图所示,图中的箭头给出了I/O部分的控制流。

ruankao_2026-08-21_162622_987.png

磁盘调度 ​

磁盘是可被多个进程共享的设备。当有多个进程请求访问磁盘时,为了保证信息的安全,系统在每一时刻只允许一个进程启动磁盘进行IO操作,其余的进程只能等待。

因此,操作系统应采用一种适当的调度算法,使各进程对磁盘的平均访问(主要是寻道)时间最小。

磁盘调度分为移臂调度和旋转调度两类,并且是先进行移臂调度,然后进行旋转调度。由于访问磁盘最耗时的是寻道时间,因此,磁盘调度的目标是使磁盘的平均寻道时间最少。

常用的磁盘调度算法

  • 先来先服务(First-Come First-Served,FCFS)。这是最简单的磁盘调度算法,它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化,致使平均寻道时间可能较长。
  • 最短寻道时间优先(Shortest Seek Time First,SSTF)。该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,使得每次的寻道时间最短。但这种调度算法不能保证平均寻道时间最短。
  • 扫描算法(SCAN)。扫描算法不仅考虑到要访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。
  • 单向扫描调度算法(CSCAN)。SCAN存在这样的问题:当磁头刚从里向外移动过某一磁道时,恰有一进程请求访问此磁道,这时该进程必须等待,待磁头从里向外,再从外向里扫描完所有要访问的磁道后才处理该进程的请求,致使该进程的请求被严重地推迟。为了减少这种延迟,CSCAN算法规定磁头只做单向移动。

文件管理 ​

文件管理系统是操作系统中实现文件统一管理的一组软件和相关数据的集合,是专门负责管理和存取文件信息的软件机构,简称文件系统。

文件的组织结构 ​

文件的结构是指文件的组织形式。

  • 从用户角度看到的文件组织形式称为文件的逻辑结构,文件系统的用户只要知道所需文件的文件名就可以存取文件中的信息,而无须知道这些文件的实际存储位置。
  • 从实现的角度看,文件在文件存储器上的存放方式称为文件的物理结构。

文件的逻辑结构

文件的逻辑结构可分为两大类:一是有结构的记录式文件,它是由一个以上的记录构成的文件,故又称为记录式文件;二是无结构的流式文件,它是由一串顺序字符流构成的文件。

文件的物理结构

文件的物理结构是指文件的内部组织形式,即文件在物理存储设备上的存放方法。

文件目录 ​

文件目录是由文件控制块组成的,专门用于文件的检索。文件控制块也称为文件的说明或文件目录项(简称目录项)。

文件目录结构的组织方式直接影响文件的存取速度,关系到文件的共享性和安全性,因此组织好文件的目录是设计文件系统的重要环节。

常见的目录结构有3种:一级目录结构、二级目录结构和多级目录结构。

文件存储空间的管理 ​

操作系统要将文件保存到外部存储器(简称外存或辅存)上,首先必须知道存储空间的使用情况,即哪些物理块是被“占用”的,哪些是“空闲”的。因此,文件系统必须对磁盘空间进行管理。

常用的空闲空间的管理方法有位示图、空闲区表、空闲块链和成组链接法4种。

作业与用户界面 ​

作业的基本概念 ​

作业是系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和。例如,对用户编写的源程序,需要经过编译、连接、装入及执行等步骤得到结果,这其中的每一个步骤称为作业步。

作业状态及其转换

作业状态分为4种:提交、后备(也称收容)、执行和完成。其状态及转换如图所示。

ruankao_2026-08-21_165713_253.png

  • 提交。作业在其处于输入设备进入外部存储设备的过程时的状态称为提交状态。
  • 后备(也称收容)。通过Spooling系统将作业输入到计算机系统的后备存储器(磁盘)中,随时等待作业调度程序调度时的状态称为后备状态。
  • 执行。一旦作业被作业调度程序选中,为其分配了必要的资源,并为其建立相应的进程后,该作业便进入了执行状态。
  • 完成。当作业正常结束或异常终止时,作业进入完成状态。此时,由作业调度程序对该作业进行善后处理。如撤销作业的作业控制块,收回作业所占的系统资源,将作业的执行结果形成输出文件放到输出井中,由Spooling系统控制输出。

作业调度 ​

在作业管理中,选择调度算法需要考虑三方面的因素:与系统的整个设计目标一致;均衡地使用系统资源;平衡系统和用户的要求。

常用的作业调度算法包括先来先服务、短作业优先、优先级调度算法和响应比高优先。

用户界面 ​

用户界面(User Interface)是计算机中实现用户与计算机通信的软/硬件部分的总称。

用户界面也称用户接口或人机界面。操作系统提供命令接口、程序接口和图形界面接口。通常,命令接口和图形界面接口是面向用户和管理者的;程序接口(如系统调用)是面向程序开发人员的。

国产操作系统 ​

国产操作系统主要以开源的Linux为基础进行二次开发,目前认知度较高的国产操作系统主要包括银河麒麟、深度、统信、中标麒麟、红旗Linux、安超OS、中科方德和StartOS等。