以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 操作系统原理 』  (http://bbs.xml.org.cn/list.asp?boardid=63)
----  关于线程的一个菜鸟问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=63&rootid=&id=15654)


--  作者:Ph0nix
--  发布时间:3/15/2005 10:52:00 PM

--  关于线程的一个菜鸟问题
各位由于我不是计算机系的,所以在看操作系统时有时会遇到很菜的问题,而且没有人问。请大家帮帮忙。
OS书上说线程时OS调度的单位,我想问的是,比如已经有1个进程出于就绪态,一个处于运行态,假设运行的进程是多线程的,如果正在运行的线程被阻塞,系统将会选择另外一个线程来占用CPU时间,假设是按优先数的调度算法,线程的选取是否是从一个全局的线程库中选取,也就是说,包括就绪的线程也参与竞争?现在假设是KTL的,我是这么理解的,不知道对不对?
--  作者:pennyliang
--  发布时间:3/16/2005 8:00:00 PM

--  
如果是KLT的情况,那么每个线程都可以看作一个独立的东东,任何一个线程阻塞了都不会影响其他的线程参与调度。你可以这样理解每个KLT都可以独立跑在一个CPU上。
--  作者:Ph0nix
--  发布时间:3/16/2005 10:16:00 PM

--  
也就是说,在KLT下,不同进程的线程之间也发生竞争,从而一个进程里的某个线程阻塞,有可能引起进程间的切换?
--  作者:Logician
--  发布时间:3/17/2005 12:57:00 AM

--  
以下是引用Ph0nix在2005-3-16 22:16:18的发言:
也就是说,在KLT下,不同进程的线程之间也发生竞争,从而一个进程里的某个线程阻塞,有可能引起进程间的切换?

sure.


--  作者:pennyliang
--  发布时间:3/17/2005 2:46:00 PM

--  
进程里的某个线程阻塞,有可能引起进程间的切换?????

线程阻塞,和进程切换有什么关系,除非是用户级线程。。内核级的线程根本就是两码事,进程不是占有CPU的资源,何来进程间切换,schedule调度的对象是线程,而不是进程。


--  作者:Ph0nix
--  发布时间:3/17/2005 10:22:00 PM

--  
但是若是按照优先级调度呢?我就是想问进行优先级比较的时候有没有一个公共的线程队列
--  作者:pennyliang
--  发布时间:3/20/2005 7:23:00 PM

--  
优先级调度通常在每个优先数上都有队列,一个公共的队列怎么实现??
--  作者:Wildcatsoft
--  发布时间:4/10/2005 10:01:00 PM

--  
进程里的某个线程阻塞,有可能引起进程间的切换?????

线程阻塞,和进程切换有什么关系,除非是用户级线程。。内核级的线程根本就是两码事,进程不是占有CPU的资源,何来进程间切换,schedule调度的对象是线程,而不是进程。


进程没有切换吗?
每个进程有自己地址空间,有不同的页表,进程的切换就是要切换地址空间,也就是改变页表。
schedule的调度对象是的确线程,然如果前后两个线程不再同一个进程中,就要切换地址空间。


--  作者:renyongqi
--  发布时间:5/3/2005 10:49:00 PM

--  
又学到了一点知识,好,要多来
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
70.313ms