持续更新中…
1. 概念
1.1 问题来源
人们希望同时运行多个程序,但是只有少量的物理 CPU 可以使用,操作系统如何能够提供几乎有无数个 CPU 可用的假象?
1.2 怎么解决
操作系统通过虚拟化 CPU 来提供这种假象,让一个进程只运行一个时间片,然后切换到其他进程,操作系统提供了存在多个虚拟 CPU 的假象。
为了考虑性能开销,以及提供 CPU 虚拟,就会引入新的问题:
- 上下文切换 (context switch)
- 进程调度
1.3 术语概念
机制与策略:
机制: 是一些低级方法或协议,实现所需的功能(e.g. 上下文切换机制)
策略: 指在操作系统内做出某种决定的算法。
进程: 操作系统为正在运行的程序提供的抽象,它的机器状态(machine state,指程序员在运行过程中可以读取或更新的内容)最主要的是两个部分:
1. 地址空间(address space),指令存储在内存中,正在运行中的程序读取和写入的数据也在内存中。
2. 寄存器:很多指令明确地读取或更新寄存器,同时一些特殊的寄存器构成了机器状态的一部分:(PC,IP,SP,FP)
2. 进程相关
2.1 进程API
- 创建(create)
- 销毁(destory)
- 等待(wait)
- 其他控制(miscellaneous control)
- 状态 (status)
2.2 进程状态
- 运行
- 就绪
- 阻塞