版权声明:学习,哪有那么多条条框框~ https://blog.csdn.net/Irish_Moonshine/article/details/91128173
4.2 进程控制
4.2.1 进程控制的概念:
4.2.2 windows进程控制
4.2.3 Linux进程控制
4.2.1 进程控制的概念:
- 在进程生存全期间,对其全部行为的控制
四个典型的控制行为
- 进程创建
创建一个空白PCB
获得并赋予进程标识符ID
为进程分配空间
初始化PCB
插入相应的进程队列(默认就绪) - 进程撤销
撤销一个指定的进程
收回进程所占有的资源,撤销该进程的PCB
【递归撤销子进程】
3.进程阻塞
停止进程的执行,变为阻塞。
阻塞的时机/事件
请求系统服务/启动某种操作/新数据尚未到达/无新工作可作
4.进程唤醒
唤醒处于阻塞队列当中的某个进程
引起唤醒的时机/事件:系统服务由不满足变为满足/I/O完成
/新数据到达/进程提出新请求(服务)
4.2.2 windows进程控制
CreateProcess()//创建一个新的进程
-
创建新进程:
1.创建进程内核对象,创建虚拟地址空间
2.装载EXE和/或DLL的代码和数据到地址空间中
3.创建主线程和线程内核对象
4.启动主线程,进入主函数(main) -
结束进程:
ExitProcess(告知操作系统自己将要结束,温和的结束)
TerminateProcess(由任务管理器强制结束,暴力的结束)
4.2.3 Linux进程控制
创建进程 fork()
返回一个整型pid_t
pid_t pid = fork()
exec函数簇(包含若干函数)
功能:
装入一个指定的可执行程序运行
使子进程具有和父进程完全不同的新功能