[TOC]
- 应用——用户
- 语言处理——应用程序员的视图
- 操作系统——语言处理程序设计者的视图
- 计算机硬件——操作系统设计者的视图
- 以运算单元为中心,控制流由指令流产生
- 采用存储程序原理,面向主存组织数据流
- 主存是按地址访问、线性编址的空间
- 指令由操作码和地址码组成
- 数据以二进制编码
- 计算机硬件系统——机器指令(语言)
- 机器指令是计算机系统执行的基本命令,是中央处理器执行的基本单位
- 指令由一个或多个字节组成,包括操作码字段、一个或多个操作数地址字段、以及一些表征机器状态的状态字以及特征码
- 指令完成各种算术逻辑运算、数据传输、控制流跳转
- 分类
- 特权指令:只能被操作系统内核使用的指令
- 非特权指令:能够被所有程序使用的指令
- 用户程序并非能够使用全部的机器指令,那些与计算机核心资源相关的特殊指令会被保护
- 操作系统与实用程序——扩展机器指令
- 资源管理:机器语言+广义指令(扩充了硬件资源管理)
- 文件系统:机器语言+系统调用(扩充了信息资源管理)
- 数据库管理系统——数据库语言
- 语言处理程序——高级语言(面向问题的语言)
- 支撑软件——程序员(涵盖以上)
- 高级语言源程序通过转换程序,再通过编译程序和解释程序,变成目标代码程序
- 汇编语言源程序通过汇编程序,变成目标代码程序
- 目标代码程序通过连接程序,变成可执行程序,通过装入程序,变成内存执行程序
- 同时进入数据库管理系统和操作系统,数据库管理系统同时进入文件系统和设备管理(属于操作系统)
P.S. 操作系统
- 文件系统
- 设备管理
- 内存管理
- 进程管理
- CPU根据PC取出指令,放入IR,并对指令译码,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行
- 步骤
- 取指:根据PC从存储器或高速缓冲存储器中取指令到IR
- 解码:解译IR中的指令来绝对其执行行为
- 执行:连接到CPU部件,执行运算,产生结果并写回,同时在CC里设置运算结论标志;跳转指令操作PC,其他指令递增PC值。
P.S. 在一条指令进行解码操作时,另一条指令可以开始取指;在进行执行操作时,另一条可以在执行解码,而第三条可以开始取指
多道程序同时计算:CPU速度与I/O速度不匹配的矛盾非常突出。只有让多道程序同时进入内存争抢CPU运行,才可以使得CPU和外围设备充分并行,从而提高计算机系统的使用效率
- CPU与外部设备充分并行
- 外部设备之间充分并行
- 发挥CPU的使用效率
- 提高单位时间的算题量
- 进程:进入内存执行的程序建立管理实体
- OS应能管理与控制进程程序的执行
- OS协调管理各类资源在进程间的使用
- 处理器的管理和调度
- 主存储器的管理和调度
- 其他资源的管理和调度
- 如何使用资源:调用操作系统提供的服务例程(如何陷入操作系统)
- 如何复用CPU:调度程序(在CPU空闲时让其他程序运行)
- 如何使CPU与I/O设备充分并行:设备控制器与通道(专用的I/O处理器)
- 如何让正在运行的程序让出CPU:中断(中断正在执行的程序,引入OS处理)
- 交互设备
- 传统的终端设备
- 新型的模式识别设备
- 发展
- 交互式控制方式
- 行命令控制方式:1960年代开始使用
- 全屏幕控制方式:1970年代开始使用
- 强调人而不是技术是人机交互的中心
- WIMP界面
- 窗口(Windows)、图标(Icons)、菜单(Menu)、指示装置(Pointing Devices),图形用户界面
- 多媒体计算机
- 虚拟现实系统
- 交互式控制方式
- 计算机通过设置处理器模式实现特权指令管理
- 计算机一般设置0、1、2、3四种运行模式,建议分别对应:
- 0:操作系统内核
- 1:系统调用
- 2:共享库程序
- 3:用户程序等保护级别
- 0模式可以执行全部指令;3模式只能执行非特权指令;其他每种运行模式可以规定执行的指令子集
- 一般来说,现代操作系统只使用0和3两种模式,对应于内核模式和用户模式
- 简称模式切换,包括“用户模式→内核模式”和“内核模式→用户模式”的转换
- 中断、异常或系统异常等事件导致用户程序向OS内核切换,触发:用户模式→内核模式
- 程序请求操作系统服务
- 程序运行时发生异常
- 程序运行时发生并响应中断
- OS内核处理完成后,调用中断返回指令(如Inter的iret)触发:内核模式→用户模式