HUST OS 4.2 进程控制【自学笔记】

版权声明:学习,哪有那么多条条框框~ 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 进程控制的概念:
  • 在进程生存全期间,对其全部行为的控制
    四个典型的控制行为
  1. 进程创建
    创建一个空白PCB
    获得并赋予进程标识符ID
    为进程分配空间
    初始化PCB
    插入相应的进程队列(默认就绪)
  2. 进程撤销
    撤销一个指定的进程
    收回进程所占有的资源,撤销该进程的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函数簇(包含若干函数)
功能:
装入一个指定的可执行程序运行
使子进程具有和父进程完全不同的新功能

猜你喜欢

转载自blog.csdn.net/Irish_Moonshine/article/details/91128173
4.2
今日推荐