社区
Linux/Unix社区
帖子详情
请问高手LInux 下的进程、线程的切换具体是如何实现的?
queshuiyu
2003-08-20 11:10:15
如题所述的,进程、线程的切换的具体实现是什么样的?大概会用到哪些重要的函数?有没有这方面的参考资料?请高手指教,小弟我是新手,谢谢你啦!!!
...全文
217
14
打赏
收藏
请问高手LInux 下的进程、线程的切换具体是如何实现的?
如题所述的,进程、线程的切换的具体实现是什么样的?大概会用到哪些重要的函数?有没有这方面的参考资料?请高手指教,小弟我是新手,谢谢你啦!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mynetpc
2003-08-26
打赏
举报
回复
二星来也。
Ed 博士有个分析过,他的Email是egd@us.ibm.com
CsLover
2003-08-23
打赏
举报
回复
操作系统课程设计是吧?
queshuiyu
2003-08-22
打赏
举报
回复
sjsj(悠行者)
给我一份我要的cjsxy@etang.com
kenryHuang
2003-08-22
打赏
举报
回复
sjsj(悠行者)
能否发我一份 huangg@uptech.com
jian
2003-08-22
打赏
举报
回复
Understanding Linux Kernel 2nd
chapter 3 ,chapter 11
That is just what you need.
If interested in its chm format version, mail to sheng__jian@163.com.
Good luck, guy!
queshuiyu
2003-08-22
打赏
举报
回复
真是太感谢楼上的,我好好看看,有什么问题再找你啊
XSY_VC
2003-08-22
打赏
举报
回复
你必需要懂得x86 保护模式 进程切换这是必需的!!!
不懂就看看,不是,是理解不到的
其实你也可以是 简单想成是: A是准备切换的进程 ,B 是被切换的进程
b保存它占有的所有寄存器 ,在他的堆栈中,
A把自己的保存到他的堆栈中的寄存器的直,会复到寄存器
在www.linuxfans.org 有Understanding Linux Kernel 2nd
XSY_VC
2003-08-21
打赏
举报
回复
在struct task_struct 里面有记录这些的变量。
queshuiyu
2003-08-21
打赏
举报
回复
那如果要是想分析进程和线程的时间开销分析应该如何做?要注意些什么吗?
queshuiyu
2003-08-21
打赏
举报
回复
麻烦大哥再指点一下,我现在是一头污水,资料方面也是不是很全。谢谢你的关注!!!
XSY_VC
2003-08-21
打赏
举报
回复
错了是 http://www.joyfire.net/
XSY_VC
2003-08-21
打赏
举报
回复
struct task_struct 也是一个很重要的结构!!!!
注意 它的分配方法 !!这些东西找点资料看
XSY_VC
2003-08-21
打赏
举报
回复
关键你 明白什内核里面有个 struct tss_struct {......} 的作用
在processor.h 中 他是硬件切换的的关键, 就是x86保护模式的"任务状态段"
对每个进程而言 有一个 struct task_struct {}
进程调度函数schedule. 在sched.c中
其中很关键的switch_to 你就需要注意了!!!! 他就在作进程切换
在include/asm_i386/system.h中
你可以到 www.joyfire.com 下载内核分析笔记!
queshuiyu
2003-08-20
打赏
举报
回复
如果可以的话,请麻烦具体说明,本人时刻关注ing
linux
内核如何识别是
进程
间
切换
还是
线程
间
切换
?
linux
没有
线程
的概念,只是用
进程
模拟了
线程
——LWP轻量级
进程
。所以在limux的调度器眼里只有task的结构体,那么如果区分是
进程
间
切换
或是
线程
间
切换
呢? 比如A
进程
的a
线程
要
切换
到B
进程
的b
线程
,如何识别?A
进程
a
线程
要
切换
到A
进程
的另一个
线程
,又如何识别? 难道是根据页表地址不同来确定是
进程
间
切换
?不对。搜了下,是**比较task里mm地址来识别
切换
流程的。**如果旧task的mm与即将运行的task的mm地址是同一个说明就是
线程
间
切换
,否则就是
进程
间
切换
,走的流程就不一样了。
具体
: 调度器
切换
进程
/
线程
切换
究竟需要多少开销?
进程
/
线程
切换
究竟需要多少开销? 在此的数据只是提供一个大概的数值,以用于估算: 测试系统调用的时候,最低值是200ns 平均每次上下文
切换
耗时3.5us左右 每次
线程
切换
开销大约是3.8us左右 从上下文
切换
的耗时上来看,
Linux
线程
(轻量级
进程
)其实和
进程
差别不太大, 上下文
切换
的开销大约是2.7-5.48us左右. 详细情况可转到如下区查看: https://my.oschina.net/u/3077716/blog/4695862 ...
进程
线程
(一)——基础知识,什么是
进程
?什么是
线程
?
1. 什么是
进程
和
线程
现代操作系统比如Mac OS X,UNIX,
Linux
,Windows等,都是支持“多任务”的操作系统。 1.1 百科解释
进程
(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向
线程
设计的计算机结构中,
进程
是
线程
的容器。程序是指令、数据及其组织形式的描述,
进程
是程序的实体。是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数.
进程
切换
和
线程
切换
的区别
进程
切换
和
线程
切换
的区别 我们都知道
线程
切换
的开销比
进程
切换
的开销小,那么小在什么地方?
切换
的过程是怎样的? 上下文
切换
无论是在多核还是单核系统中,一个CPU看上去都像是在并发的执行多个
进程
,这是通过处理器在
进程
间
切换
来
实现
的。操作系统
实现
这种交错执行的机制称为上下文
切换
。 操作系统保持跟踪
进程
运行所需的所有状态信息,这种状态,也就是上下文,它包括许多信息,例如PC和寄存器文件的当前值,以及主存的内容。在任何一个时刻,单处理器系统都只能执行一个
进程
的代码。 当操作系统决定要把控制权从当前
进程
转移到某个新进
linux
线程
切换
和
进程
切换
的方法
进程
切换
和
线程
切换
在效率上略有不同,相比之下
进程
切换
耗费资源较大,效率要差一些,原因可以参考下面这篇文章 原文链接:https://www.jb51.net/article/102004.htm
进程
切换
分两步: 1.
切换
页目录以使用新的地址空间 2.
切换
内核栈和硬件上下文 对于
linux
来说,
线程
和
进程
的最大区别就在于地址空间,对于
线程
切换
,第1步是不需要做的,第2是
进程
和
线程
切换
都要...
Linux/Unix社区
23,124
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章