我读了一些相关的文章:
(1)罗伯特·洛夫:
You cannot sleep in an interrupt handler because interrupts do not have a backing
process context, and thus there is nothing to reschedule back into. In other
words, interrupt handlers are not associated with a task, so there is nothing to
"put to sleep" and (more i
我一直在研究Linux内核的子系统。在这里,编写的是Linux内核负责上下文切换(允许另一个进程使用CPU)。下面是内核执行上下文切换的步骤:
CPU (实际硬件)基于内部定时器中断当前进程,切换到内核模式,并将控制交给内核。内核记录CPU和内存的当前状态,这对于恢复interrupted.The内核执行前一段时间可能出现的任何任务(例如从输入和输出收集数据,或者I/O,operations).The内核现在准备好让另一个进程运行)是必不可少的。内核分析准备运行的进程列表并选择一个进程。内核为这个新进程准备内存,然后准备CPU。内核告诉CPU新进程的时间切片将持续多长时间。内核将CPU切换到用