操作系统-进程

1.1进程的定义(操作系统71页)

  • 一个正在执行的程序
  • 一个正在计算机执行的程序实例
  • 能分配给处理器并由处理器执行的实体
  • 由一组执行指令、一个当前状态和一组相关的系统资源表征的活动单元

1.2进程的元素

  • 标识符
  • 状态
  • 优先级
  • 程序计数器
  • 内存指针
  • 上下文数据
  • I/o状态信息

1.3两状态进程模型(操作系统74页)

操作系统时刻跟踪记录进程在内存空间运行轨迹,新的进程状态是未运行状态,当进程状态被中断,分派器会选择一个新进程运行,前进程由运行态转为未运行态。等待执行的进程会放在等待队列中。

1.4进程创建和终止(操作系统74页)

进程创建时,操作系统需要创建管理进程数据结构,并且分配给它对应的内存地址空间。
进程引发创建另一个进程叫派生进程。父进程派生子进程。
进程中止:多种终止原因。

1.5五状态模型(操作系统75页)

  • 运行态:当只有一个处理器,最多只有一个进程处于当前状态
  • 就绪态:已在内存中并可以执行
  • 阻塞:已在内存中等待一个事件
  • 新建态:新创建进程,操作系统未把它加入可执行进程组,通常已经创建未加载到内存中
  • 退出态:操作系统从可执行进程组中释放的进程、自身停止、某种原因被取消
  • 阻塞\挂起态:进程已在外存中等待一个事件
  • 就绪\挂起态:进程已在外存,只要载入内存可执行

新建态的进程操作系统只会把进程的信息保存到进程表,进程的执行代码不在内存中,程序保留在外存。

状态转换事件(操作系统76页)

1.6操作系统控制结构(操作系统82页)

内存表:跟踪内存和外存,包含:

  • 分配给进程的内存
  • 分配进程外存
  • 内存块虚存块任何保护属性、如那些进程可以访问某些共享内存区域
  • 管理虚存需要信息
    IO表:
  • IO设备和通道
  • IO状态(可用、已分配进程)
  • IO传送源和目标内存单元
    文件表
  • 文件是否存在
  • 文件外存位置
  • 状态和属性信息
  • 进程表
  • 进程位置
  • 进程映像:程序、数据、栈、属性的集合。

进程控制块信息分三类(操作系统83页)

  • 进程标识信息
  • 进程状态信息
  • 进程控制信息

1.7进程执行模式(操作系统87页)

  • 用户模式
    用户进程一般在该模式下运行
  • 内核模式
    完全控制操作系统重要功能:
  • 进程管理:进程创建或终止
  • 内存管理:进程分配内存空间
  • IO管理:缓冲区管理
  • 支持功能:中断管理

1.8进程切换(操作系统88页)

什么时候切换进程:

  • 系统中断
  • 时钟中断
  • IO中断
  • 内存失效

出现中断,处理器会做如下工作

  • 将程序计数器置为中断处理程序的开始地址

  • 从用户模式切换到内核模式,以便处理代码包含特权指令

  • 处理器继续取指阶段,并取中断处理进程的第一条指令来服务该中断,将已中断进程上下文保存到中断进程的进程控制块。

上下文:中断处理程序所有可能改变的信息,以及恢复被中断程序需要所有信息,必须保存进程控制块部分。

完整进程切换步骤:

  • 保存处理器上下文
  • 更新当前处于运行态进程的进程控制块
  • 把该进程的进程控制块移到相应队列
  • 选择另外一个进程执行
  • 更新所选进程的进程控制块,把进程状态改为运行态
  • 更新内存管理数据结构
  • 载入程序计数器和其他寄存器,将处理的上下文恢复为所选进程上次退出运行的上下文

2.1UNIX进程管理(操作系统91页)

UNIX有9种进程状态:

  • 用户运行
  • 内核运行
  • 就绪,并驻留在内存中
  • 休眠,并驻留在内存中
  • 就绪,被交换
  • 休眠,被交换
  • 被抢占
  • 创建
  • 僵死
    UNIX进程映像
  • 用户级上下文
  • 寄存器上下文
  • 系统级上下文

2.2进程控制(操作系统94页)

UNIX创建进程由内核系统使用fork实现

  • 在进程表为新进程分配一个空项
  • 为子进程分配一个唯一进程标识符
  • 复制父进程的进程映像,共享内存外
  • 增加父进程拥有文件的计数器
  • 将子进程处就绪态
  • 将子进程ID返回给父进程,将0返回给子进程

所有这些工作在父进程内核模式执行,完成后继续分派器例程工作一部分如下三种之一

  • 停留在父进程中,控制权返回用户模式下父进程调用fork位置
  • 处理器控制权交给子进程,子进程执行代码,执行点与父进程相同
  • 控制权交给另外一个进程,父进程和子进程就绪态

你可能感兴趣的:(操作系统-进程)