要实现循环算法,“循环队列”被认为是最佳数据结构。
答案 0 :(得分:1)
在操作系统中哪个数据结构用于就绪队列?
这取决于操作系统。对于大多数现代操作系统,这是一种尽可能公平的算法。这可以是循环法,fifo,CFS(红黑树)或其他算法。就绪队列可以分为优先级。
创建或取消阻止进程时,可以将其附加在列表/队列的后面。只要它被阻挡,它也可以留在原地并跳过。
使用的内容还取决于使用与否的天气预占,默认情况下,它在通用操作系统(Linux / Windows / MacOS)中使用。
答案 1 :(得分:1)
Windows操作系统中哪个数据结构用于就绪队列?
我不知道,但我找到了一些可能包含答案的文章:
Processes, Threads, and Jobs in the Windows Operating System by Mark E. Russinovich and David A. Solomon - 搜索"就绪队列"
Internals of Windows Thread by Mahesh Bailwal - 搜索"就绪队列"
根据文章#1,处理器区域控制块内核对象(PRCB)中的字段称为ReadySummary
(位掩码32位),DeferredReadyListHead
(单链表),DispatcherReadyListHead
(实现就绪队列的32个列表条目的数组)。
您可以使用ReactOS
操作系统的源代码(文章#3)来了解有关Windows行为的更多信息。
答案 2 :(得分:1)
循环调度程序按照先到先得的原则选择进程。最先到达的就是最先被执行的。每个进程都在称为时间片的短时间内执行。当时间片到期时,会发生定时器中断。然后选择队列中的第一个执行,并将中断的进程放在队列的末尾。这种 FIFO 特性有利于将就绪队列实现为 FIFO 队列结构。