操作系统组成原理
2022-11-22 15:09:41 1 举报
操作系统组成原理
作者其他创作
大纲/内容
网卡驱动
输入
带有高速缓存的CPU执行计算的流程
存储器
进程和线程只能运行在这两个内存
Registers
两个堆栈
存储器存储空间大小:内存 >L3>L2>L1> 寄存器
2、指令跟数据被加载到CPU的高速缓存
ring2
cache
L3
磁盘控制器
ring0
所有物理核共享
现代操作系统在运行一个程序时,会为其创建一个进程
控制器
CPU
内核空间下固定的堆栈
拥有多个
3、CPU执行指令,把结果写到高速缓存中
pc
数据
USB
1、CPU要取寄存器X的值,只需要一步:直接读取。
1、程序以及数据被加载到主内存
操作系统内部程序指令运行
CPU缓存结构
用户空间的堆栈
L1
4、高速缓存中的数据写入主内存
进程
如果一个信息项被访问,那它接下来还会被访问
时间局部性
数据单元
线程
这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量
JVM创建线程CPU的工作过程
CPU运行安全等级
内核空间
物理核独占,逻辑核共享
用户程序只能运行在用户空间
磁盘
分为数据缓存和指令缓存,逻辑核独占
L2
IO 总线
ring1
运算单元ALU
系统总线
ring3
3、线程执行JVM程序
空间局部性
控制单元
内核线程模型(KLT)
CPU调度的基本单位线程
内存总线
内存
五大核心
缓存由最小的存储区块-缓存行组成,缓存行通常大小为64Byte
系统调用运行在内核空间下
计算机组成
4、CPU取L3 cache的也是一样,只不过先由L3复制到L2,从L2复制到L1,从L1到CPU。
Window和Linux通常使用两个级别
2、CPU要取L1 cache的某个值,需要1-3步(或者更多):把cache行锁住,把某个数据拿来,解锁,如果没锁住就慢了
最核心:CPU、内存
地址寄存器
1、CPU从ring3切换到ring0创建线程
指令寄存器
操作系统
显卡
运算器
用户空间
用户线程模型(ULT)
输出
CPU读取存储器数据过程
5、CPU取内存则最复杂:通知内存控制器占用总线带宽,通知内存加锁,发起内存读请求,等待回应,回应数据保存到L3(如果没有就到L2),再从L3/2到L1,再从L1到CPU,之后解除总线锁定
寄存器
指令计算器
ALU
3、CPU要取L2 cache的某个值,先要到L1 cache里取,L1当中不存在,在L2里,L2开始加锁,加锁以后,把L2里的数据复制到L1,再执行读L1的过程,上面的3步,再解锁
如果一个存储器的位置被引用,那它附件的位置也会被引用
提升执行效率,减少CPU与内存的交互(交互影响CPU效率),减少CPU等待,一般在CPU上集成了多级缓存架构,常见的为三级缓存结构
IO Bridge
OS(操作系统)调度CPU的最小单元,也叫轻量级进程
4、线程执行后,销毁还得切换ring0
存储器速度快慢排序:寄存器>L1>L2>L3>内存
进程是OS(操作系统)资源分配的最小单位
内核保存线程的状态和上下文信息,线程阻塞不会引起进程阻塞。在多处理器系统上,多线程在多处理器上并行运行。线程的创建、调度和管理由内核完成,效率比ULT要慢,比进程操作快
CPU两性
指令控制
2、创建完毕、从ring0切换到ring3
0 条评论
下一页