文件名称:进程调度-轻松实现高速串行io--fpga应用设计者指南
文件大小:3.09MB
文件格式:PDF
更新时间:2024-06-29 04:49:04
UNIX 系统 内幕 pdf
2.6 进程调度 CPU 是一个由所有进程共享的资源。内核中在进程间分配 CPU 时间的那部分称为调度器 (scheduler)。传统 UNIX 调度器使用抢占式轮转调度、相同优先级的进程以轮转方式调度, 每个运行一个固定的时间片(通常是 100 毫秒)。若有一个更高优先级的进程准备就绪, 无论当前进程是否用完其时间片,它都会被那个高优先级进程抢占(除非当前进程正在内核 态运行)。 传统UNIX中系统,进程优先级由两个因素决定的—nice值和usage因子。用户通过nice 系统调用更改进程的 nice 值,影响进程的优先级(只有超级用户可以增加进程优先级)。 usage 因子是对进程近期使用 CPU 的度量。它允许内核动态的改变进程优先级。当进程不在 运行时,内核定期增加它的优先级。当进程正在占用 CPU 时间时,内核减少其优先级。由 于就绪进程的优先级最终会升到足够高而被调度,这种策略会防止某些进程的饿死现象。 在内核中运行的进程由于阻塞于资源或事件而放弃 CPU。当它再次变为就绪后,它被赋