阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第三章:进程描述和控制

1. 进程
  • 定义:
    • 一个正在执行的程序实例;
    • 能分配给处理器并执行的实体;
    • 一组由命令、当前状态、数据、一组相关的系统资源表征的活动单元。
  • 进程控制块来表示,包括:程序代码、标识符、状态、优先级、程序计数器、内存指针、上下文数据、I/O状态信息、记账信息。

2. 进程状态
  • 五状态模型:运行、就绪、阻塞、新建、终止。
  • 挂起态: 当进程被交换至磁盘中,设置为挂起态,这样能够拓展内存,让更多的进程并发运行,提高效率。挂起时也会有状态变化:阻塞/挂起态——I/O完成——变成就绪/挂起态。

3. 进程描述
  • 为了实现整个调度过程,还需维护多个表:内存表、I/O表、文件表、进程表。
  • 为了管理进程,需要特定的数据结构来描述一个进程的状态、资源等信息。
  • 通常,进程的属性集合被称为进程控制块(Process Control Block),进程的程序、数据、栈和属性的集合称为进程映像(Process Image)。进程表给出了每个进程映像的位置。
  • PCB中有三类信息
    • 进程标识信息:进程标识符。
    • 进程状态信息:用户可见寄存器、控制和状态寄存器、栈指针。
    • 进程控制信息:调度和状态信息包括:状态、优先级、调度信息、事件等。父子关系、进程间通信、存储管理、持有资源。
  • PCB的作用:操作系统中的进程调度、资源分配、中断控制、性能监控等模块都需要访问或更改PCB

4. 进程控制
  • CPU执行模式:一般都至少支持两种模式,用户模式和内核模式。为了保护操作系统和重要的操作系统表。由PSW中的一个bit来标识。
  • 进程创建: 1.为新进程分配一个PID;2.为进程分配空间; 3.初始化进程控制块; 4.将进程放置在合理的队列中; 5.创建或扩充其他数据结构,比如记账信息等。
  • 进程切换:
    • 何时切换:在操作系统从当前运行进程获取控制权的时候。时钟中断:时间片到达。I/O中断:发生I/O活动,高优先级调度。系统调用:显示请求系统服务。
    • 模式切换:处理器在检查到中断后,会将模式切换至内核模式,然后执行中断处理程序。
    • 进程切换步骤:
      1. 保存当前进程处理器上下文、寄存器、PC等;
      2. 更新进程PCB;
      3. 移动至相应队列;
      4. 选择另一进程运行;
      5. 更新所选进程PCB;
      6. 载入PC和其他寄存器的值。

5. 操作系统的运行
  • 无进程内核: 操作系统在所有进程之外,是一个整体运行,较为传统的老操作系统。
  • 在用户进程内执行: 在用户进程的上下文内执行所有操作系统的软件功能。操作系统作为用户调用的一组例程。不需要切换进程,只需要保存上下文并切换模式,然后执行操作系统功能,再返回。
  • 基于进程的操作系统: 把操作系统作为一组系统进程来实现。主要的内核功能被组织为独立的进程。在所有进程外,会有一些切换进程的代码。

6.UNIX SVR4的进程管理
  • 有9种状态。
  • 进程0产生进程1,进程1是系统中所有其他进程的祖先。
  • 进程描述比较复杂,由用户级上下文、寄存器上下文、系统级上下文三部分表示一个进程。
  • 进程创建由父进程调用 fork() 函数来实现。子进程与父进程代码一样、执行点一样,fork函数的返回值不同来区分。

7. 总结
  • 现代操作系统最基本的构件是进程。操作系统要让每个进程分配到处理器时间,协调他们的活动、管理冲突的请求、分配资源。
  • 操作系统要维护进程的描述或进程映像。包括进程地址空间和进程控制块。PCB有操作系统管理进程所需的所有信息。
  • 进程总是在不同状态之间切换。
  • 运行的进程会被中断或者系统调用打断。处理器会发生一次模式转换,将控制权交给操作系统的例程。例程处理完成后,会返回或者切换进程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值