文章同步到:OSTEP notes - moon_orange - 博客园
Introduction
Operating Systems: Three Easy Pieces
https://github.com/remzi-arpacidusseau/ostep-homework
Index of /~remzi/OSTEP/Chinese
Virtualization
Processes
content
进程状态切换:
进程数据结构 process list process control block(PCB)
homework
PROCESS_SWITCH_BEHAVIOR:
- SWITCH_ON_IO 站在调度器的角度,当某进程io阻塞时,可执行其他进程指令
- SWITCH_ON_END 站在调度器的角度,进程之间io和cpu指令不可并行执行,完全将程序串行化
IO_DONE_BEHAVIOR:
- IO_RUN_IMMEDIATE 站在单个进程的角度,上一次io结束后,立即抢在其他进程前执行io
- IO_RUN_LATER 站在单个进程的角度,上一次io结束后,不着急抢在等其他进程前执行io
通过homework可以大致了解,在大部分情况下,SWITCH_ON_IO + IO_RUN_IMMEDIATE 可以提高cpu和io的使用率。这种组合在出现io阻塞时可以及时让出cpu,并能在io执行完后立即再次调用(即便io命令插队)。
process API
content
homework