操作系统笔记————进程
进程概念
进程控制块(PCB/TCB)
作为下列信息的仓库
- 进程状态:新的,就绪,运行,等待,停止
- 程序计数器:下个指令的地址
- CPU寄存器
- CPU调度信息:优先级,调度队列
- 内存管理信息
- 记账信息:时间等
- I/O状态信息
进程调度
- 作业队列:包括所有进程
- 就绪队列:内存中就绪的,等待运行的继承
- 设备队列:等待I/O设备的进程
调度程序
通过调度器或者调度程序选择进程
长期调度程序:从缓冲池中选择进程加到内存,以便执行
短期调度程序:从准备执行的进程中选择进程
I/O密集型进程:IO多
CPU密集型进程:CPu运算多
上下文切换
中断发生时,系统保存当前运行在CPU上的进程的上下文,以便在处理后能够恢复,上下文采用PCB表示,包括CPU寄存器的值,进程状态等。
- 上下文切换:切换CPU到另一个进程需要保存当前进程状态和恢复另一个进程的状态。
进程运行
进程创建
fork()
每一个进程都用一个唯一的整型进程标识符来标识,通过
fork()课创建新进程,子进程调用fork()的返回值为0,父进程返回值为子进程的pid
exec()
调用fork之后,进程使用exec可以用新程序取代进程的内存空间
进程终止
通过exit()进程终止,父进程可通过wait()等待子进程终止,还可通过参数获得子进程的退出状态
进程间通信
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Runder 的理想国!


