linux下的进程切换只发生的内核态
来源:互联网 发布:ubuntu svn 导入源码 编辑:程序博客网 时间:2024/05/16 02:02
首先需要说明一点的是,在linux下有段的概念,但是没有段的实际应用。linux只有四个段,分别是用户代码段、用户数据段、内核代码段、内核数据段,基地址都是0x00000000,大小为4G,这样就使得linux下的逻辑地址与线性地址是相同的。
#define __KENEL_CS 0X10 //在gdt的index=2,rpl=0
#define __KERNEL_DS 0x18 //在gdt的index=3,rpl=0
#define __USER_CS 0x23 //在gdt的index=4,rpl=3
#defind __USER_DS 0x2b //在gdt的index=5,rpl=3
从用户态切换到内核态时,因为使用不同的堆栈段,所以需要进行堆栈切换;而从内核态切换到内核态时,使用的都是内核数据段,所以不需要切换堆栈,但是需要修改TSS的esp0。
#define __KENEL_CS 0X10 //在gdt的index=2,rpl=0
#define __KERNEL_DS 0x18 //在gdt的index=3,rpl=0
#define __USER_CS 0x23 //在gdt的index=4,rpl=3
#defind __USER_DS 0x2b //在gdt的index=5,rpl=3
从用户态切换到内核态时,因为使用不同的堆栈段,所以需要进行堆栈切换;而从内核态切换到内核态时,使用的都是内核数据段,所以不需要切换堆栈,但是需要修改TSS的esp0。
0 0
- linux下的进程切换只发生的内核态
- Linux内核下进程切换
- Linux内核下进程切换
- linux下的进程切换
- Linux内核的进程切换(上)
- Linux进程切换以及内核线程的返回值
- Linux进程切换以及内核线程的返回值
- Linux进程切换以及内核线程的返回值
- MOOC《Linux内核分析》——进程切换的过程
- Linux内核switch_to宏实现进程切换的原理
- linux内核分析学习笔记:操作系统的进程切换
- Linux内核进程切换
- Linux内核进程切换
- Linux内核进程切换
- Linux进程的用户态和内核态的切换方式
- Linux下的进程1——进程概念,进程切换,上下文切换,虚拟地址空间
- Linux内核分析:理解进程调度时机跟踪分析进程调度与进程切换的过程
- linux-进程切换,用户态进程,内核态进程
- Spark修炼之道(基础篇)——Linux大数据开发基础:第十五节:基础正则表达式(一)
- 最近了解到的东西,做个记录
- 自己动手写spring(二) 创建一个bean工厂
- 选择排序的优化算法
- 天声人語 20151115 パリの無差別テロ
- linux下的进程切换只发生的内核态
- 自己动手写spring(三) 支持注解方式
- java领域的即时通信(openfire+spark+smack)
- OpenGL ES 模型视图矩阵操作
- linux shell 管道命令(pipe)使用及shell重定向
- MyEclipse项目自动部署
- 自己动手写spring(四) 整合xml与注解方式
- JFinal资料
- Python多进程并发操作中进程池Pool的应用