单核处理器上的系统主线程

时间:2013-07-03 19:20:42

标签: multithreading operating-system processor

如果这个问题有点问题,我很抱歉,但这对我来说似乎很有意思,我的研究结果无法找到任何好的答案。我知道操作系统有一个主系统线程,可以完成管理其他线程等任务,但是这对于没有超线程的单核处理器有什么作用呢?在我看来,不可能控制应用程序正在使用的另一个线程,因为这会导致系统线程阻塞。但显然它是可能的,它究竟是如何工作的?我已经想到系统线程将其他线程的工作整合到自己的工作中,但这对我来说似乎是一个可怕的想法。

2 个答案:

答案 0 :(得分:4)

'我知道操作系统有一个主系统线程,可以完成管理其他线程等任务 - 不,不是先占式多线程操作系统,即。所有有效的。

启动后,操作系统仅在“中断”时由线程输入。有软件中断 - 系统调用和通过驱动程序的硬件中断,可以改变线程的状态。在这些中断之间,操作系统什么都不做。没有中断:操作系统什么都不做。

我很欣赏这一点很难理解,特别是对于主要是穷人的“线程介绍”页面/章节,但就是这样。但是就是这样。

请注意一大堆东西重新开始。网络上的线程等不足,误导,过度简化或实际上是错误的。常见的错误关键短语:'time-slice','quantum','round-robin','timer-scheduled'。

答案 1 :(得分:2)

  

我知道操作系统有一个主系统线程,可以执行管理其他线程等任务......

在我熟悉的每个操作系统中,调度程序在发生任务切换时由所有CPU运行。没有“主系统线程”。