计算机系统概论
计算机系统
电子数字计算机,是一种能够自行按照已设定的程序进行数据处理的电子设备,是软件与硬件相结合、面向系统、侧重应用的自动化求解工具,计算机技术迅猛发展,从科学计算、数据处理等应用领域,迅速扩展到实时控制、辅助设计、智能模拟等诸多领域,今天计算机无所不在,深入社会生活的各个领域,深深改变了当今人类社会的组织行为
计算机系统的组成
计算机系统包括硬件子系统和软件子系统;硬件是指借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统工作的实体,硬件系统有 CPU,主存储器,I/O 控制系统,外围设备;软件是指各种程序和文件,用于指挥计算机系统按指定的要求进行协同工作,包括系统软件、支撑软件和应用软件,关键系统软件是指操作系统与语言处理程序
计算机硬件系统
计算机硬件系统的组成:
- 中央处理器
- 运算单元
- 控制单元
- 主存储器
- 外围设备
- 输入设备
- 输出设备
- 存储设备
- 网络通信设备
- 总线
存储程序计算机
冯·诺伊曼等人在1946年总结并明确提出,被称为冯·诺伊曼计算机模型,存储程序计算机在体系结构上主要特点有:以运算单元为中心,控制流由指令流产生,采用存储程序原理,面向主存组织数据流,主存是按地址访问、线性编址的空间,指令由操作码和地址码组成,数据以二进制编码
当今计算机硬件的经典结构和主流组织方式
总线及其组成
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是CPU、内存、输入输出设备传递信息的公用通道,计算机的各个部件通过总线相连接,外围设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统,按照所传输的信息种类,总线包括一组控制线、一组数据线和一组地址线
总线的类型
- 内部总线:用于CPU芯片内部连接各元件
- 系统总线:用于连接CPU、存储器和各种I/O模块等主要部件
- 通信总线:用于计算机系统之间通信
中央处理器(CPU)
中央处理器是计算机的运算核心(Core)和控制单元(ControlUnit),主要包括:
- 运算逻辑部件:一个或多个运算器
- 寄存器部件:包括通用寄存器、控制与状态寄存器,以及高速缓冲存储器(Cache)
- 控制部件:实现各部件间联系的数据、控制及状态的内部总线;负责对指令译码、发出为完成每条指令所要执行操作的控制信号、实现数据传输等功能的部件
处理器与寄存器
存储器的组织层次
外围设备及其控制
设备类型包括有:输入设备,输出设备,存储设备和机机通信设备
设备控制方式有:
- 轮询方式:CPU忙式控制+数据交换
- 中断方式:CPU启动/中断+数据交换
- MA方式:CPU启动/中断,DMA数据交换
计算机软件系统
计算机软件系统的组成
系统软件包括:操作系统、实用程序、语言处理程序、数据库管理系统,其中操作系统实施对各种软硬件资源的管理控制,实用程序为方便用户所设,如文本编辑等,语言处理程序把用汇编语言/高级语言编写的程序,翻译成可执行的机器语言程序
支撑软件有接口软件、工具软件、环境数据库,支持用户使用计算机的环境,提供开发工具,支撑软件也可认为是系统软件的一部分
应用软件是用户按其需要自行编写的专用程序
计算机系统视图
软件开发的不同层次
- 计算机硬件系统:机器语言
- 操作系统之资源管理:机器语言+广义指令(扩充了硬件资源管理)
- 操作系统之文件系统:机器语言+系统调用(扩充了信息资源管理)
- 数据库管理系统:+数据库语言(扩充了功能更强的信息资源管理)
- 语言处理程序:面向问题的语言
计算机程序的执行过程
计算机操作技术的发展
计算机的手工操作
问题:手工操作速度与电子计算速度不匹配
装入程序的引进
- 引入卡片和纸带描述程序指令与数据
- 引入装入程序(Loader)
- 自动化执行程序装入,必要时进行地址转换
- 通常存放在ROM中
简单批处理系统的操作控制
引入作业控制语言,用户编写作业说明书,描述对一次计算机求解(作业)的控制,操作员控制计算机成批输入作业,成批执行作业,这一方式明显缩短了手工操作的时间,提高了计算机系统利用率,这一阶段,磁带的出现,使得卡片与纸带等机械输入方式得以进一步提高
操作系统与自动化操作控制
电子计算速度与机械I/O速度的矛盾:你在输,我在等,在程序执行过程中能否同时输入作业,重叠时间,需要多道程序同时执行,程序切换需要高速的外存储设备,磁盘设备出现:计算机操作系统浓墨登场,实现了计算机系统的自动化控制
计算机操作系统
操作系统的概念
操作系统(OperatingSystem),简称OS,是计算机系统最基础的系统软件,管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供良好运行环境,简而言之,操作系统是方便用户、管理和控制计算机软硬件资源的系统程序集合.
从用户角度看,OS管理计算机系统的各种资源,扩充硬件的功能,控制程序的执行,从人机交互看,OS是用户与机器的接口,提供良好的人机界面,方便用户使用计算机,在整个计算机系统中具有承上启下的地位,从系统结构看,OS是一个大型软件系统,其功能复杂,体系庞大,采用层次式、模块化的程序结构
操作系统的组成
- 进程调度子系统
- 进程通信子系统
- 内存管理子系统
- 设备管理子系统
- 文件管理子系统
- 网络通信子系统
- 作业控制子系统
操作系统的类型
- 从操作控制方式看
- 多道批处理操作系统,脱机控制方式
- 分时操作系统,交互式控制方式
- 实时操作系统
- 从应用领域看
- 服务器操作系统、并行操作系统
- 网络操作系统、分布式操作系统
- 个人机操作系统、手机操作系统
- 嵌入式操作系统、传感器操作系统
资源管理
计算机系统的资源
硬件资源:处理器、内存、外设
信息资源:数据、程序
管理计算机系统的软硬件资源:
- 处理器资源:那个程序占有处理器运行?
- 内存资源:程序/数据在内存中如何分布?
- 设备管理:如何分配、去配和使用设备?
- 信息资源管理:如何访问文件信息?
- 信号量资源:如何管理进程之间的通信?
屏蔽资源使用的底层细节
驱动程序:最底层的、直接控制和监视各类硬件(或文件)资源的部分,职责是隐藏底层硬件的具体细节,并向其他部分提供一个抽象的、通用的接口,比如说:打印一段文字或一个文件,既不需知道文件信息存储在硬盘上的细节,也不必知道具体打印机类型和控制细节
资源的共享与分配方式
- 资源共享方式
- 独占使用方式
- 并发使用方式
- 资源分配策略
- 静态分配方式
- 动态分配方式
- 资源抢占方式
程序控制
多道程序同时计算
CPU速度与I/O速度不匹配的矛盾,非常突出,只有让多道程序同时进入内存争抢CPU运行,才可以够使得CPU和外围设备充分并行,从而提高计算机系统的使用效率
多道程序同时计算的宏观分析
甲、乙两道程序,独占计算机单道运行时均需1小时,占用CPU时间18分钟,CPU利用率为30%,按多道程序设计方法同时运行,CPU利用率50%,由于要提供36分钟的CPU时间,大约运行72分钟。考虑到OS调度开销,实际花费时间还要长些,如80分钟,就处理两道作业而言,提高效率33%,就单道作业而言,延长执行时间20分钟,即延长了33%的时间
多道程序设计及优点
多道程序设计:指让多个程序同时进入计算机的主存储器进行计算
多道程序设计的特点:
- CPU与外部设备充分并行
- 外部设备之间充分并行
- 发挥CPU的使用效率
- 提高单位时间的算题量
多道程序系统的实现
- 为进入内存执行的程序建立管理实体:进程
- OS应能管理与控制进程程序的执行
- OS协调管理各类资源在进程间的使用
- 处理器的管理和调度
- 主存储器的管理和调度
- 其他资源的管理和调度
多道程序系统的实现要点
- 如何使用资源:调用操作系统提供的服务例程(如何陷入操作系统)
- 如何复用CPU:调度程序(在CPU空闲时让其他程序运行)
- 如何使CPU与I/O设备充分并行:设备控制器与通道(专用的I/O处理器)
- 如何让正在运行的程序让出CPU:中断(中断正在执行的程序,引入OS处理)