计算机组成
计算机系统
概念
- 操作系统(Operating System,OS)
- OS是计算机系统最基础的系统软件,管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供良好运行环境
- 用户角度:OS管理计算机系统的各种资源,扩充硬件的功能,控制程序的执行
- 人机交互:OS是用户与机器的接口,提供良好的人机界面,方便用户使用计算机,在整个计算机系统中具有承上启下的地位
- 系统结构:OS是一个大型软件系统,其功能复杂,体系庞大,采用层次式、模块化的程序结构
组成
- 进程调度子系统
- 进程通信子系统
- 内存管理子系统
- 设备管理子系统
- 文件管理子系统
- 网络通信子系统
- 作业控制子系统
类型
- 操作控制方式
- 多道批处理操作系统,脱机控制方式
- 分时操作系统,交互式控制方式
- 实时操作系统
- 应用领域
- 服务器操作系统、并行操作系统
- 网络操作系统、分布式操作系统
- 个人机操作系统、手机操作系统
- 嵌入式操作系统、传感器操作系统
资源
- 硬件资源
- 处理器资源:哪个程序占有处理器运行
- 内存资源:程序/数据在内存中如何分布
- 设备管理:如何分配、去配和使用设备
- 信息资源
- 数据、程序
- 信息资源管理:如何访问文件信息
- 信号量资源:如何管理进程之间的通信
- 屏蔽资源使用的底层细节
- 驱动程序:最底层的、直接控制和监视各类硬件(或文件)资源的部分
- 职责是隐藏底层硬件的具体细节,并向其他部分提供一个抽象的、通用的接口
- 共享与分配方式
- 资源共享方式
- 独占使用方式
- 并发使用方式
- 资源分配策略
- 静态分配方式
- 动态分配方式
- 资源抢占方式
- 资源共享方式
操作方式
- OS规定了合理操作计算机的工作流程
- OS的操作接口——系统程序 OS提供给用户的功能级接口,为用户提供的解决操作计算机和计算共性问题的所有服务的几何
- OS的两类作业级接口
- 脱机作业控制方式:作业控制语言
- OS:提供作业说明语言
- 用户:编写作业说明书,确定作业加工控制步骤,并与程序数据一并提交
- 操作员:通过控制台输入作业
- OS:通过作业控制程序自动控制作业的执行
- 联机作业控制方式:操作控制命令
- 计算机:提供终端(键盘/显示器)
- 用户:登陆系统
- OS:提供命令解释程序
- 命令解释程序:接受和执行一条用户提出的对作业的加工处理命令
- 处理过程
- OS启动命令解释程序,输出命令提示符,等待键盘中断/鼠标点击/多通道识别
- 每当用户输入一条命令(暂存在命令缓冲区)并按回车换行时,申请中断
- CPU响应后,将控制权交给命令解释程序,接着读入命令缓冲区内容,分析命令、接受参数,执行处理代码
- 前台命令执行结束后,再次输出命令提示符,等待下一条命令
- 后台命令处理启动后,即可接收下条命令
- 用户:联机输入命令,直接控制作业步的执行
- 脱机作业控制方式:作业控制语言
程序接口
- 系统调用
- 操作系统实现的完成某种特定功能的过程
- 为所有运行程序提供访问操作系统的接口
- 系统调用实现机制
- 陷入处理机制:计算机系统中控制和实现系统调用的机制
- 陷入指令(访管指令,异常中断指令):计算机系统为实现系统调用而引起处理器中断的指令
- 每个系统调用都事先规定了编号,并在约定寄存器中规定了传递给内部处理程序的参数
- 结构设计
- OS构件
- 内核、进程、线程、管程等
- 设计概念
- 模块化、层次化、虚拟化
- 内核设计是OS设计中最为复杂的部分
- 系统调用实现要点
- 编写系统调用处理程序
- 设计一张系统调用入口地址表,每个入口地址指向一个系统调用的处理程序,并包含系统调用自带参数的个数
- 陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场
内核
- 单内核:内核中各部件杂然混居的形态
- 微内核:结构性部件与功能性部件的分离
- 混合内核:微内核和单内核的折中,较多组件在核心态中运行,以获得更快的执行速度
- 外内核:尽可能减少内核的软件抽象化和传统微内核的消息传递机制
层次式结构
- 第一种
- 用户模式
- 用户
- 文件系统
- 内核模式
- 进程交互
- I/O设备管理
- 虚存
- 基本进程管理
- 硬件
- 用户模式
- 第二种
- 用户
- 命令、进程、库、环境
- 文件系统调用
- 用户进程管理
- 目录管理
- 设备文件
- 文件系统
- 管道等高阶通信
- 内存与虚拟内存管理
- 软硬件协同内核
- 块设备管理、I/O控制
- 核心进程管理、控制与通信原语
- 中断管理
- 过程机制
- 硬件电路
- 指令解译
- 电路执行
- 用户
硬件系统
中央处理器
- 中央处理器(CPU)是计算机的运算核心(Core)和控制单元(Control Unit),主要包括:
- 运算逻辑部件:一个或多个运算器
- 寄存器部件:包括通用寄存器、控制与状态寄存器,以及高速缓冲存储器(Cache)
- 控制部件:实现各部件间联系的数据、控制及状态的内部总线;负责对指令译码、发出为完成每条指令所要执行操作的控制信号、实现数据传输等功能的部件
- 处理器与寄存器
- 运算单元
- 控制单元
- 内部总线
- PC/IR/Flag(程序计数器/指令暂存器/标志寄存器)
- MAR/MDR(内存地址寄存器MAR/内存数据寄存器MDR)
- 寄存器
- 用户程序可见寄存器
- 可以使程序员减少访问主存储器的次数,提高指令执行的效率
- 所有程序可使用,包括应用程序和系统程序 1. 数据寄存器:又称通用寄存器 2. 地址寄存器:索引、栈指针、段指针等寄存器
- 控制与状态寄存器
- 用于控制处理器的操作;主要被具有特权的操作系统程序使用,以控制程序的执行
- 程序计数器PC:存储将取指令的地址
- 指令寄存器IR:存储最近使用的指令
- 条件码CC:CPU为指令操作结果设置的位,标志正/负/零/溢出等结果
- 标志位:中断位、中断允许位、中断屏蔽位、处理器模式位、内存保护位等
- 程序状态字PSW
- PSW既是操作系统的概念,指记录当前程序运行的动态信息,通常包含:
- 程序计数器,指令寄存器,条件码
- 中断字,中断运行/禁止,中断屏蔽,处理器模式,内存保护、调试控制
- PSW也是计算机系统的寄存器
- 通常设置一组控制与状态寄存器
- 也可以专设一个PSW寄存器
- 用户程序可见寄存器
- Cache
- IOAR/IODR
主存储器
- 存储器的组织层次(由上到下,容量更大、速度更慢、价格更低,单位都是字节)
- L0:寄存器
- L1:L1 Cache(SRAM,静态随机存储器)
- L2:L2 Cache(SRAM)
- L3:L3 Cache(SRAM)
- L4:主存(DRAM,动态随机存储器)
- L5:SSD(本地固态硬盘)
- L6:本地外存储器(本地硬盘)
- L7:远程外存储器(分布式文件系统、Web服务器)
外围设备
- 类型
- 输入设备
- 输出设备
- 存储设备
- 网络通信设备
- 控制方式
- 轮询方式:CPU忙式控制+数据交换
- 中断方式:CPU启动/中断+数据交换
- DMA方式:CPU启动/中断,DMA数据交换
总线
- 定义及其组成
- 总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是CPU、内存、输入输出设备传递信息的公用通道
- 计算机的各个部件通过总线相连接,外围设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统
- 按照所传输的信息种类,总线包括一组控制线,一组数据线和一组地址线
- 类型
- 内部总线:用于CPU芯片内部连接各元件
- 系统总线:用于连接CPU、存储器和各种I/O模块等主要部件
- 通信总线:用于计算机系统之间的通信
软件系统
- 系统软件:操作系统、实用程序、语言处理程序、数据库管理系统
- 操作系统实施对各种软硬件资源的管理控制
- 实用程序为方便用户所设,如文本编辑等
- 语言处理程序把汇编语言/高级语言编写的程序,翻译成可执行的机器语言程序
- 支撑软件的有接口软件、工具软件、环境数据库
- 支持用户使用计算机的环境,提供开发工具也可以认为是系统软件的一部分
- 应用软件是用户按其需要自行编写的专用程序