操作系统——进程的控制

220 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

进程的控制

创建新进程,撤销已有进程,实现进程状态转换的功能

  • 进程的创建

    • 登陆系统,作业调度,系统提供服务,用户程序的应用请求都会引起进程的创建
    • 分配一个进程标识号,并申请一个空白PCB,若申请失败,则创建失败
    • 为进程分配资源,为新进程的程序和数据分配内存空间,资源不足,阻塞状态
    • 初始化PCB
    • 若进程就绪队列能够容纳新进程,则将新进程插入就绪队列等待被调度
  • 进程的终止

    • 正常结束或者异常:存储区越界,保护错,非法指令,特权指令错,IO故障。
    • 根据被终止进程的标识符,找到对应PCB,读出进程状态
    • 对于执行状态,立即终止进程的执行,剥夺处理机
    • 如果该进程有子进程,终止子进程
    • 该进程的资源归还给父进程或操作系统
    • 将PCB从所在队列中删除
  • 进程的阻塞和唤醒

    • 找到对应的PCB
    • 若该进程为运行态,则保护现场,将其转为阻塞态,停止运行
    • 将PCB插入响应时间的等待队列
    • 资源足够时,找到对应的PCB
    • 将其从等待队列中移出,并置其状态为就绪态
    • 把PCB插入就绪队列中,等待调度程序调度
  • 进程切换

    • 处理机从一个进程转到另一个进程上运行
    • 保存处理机上下文,包括程序计数器和其他寄存器
    • 更新PCB
    • 把进程的PCB移入相应的队列,如就绪,阻塞
    • 选择另一个进程执行,并更新其PCB
    • 更新内存管理的数据结构
    • 恢复处理机上下文