有个疑问,如果cpu调度的对象是线程,那进程怎么切换呢?

calm_diligence 2012-11-11 05:21:40
有个疑问,
1、如果cpu调度的对象是线程,那进程怎么切换呢?
2、如果线程的切换能造成进程的切换,那不是还是得切换进程相关资源这样调度效率也不是很高啊
...全文
370 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
BYD123 2013-05-27
  • 打赏
  • 举报
回复
引用 2 楼 nevil 的回复:
1楼正解 进程切换分两步 1.切换页目录以使用新的地址空间 2.切换内核栈和硬件上下文。 对于linux来说,内核不区分进程和线程, 线程和进程的最大区别就只在于地址空间。 对于一个进程内的线程切换,第1步是不需要做的,第2是进程和线程切换都要做的
+1
giant7 2012-11-30
  • 打赏
  • 举报
回复
引用 2 楼 nevil 的回复:
1楼正解 进程切换分两步 1.切换页目录以使用新的地址空间 2.切换内核栈和硬件上下文。 对于linux来说,内核不区分进程和线程, 线程和进程的最大区别就只在于地址空间。 对于一个进程内的线程切换,第1步是不需要做的,第2是进程和线程切换都要做的
+1
xiaohu023 2012-11-29
  • 打赏
  • 举报
回复
学习。
引用 2 楼 nevil 的回复:
1楼正解 进程切换分两步 1.切换页目录以使用新的地址空间 2.切换内核栈和硬件上下文。 对于linux来说,内核不区分进程和线程, 线程和进程的最大区别就只在于地址空间。 对于一个进程内的线程切换,第1步是不需要做的,第2是进程和线程切换都要做的
nevil 2012-11-12
  • 打赏
  • 举报
回复
1楼正解 进程切换分两步 1.切换页目录以使用新的地址空间 2.切换内核栈和硬件上下文。 对于linux来说,内核不区分进程和线程, 线程和进程的最大区别就只在于地址空间。 对于一个进程内的线程切换,第1步是不需要做的,第2是进程和线程切换都要做的
onlyfever 2012-11-11
  • 打赏
  • 举报
回复
对linux内核来说,对线程和进程的操作是没什么区别的。 唯一的区别是:线程之间可以共享数据。 Correct Me If I'm Wrong.

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧