软件设计师考试 操作系统基本原理

第一节操作系统概述 操作系统与计算机体系结构之间的关系
内容提要
第二节 进程管理—进程的状态 程序的三种基本状态(三态模型)
图注:等待状态下的程序缺少除cpu资源以外的其他资源 , 如用户指令或外设支持等资源;就绪状态的程序除了CPU资源以外的所有资源都已经准备就绪;处于就绪状态的程序需要排队获取CPU资源 , 且即使获取到了CPU资源 , 他们的运行时间也是有限的 , 因此 , 时间片到了以后就会从运行状态退出到就绪状态 , 而程序在运行时出现了某些资源的缺失则会退出至等待状态.
程序进程的五态模型(三态模型的发展)
图注:该模型是三态模型的发展 , 将就绪状态分为了静止就绪和活跃就绪 , 静止就绪是该进程已经获得了CPU资源 , 但由于人为需要 , 由运行状态将其退出至就绪状态 , 如我们在听歌时突然来了电话 , 我们暂时将音乐关闭 , 这种人为的将程序由运行态转至的就绪态 , 即为静止就绪 , 再次调动该程序时 , 该程序就将由静止就绪转至活跃就绪进而被调用;此外 , 阻塞态即为三态模型中的等待态
进程控制块的组织方式(分为索引方式和链接方式)
1.链接方式:把具有同一状态的进程(PCB) , 用其中的链接字链接成一个队列 。这样 , 可以形成就绪队列、若干个阻塞队列和空白队列等 。对其中的就绪队列常按进程优先级的高低排列 , 把优先级高的进程排在队列前面 。此外 , 也可以根据阻塞原因的不同而把处于阻塞状态的进程的PCB排成等待I/O操作完成的队列和等待分配内存的队列等
【软件设计师考试操作系统基本原理】2.索引方式:系统根据所有进程的状态建立若干索引表 。例如 , 就绪索引表、阻塞索引表等 , 并把各索引表在内存的首地址记录在内存的一些专用单元中 。在每个索引表的表目中 , 记录具有相应状态的某个PCB在PCB表中的位置
第三节.进程管理——前趋图
ps.常与pv操作结合起来考察
概念:前趋图是将一个完整的进程所需的工序按照是否具有先后关系将进程进行再次区分的图象
模型示例:
图注:该前趋图以包饺子这一工序为例 , 首先将包饺子分为了五大步骤 , 并根据步骤间是否具有先后约束关系将其分为三个大的步骤 , 这样做的好处是明确了A,B,C三个步骤是平行的 , 他们之间可以并行 , 这样可以增大CPU的处理效率 。
第四节 进程管理——进程的同步与互斥
ps.进程的同步与互斥是进行pv操作分析的前提
进程的互斥
互斥的概念:在同一时刻只允许某一个进程使用资源 , 即同一资源不能服务于多个进程
互斥的实际应用示例:
图注:单缓冲区下生产者和消费者的关系即为互斥 , 即生产者将产品投入到市场的时间片内消费者不能进行消费 , 只有当生产者完成产品的市场投放之后 , 消费者才能开始消费;这其中生产者的产品投放以及消费者的消费 。都可以看作是程序的两个进程
进程的同步
同步的概念:运行速度有差异的两个进程同时开始运行 , 在一定情况下 , 速度较快的进程会停下来等待速度较慢的进程
进程同步的实际应用示例:
图注:多缓冲区下生产者和消费者的关系即为同步 , 即生产者在将产品投入市场的同时 , 消费者也能够对产品进行消费 。但若一方速度较快 , 则另一方需要停下来等待