进程的上下文切换

  • 停止当前运行进程,并且调度其他进程
    • 快速
    • 不能显示曾经被暂停过
    • 切换前存储进程上下文
  • 需要存储什么上下文
    • 寄存器(PC,SP,···)、cpu状态,···
  • 就绪队列、等待i/o队列、僵尸队列

进程控制

加载和执行进程
  • 系统调用exec()加载程序并替换当前进程
  • fork()的简单实现
  • vfork(),虚拟加载,只加载部分
  • copy on write技术,写时复制,在写的时候再复制一份至地址空间

    等待与终止进程
  • 父进程wait()等待子进程退出,通知操作系统回收子进程的PCB

  • 僵尸(zombie)进程:子进程已退出,等待被父进程回收
  • 操作系统定时去扫描僵尸进程,若发现其父进程不在时,会去回收其PCB所占用的空间
  • 进程终止是最终的垃圾合集