设为首页 加入收藏

TOP

Linux内核新手学习笔记
2014-11-23 22:32:49 来源: 作者: 【 】 浏览:11
Tags:Linux 内核 新手 学习 笔记

  Linux中认为线程就是共享上下文的(CONTEXT)的进程,可以通过非标准的系统调用clone()来处理。


  上下文简单来说就是一个环境,相对于进程而言,就是进程执行时的环境。具体来说就是各个变量和数据,包括所有的寄存器变量,进程打开的文件,内存信息等。一个进程的上下文可以分为三个部:用户级的上下文,寄存器的上下文和系统级的上下文。


  用户级上下文:正文,数据,用户栈以及共享存储区;寄存器上下文:通用寄存器,程序寄存器(IP),处理机状态寄存器(EFLAGS),栈指针(ESP);系统级上下文:进程控制块(task_struct),内存管理信息(mm_struct,vm_area_struct,pgd,pmd,pte等),核心栈等。


  当发生进程调度时,进行的进程切换就是上下文切换(context switch),操作系统必须对上面提到的全部上下文信息进行切换,新调度才能运行。


  而系统调用进行的是模式切换(mode switch)。模式切换与进程切换比较起来,要容易的多,而且节省时间,因为模式切换最主要的任务只是进行寄存器级的上下文切换。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux环境下安装JDK1.6与Eclipse 下一篇Linux学习笔记-对Shell的初步认识

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: