版权声明:本文为博主原创,未经博主允许不得转载。 https://blog.csdn.net/weixin_36904568/article/details/89222053
一:操作系统的基本概念
定义:操作系统是运行在内核态的系统软件。
- 对于用户:管理应用程序,为应用程序提供服务
- 对于机器:管理资源,分配资源
- 将硬件进行抽象:
CPU ——》进程
磁盘 ——》文件
内存 ——》地址空间
特征
- 并发性:在一段时间有多个程序同时运行。(并行是在同一时间点)
- 共享性:共享资源给应用程序。互斥共享或“同时”共享。
- 虚拟性:一台物理机器虚拟为多个机器
- 异步性:程序运行不一定是连续的,决定于操作系统的调用
二:操作系统的历史
- 第一代:真空管和穿孔卡片
- 第二代:晶体管和批处理系统
- 第三代:集成电路芯片和多道程序设计
- 至今:个人计算机
三:操作系统与计算机硬件
由总线连接:CPU(处理器)+内存(存储器)+IO设备(视频控制器+键盘控制器+USB控制器+硬盘控制器)
1. 计算机的管理人——CPU
(1)工作:
- 从内存取出指令
- 解码并确定类型和操作数
- 执行指令
(2)寄存器:由于取指令的过程很久,CPU会使用寄存器
- 通用寄存器:保存变量和临时结果
- 专门寄存器:
程序计数器,保存下一个指令的内存地址。
堆栈指针,指向内存栈的顶端(已经进入还未退出的框架)。
程序状态字(PSW)寄存器:包含程序的多个控制信息。
(3)指令集:每个CPU都有一套专门的指令集
- 在寄存器和内存之间交换字
- 组合操作数
(4)机制
- 简单模型:同时读取,解码,执行一条指令
- 流水线:同时取多条指令的机制。一个CPU可以有分开的取指单元,解码单元,执行单元。一旦指令进入流水线就必须被执行完毕。
- 超标量CPU:有多个执行单元。多个指令被取出后解码并装入缓冲区,直至执行完毕。
(5)模式:由PSW控制
- 内核态:操作系统可以访问整个硬件。CPU可以执行所有指令
- 用户态:CPU只能执行部分指令,禁止执行有关IO和内存访问的指令。
用户态转换内核态:可以通过系统调用这个特殊指令,陷入内核并调用操作系统。
(6)多核芯片
多线程允许CPU保存多个不同的状态,使得每个线程好像有独立的CPU在运行
2. 计算机的仓库——存储器
顶层——CPU
访问时间最快,但是容量也最小。(在N位CPU中容量为N×N位)
第二层——高速缓存
最常用的高速缓存行放置在CPU顶部或接近CPU的高速缓存。
访问较快,但是造价昂贵,容量较小。
流程:当程序需要读取存储字时,通过所引用内存地址的高位计算应该使用的缓存行
- 如果高速缓存行在高速缓存中,则命中,无需把请求送入主存,一般需要两个时钟周期。
- 如果高速缓存行不在高速缓存中,则未命中,必须访问主存。此时会调入新的内容
第三层——内存
(1)分类
- RAM:随机访问存储器。早期用电磁体制作主存。
- ROM:只读存储器。在电源切断后不会丢失内容,也无法修改,便宜。
- EEPROM:电可擦除可编程ROM。在电源切断后不会丢失内容,可修改
- FM:闪存。在电源切断后不会丢失内容,可修改。(通常是电子设备的存储媒介)
- CMOS:易丢失内容(通常用来更新时间,保存计算机启动参数)
(2)虚拟内存
把程序放在下一层的磁盘,通过CPU的存储器管理单元把程序的逻辑地址转换为这一层的内存地址,把这一层的内存作为缓存。
第四层——磁盘/硬盘
容量大,但是由于是机械装置,随机访问十分慢。
(1)结构
- 磁道:磁盘包含多个金属盘片,信息写在磁盘的同心圆上。每个磁头可以读取一段环形区域,称为磁道。
- 柱面:所有磁道合并为一个柱面。
- 扇区:磁道划分为多个扇区。
(2)过程
- 机械臂从一个柱面移动到另一个柱面
- 机械臂到达正确的柱面也就是正确的磁道时,等待扇区旋转
- 扇区旋转到磁头下,开始读写
第五层——磁带
可以保持大量的数据,存储量最大。经常用于上一层磁盘的备份。
3. 计算机的前台货架——IO设备
包括设备管理器和设备本身
(1)设备管理器
为操作系统提供一个接口,方便操作系统控制设备。
设备寄存器
用于设备管理器的通信
- 映射到操作系统的内存空间(需要占用一定的空间)
- 放入专门的IO端口空间,每个寄存器都有一个端口地址(需要专门的IO命令)
激活:设备驱动程序从操作系统获取命令,翻译为值并填入设备寄存器中
设备驱动程序(CPU)
对设备管理器发出命令并接收响应的软件。
装入操作系统:
- UNIX:内核与设备驱动程序重新连接
- WINDOWS:在操作系统文件中设置入口,由操作系统自己装载
- USB:动态装载驱动程序
(2)工作
满等待:需要一直占据CPU
- 用户程序发出一个系统调用
- 内核将其翻译为对应设备驱动程序的过程调用
- 设备驱动程序启动IO,不断检查该设备
- 当设备完成工作后,设备驱动程序把数据送到需要的地方并返回
- 操作系统把控制返回给用户
中断
- 用户程序发出一个系统调用
- 内核将其翻译为对应设备驱动程序的过程调用
- 设备驱动程序激活设备寄存器,设备管理器启动设备
- 设备完成工作后,设备管理器发出中断信号,通知中断控制器
- CPU决定中断:操作系统阻塞用户,把PSW和程序计数器压入栈,通过设备编号寻找设备驱动程序中的中断处理程序的地址。
- 中断处理程序开始后,取走PSW和程序计数器,查询设备状态
- 中断处理程序完成后,用户程序继续进行指令
DMA芯片
DMA芯片可以控制内存和控制器的交流,无需CPU干预。
- CPU对DMA进行设置
- 启动DMA
- DMA芯片完成后产生中断
4. 计算机的联络人——总线
基本部分:
- 高速缓存总线:连接CPU和高速缓存
- 局部总线:连接CPU和PCI桥
- 内存总线:连接PCI桥和存储器
PCI部分:连接PCI桥、ISA桥和外部设备,传输速度快
- PCI总线:连接USB、SCSI、图片适配器。
- USB总线:连接键盘、鼠标等慢速IO设备
- SCSI总线:连接高速硬盘、扫描仪等高速IO设备
ISA部分:连接ISA桥和外部设备,传输速度慢
- IDE总线:连接磁盘、CD等磁盘IO设备
- ISA总线:连接声卡、打印机、调制解调器