进程的控制


创建

  1. OS内建 (core) OS 内核 -- 常驻内存 1. 中断处理模块 2. 设备驱动模块 3. 高频公用 OS 内核功能 1. 管理性 1. 处理器 2. 储存器 2. 支撑性 1. 终端 2. 时钟 3. 原语 最小,不可分割的指令 > block wakeup 等
  2. 处理机的执行状态

    1. 系统态(管态,内稳态)
      1. 具有 较高 权限
      2. 可执行 一切 指令
      3. 能够访问 所有 区域
    2. 用态(目态)
      1. 具有 较底 权限
      2. 可执行 规定 指令
      3. 能够访问 指定 区域
  3. 进程的创建

    1. 层次关系 UNIX 系统

      1. 父进程 创建子进程 ,子进程创建 下一级进程 -形成> 进程树
      2. 子进程 继承父进程所有资源
      3. 终止 子进程 归还资源 到父进程 终止 父进程 ,需终止全部子进程

        Windows采用 句柄 决定进程之间的关系

    2. 引起创建进程的事件

      1. 用户登陆 (分时系统)
      2. 作业调度 (多道批处理系统)
      3. 提供服务 (外置设备,如打印机) 创建一个公告进程
      4. 应用请求 (应用程序主动创建,请求)

引起进程终止的事件

1. 正常错误
2. 异常结束
3. 外界干预
    1. 死锁
    2. 父进程请求
    3. 父进程终止

终止的过程

1. 查找 PCB 
2. 读取

    1. 子进程
        > 若置调度标志为真 
    2. 父进程
        > 终止所有子进程
3. 归还
4. 从队列中 移除 PCB

进程的阻塞和唤醒

1. 引起阻塞的事件
    1. 请求资源失败 -》无法继续 -》 放弃处理机 -》 阻塞
    2. 等待 操作完成  如:I/O
    3. 新数据尚未到达
    4. 新任务尚未到达 
        > 无任务就一直阻塞 ,正常状态就是阻塞
2. 阻塞进程(调用 wakeup)
    停止 -》更改 -》插入(就绪队列)
3. 唤醒的进程
    移除() -》 更改 -》插入(就绪队列)

进程的挂起与激活

1. 挂起 suspend
    更改状态 - 》 调出至外存
2. 激活 wakeup
    调入内存 -》 更改状态