01-概述
计算机硬件系统
冯诺依曼架构 略
计算机系统的用户视图
应用:用户的视图
语言处理:应用程序员的视图
操作系统:语言处理程序设计者的视图
计算机硬件:操作系统设计者的视图
总线
数据总线
地址总线
控制总线
类型
内部总线:CPU 内部连接各元件
系统总线:连接 CPU、I/O 模块、内存
通信总线:计算机系统之间通信
北桥:主存控制器,连接CPU、主存
南桥:I/O 控制器
现代 CPU 架构中,大部分已不再采用传统意义上的南北桥设计,而是将北桥(如内存控制器、PCI Express 控制器等)集成到处理器内部,而南桥的功能则由单一芯片组或平台控制器处理。这种改变有助于提高数据传输速度并降低延迟。
当我看到老掉牙的 PPT 时,就意识到这课的水准了
CPU
组成
ALU
寄存器、Cache
控制器
存储
寄存器
L1 Cache SRAM
L2 Cache SRAM
L3 Cache SRAM
主存 DRAM
SSD
HDD
远程外存储器
I/O 控制方式
轮询:CPU 控制 I/O、数据经由 CPU 传输
中断:CPU 启动 I/O 设备,设备进行 I/O,设备中断 CPU 以善后,数据经由 CPU 传输
DMA:CPU 启动 DMA,DMA 独立进行 I/O 和内存数据交换,DMA 中断 CPU 以善后,数据经由 I/O 模块直达内存
计算机操作技术的发展
手工操作:与机器速度不匹配
装入程序
卡片、打孔纸带
装入程序 Loader:将程序装入内存,必要时转换地址
存放在 ROM 中
引入汇编语言后的计算机控制
汇编语言代码在通过汇编程序编译为可执行代码
可执行代码在计算机上输入数据,获得结果
引入高级语言后的计算机控制
高级语言程序通过编译程序编译为目标代码
目标代码通过链接程序链接为可执行代码
可执行代码在计算机上输入数据,获得结果
简单批处理系统:引入作业控制语言,用户编写作业说明书
资源管理程序出现:屏蔽硬件细节
中断出现:实现 CPU 和 I/O 设备的并行工作
磁带出现:输入效率提高,但是不足以支持多道程序切换
操作系统
多道程序同时执行:需要高速的外存:磁盘
计算机操作系统
计算机系统最基础的系统软件,管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供良好运行环境
公共基础设施,所有应用程序共用 OS 服务
内核:反应式机制,终端驱动
操作控制方式
多道批处理操作系统:脱机控制方式
分时操作系统:交互式控制方式
采用时间片轮转调度方式
多个用户可以同时使用计算机,每个用户分配一个时间片
用户间彼此独立,互不干扰
响应时间短,用户体验较好,但系统开销较大
实时操作系统:实时控制方式
计算机对输入信息进行即时处理,并在严格的时间约束下给出结果
适用于工业控制、航空航天、军事防御等场景
硬实时:必须在截止时间内完成
软实时:尽量在截止时间内完成
Unix Windows 是分时操作系统
操作系统的视角
资源管理的视角
资源种类
硬件资源:CPU、内存、外设
信息资源:数据、程序
资源管理
CPU:哪个进程使用 CPU
内存:程序、数据在内存中的分布
设备:分配、使用设备
信息资源:如何访问文件信息
信号量资源:管理进程间通信
驱动程序:底层直接监视硬件,向上层屏蔽资源使用的底层细节
共享方式
独占使用:一个时间段内资源只能被一个进程使用(打印机)
并发使用:多个进程可以同时使用资源(读文件)
分配策略
静态分配:进程运行前拿到全部都占资源,效率低
动态分配:使用资源前临时申请,可能产生死锁
资源抢占:被抢夺资源的进程需要回滚执行
资源管理的技术
复用:空分复用、时分复用,分配给不同的用户
虚拟:把物理资源虚拟成逻辑资源,分配给不同的用户
抽象:简化资源使用的复杂性,屏蔽底层细节
进程抽象
虚存抽象
文件抽象
控制程序执行的视角
CPU 和 I/O 速度不匹配
让多道程序同时进入内存争抢 CPU,提升利用率
特点
CPU 与外部设备充分并行
外部设备之间充分并行
发挥 CPU 的提升效率
提升吞吐量(单位时间的计算量)
单个程序的响应时间变长
实现:为进入内存的程序建立管理实体 进程
设计要点
如何使用资源
如何复用 CPU
如何使 CPU 与 I/O 设备充分并行
如何让正在运行的程序让出 CPU
操作控制计算机的视角
OS 的操作接口:系统程序
脱机作业方式
OS:提供作业声明语言
用户:编写作业说明书
操作员:通过控制台输入作业
联机作业控制方式
用户首先登陆操作系统
操作系统提供命令解释程序接受输入的命令
用户通过联机输入命令,控制作业执行
命令解释程序:接受和执行一条用户提出的对作业的加工处理命令
人机交互的视角
设备
传统终端设备
新型模式识别设备
行命令 -> 全屏幕 -> GUI
程序接口的视角
系统调用
操作系统内核提供的一系列具有预定功能的服务例程
设计原因:对系统进行保护,程序按照不同的特权运行
系统调用在内核态执行
用户态/用户空间/目态:用户程序运行
内核态/核心空间/管态:操作系统运行
实现机制:陷入处理机制
使用陷入指令,含有编号,寄存器内有参数
用户态程序执行系统调用时,CPU 产生中断,进入内核态
内核态执行系统调用,完成后返回用户态
实现要点
编写系统调用处理程序
维护系统调用入口地址表:包含处理程序的入口地址、参数个数,表驱动机制
开辟现场保护区:保护用户态程序的现场
种类
进程管理:创建、撤销、阻塞、唤醒
文件管理:创建、删除、打开、关闭
设备管理:请求、释放
存储管理:分配、释放
进程通信:建立、断开连接;发送、接受消息
信息管理:获取、设置时间、系统数据,生成诊断、统计数据
POSIX 标准
Portable Operating System Interface
Unix 系统的标准化接口
提供了一个统一的 API 接口,屏蔽了不同操作系统之间的差异
系统结构的角度
结构设计方法
单体式结构:模块化,模块之间协作
层次式结构:进程间存在层次,只能单项依赖(底层为高层服务)
虚拟机结构:虚拟化物理硬件设备
微内核结构:内核中只有必须的最小核心功能,其余功能由用户态的服务程序实现,可移植性好,但是效率低
操作系统内核
单内核:内核中各部件混居,广泛使用,Windows、Linux
微内核:结构性部件和功能性部件分离
混合内核:单内核和微内核的折中,将组件移入核心态获取更快的性能
外内核:将操作系统的管理功能最小化,尽可能地将资源管理权交给用户级应用程序(
PPT 疑似胡说八道)
最后更新于