第三章:进程
进程概述
- 概念:执行中的程序
- 进程状态:新的、运行、等待、就绪、终止
进程控制块(PCD)
- 是什么?
process control block,包含与一个特定进程相关的信息。 - 包含什么?
进程状态、程序计数器、CPU寄存器、CPU调度信息、内存管理信息、记账信息、I/O状态信息。
进程操作
创建:fork()
pid进程标识符
创建过程中的两种可能:父进程与子进程并发执行;父进程等待,直到某个或全部子进程执行完。
新进程的地址空间两种可能:子进程是父进程的复制品(和父进程相同的程序与数据);子进程装入另一个新程序。终止:exit()
进程间通信
为什么?
信息共享、提高运算速度、模块化、方便两种机制
共享内存:通讯速度最快
消息传递:不需要避免冲突,更易实现
共享内存系统
有限缓冲的实现:通过循环数组和两个逻辑指针来实现,变量in指向缓冲区下一个空位,out指向缓冲中的第一个满位;当in==out,缓冲为空,当(in+1)%BUFFER_SIZE==out,缓冲为满。
消息传递系统
逻辑实现方法:
- 直接或间接通信
- 同步或异步通信
- 自动或显式缓冲
QUESTION:
1.长期、中期、短期调度之间的区别?
长期调度从大容量存储设备缓冲池中选择进程,并装入内存准备执行;短期调度从准备执行的进程中选择进程,并为之分配CPU;中期调度的核心是能将进程从内存或者CPU竞争中移出,之后,进程能被重新调入内存,并从中断处继续执行。
2.描述内核在两个进程间进行上下文切换的过程?
内核将旧进程的状态保存至PCB,然后装入经调度要执行的新进程的进程上下文。
文章来源: blog.csdn.net,作者:冰水比水冰,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/luoyhang003/article/details/45314661