
Process Scheduling
文章平均质量分 81
linux__kernel
这个作者很懒,什么都没留下…
展开
-
运行队列和优先级数组
The runqueue Data Structure The runqueue lists link the process descriptors of all runnable processes--that is, of those in a TASK_RUNNING state--except the swapper process (idle proc原创 2007-01-07 15:42:00 · 1718 阅读 · 0 评论 -
交互式进程和批处理进程
调度程序还提供了一种机制以支持交互进程 The scheduler provides one additional aide to interactive tasks: If a task is sufficiently interactive, when it exhausts its timeslice it will not be inserted into the expired a原创 2007-01-07 16:12:00 · 4342 阅读 · 1 评论 -
更新时间片 -- scheduler_tick()
时钟中断处理程序中会调用函数scheduler_tick(): 函数scheduler_tick()更新当前进程的time_slice;并根据time_slice的使用情况(剩余还是耗尽),来做进一步处理.scheduler_tick( ) Keeps the time_slice counter of current up-to-datevoid scheduler_tick(void){原创 2007-01-07 17:04:00 · 4021 阅读 · 2 评论 -
唤醒 -- try_to_wake_up()
唤醒操作通过函数wake_up进行,它会唤醒指定的等待队列上的所有进程。它调用函数try_to_wake_up,该函数负责将进程设置为 TASK_RUNNING状态,调用activate_task将此进程放入可执行队列,如果被唤醒的进程优先级比当前正在运行的进程的优先级高,还有设 置need_resched标志。通常哪段代码促使等待条件达成,它就负责随后调用wake_up()函数。原创 2007-01-08 09:57:00 · 5795 阅读 · 0 评论 -
调度进程 -- schedule()
调用schedule()的时机Direct invocation(直接调用) The scheduler is invoked directly when the current process must be blocked right away because the resource it needs is not available. In this case,原创 2007-01-08 12:15:00 · 2935 阅读 · 0 评论 -
等待队列
How Processes Are Organized------------------------------------ The runqueue lists group all processes in a TASK_RUNNING state. When it comes to grouping processes in other states, the various原创 2007-01-07 16:46:00 · 3225 阅读 · 1 评论 -
睡眠 -- sleeping
TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE Two states are associated with sleeping, TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE. They differ only in that tasks in the TASK_UNINTERRUPTIBL原创 2007-01-08 11:04:00 · 2945 阅读 · 0 评论 -
进程调度赖以运行的基础设施
Each process descriptor includes several fields related to scheduling: thread_info |--------------| +---|*task | | |--------------| | | | | |--------------| | |原创 2007-01-05 14:03:00 · 991 阅读 · 0 评论