查看: 6778|回复: 0
打印 上一主题 下一主题

LINUX内核指导之一

[复制链接]
跳转到指定楼层
1#
发表于 2008-1-7 15:06:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
LINUX中认为线程就是共享上下文的(CONTEXT)的进程,可以通过非标准的系统调用clone()来处理。

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

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

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

  而系统调用进行的是模式切换(mode switch)。模式切换与进程切换比较起来,要容易的多,而且节省时间,因为模式切换最主要的任务只是进行寄存器级的上下文切换。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表