我有一个问题有关的时间量给进程和线程在Windows和Linux。
我知道操作系统一般给每个线程一个固定的时间量。 (我知道取决于前景或后台线程的时间量的变化,也可能根据进程的优先级而改变。)
每个过程是否有固定的时间量程? 例如。 如果操作系统给每个进程36个时间片,如果一个进程有2个线程,那么每个进程将得到18个量子。 如果线程数量变成3,那么每个会得到12。
然而,如果一个固定的每个进程量不存在,并且操作系统给出了每个线程的固定量(不依赖父进程),那么我可以通过产生多个线程来提高我的进程效率(假设我没有两个互斥/信号量在我的代码。)
在Linux中select()和poll()
task_struct存储在哪里?
Linux内核中的队列
我有一个应用程序在两个操作系统(Windows和Linux)上运行。 所以,我在一般意义上这样问。
谢谢
内核驱动程序,ioremap在MMU-less系统中是必需的?
如何在Linux内核模块中读取/写入字符设备
Linux内核标识符中前导和后缀下划线的含义是什么?
为什么进程不能抢占中断?
使用modprobe“FATAL:模块未find错误”
在Linux上,从调度的角度看,线程和进程是等价的。 所以如果一个进程产生两个线程,每个应该得到36个量子。 虽然我想从比我更有信誉的人那里听到这个消息来证实。
相当有趣的问题:)
我没有确切的细节,但从下面的链接可以看出,现代OS具有线程调度的基于估计的方法。
http://technet.microsoft.com/en-us/magazine/2007.02.vistakernel.aspx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。