关于cpu在进程切换时的操作

操作系统内核中,进程切换通过cpu辅助模块

保存正在运行的进程的cpu主模块中各个寄存器

的值实现。操作系统内核中,每个进程结构体

储存了进程的所有信息,其中就有栈的地址,

进程结构体中栈可以通过大数组实现,数组名

就是栈的地址,数组第一个元素就是栈底,后面

可以往数组里不断的加数值,也就是入栈。

cpu主模块的寄存器值就保存在进程结构体的

栈中。也就是进程结构体中的数组中。这个栈

通常也被称为内核栈。也就是保存进程

上下文的栈。

上面的数组可以是无数据类型数组,通过无数据类型的指针变量指向该数组,也就是将数组名赋值给指针变量,来完成入栈和出栈的操作。

 

 

 

 

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐