2.1操作系统概述-进程管理-同步互斥

操作系统

操作系统的三个重要的作用
  1. 管理计算机中运行的程序和分配各种软硬件资源;
  2. 为用户提供友善的人机界面。
  3. 为应用程序的开发和运行提供一个高效率的平台,
操作系统的4个特征

并发性、共享性、虚拟性、不确定性(异步性)。

操作系统的功能
  1. 进程管理
  2. 文件管理:辅存管理
  3. 存储管理:主存分配回收
  4. 设备管理:输入输出等设备
  5. 作业管理
操作系统的分类
  • 批处理操作系统
  • 分时操作系统
  • 实时操作系统
  • 网络操作系统:三种模式:集中模式、C/S模式、对等模式(P2P)
  • 分布式操作系统
  • 微型计算机操作系统:Windows、MacOS等
嵌入式操作系统主要特点
  1. 微型化
  2. 可定制
  3. 实时性
  4. 可靠性
  5. 易移植性

嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:片级初始化→板级初始化→系统初始化。

进程组成和状态

进程组成:

  • PCB 进程控制块(唯一标志)
  • 程序(描述进程要做什么)
  • 数据(存放进程执行时所需数据)

进程状态:

进程基础的状态,三态图。完善的五态图。

前趋图

可确认:任务间的并行、任务间的先后顺序。

进程资源图

用来表示进程和资源之间的分配和请求关系:

  • P代表进程,R代表资源,R方框中有几个圆球就表示有几个这种资源,在上图中,R1指向P1,表示R1有一个资源已经分配给了P1,P1指向R2,表示P1还需要请求一个R2资源才能执行。

  • 阻塞节点:某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续。如上图中P2。

  • 非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行。如上图中P1、P3。

  • 当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态

进程同步与互斥

  • 临界资源:各进程间需要以互斥方式对其进行访问的资源。

  • 临界区:指进程中对临界资源实施操作的那段程序。本质是一段程序代码。

  • 互斥:某资源(即临界资源)在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完后解锁才能被其他任务使用;如打印机。

  • 同步:多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题;如自行车和汽车。

  • 互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1。

  • 同步信号量:对共享资源的访问控制,初值一般是共享资源的数量。

PV操作

  • P操作:申请资源,S=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。

  • V操作:释放资源,S=S+1,若S>0,则执行V操作的进程继续执行;若5<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。

经典问题:生产者和消费者问题

三个信号量:

互斥信号量S0(仓库独立使用权),

同步信号量S1(仓库空闲个数),

同步信号量S2(仓库商品个数)。

生产者流程:
生产一个商品S
P(S0)
P(S1)
将商品放入仓库中
V(S2)
V(S0)

消费者流程:

P(S0)
P(S2)
取出一个商品
V(S1)
V(S0)

真题1

若用PV操作控制进程P1、P2、P3、P4和P5并发执行的过程,则需要设置5个信号S1、S2、S3、S4和S5,且信号量S1~S5的初值都等于零。下图中a和b处应分别填(26);c和d处应分别填写(27);e和f处应分别填写(28)。

解析:前趋图中每条线都可看做一个信号量S,根据前驱P判断后继V,PV成对出现的原则,P1执行后产生S1/S2两个信号量,所以a是V(S1)、V(S2);P(S1)执行需要S1,执行完产生信号量S3,所以b是V(S3);现在画出下图,可知cd流程为图中P3P5的连线,故cd为P(S2)和V(S4)。f为最后节点其执行需要S4、S5,P5的前趋还需要是S5,故e为V(S5),f为P(S4)P(S5)。

答案:

26、V(S1)V(S2)和V(S3)

27、P(S2)和V(S4)

28、V(S5)和P(S4)P(S5)

真题2

进程P1、P2、P3、P4、P5和P6的前趋图如下所示,若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为();空③和空④处应分别为();空⑤和空⑥处应分别为()。

答案:CBD

解析:如图


转载请注明来源,欢迎大家进行交流讨论。还可通过邮箱联系:youngdream365##qq.com (##替换为@)。

文章标题:2.1操作系统概述-进程管理-同步互斥     本文作者:YoungDream     字数:1.4k

发布时间:2024-08-10, 11:09:28     最后更新:2024-10-30, 14:27:45

原始链接:https://youngdream365.github.io/2024/08/10/%E8%BD%AF%E8%80%83/%E8%AF%BE%E7%A8%8B%E7%AC%94%E8%AE%B0/2-1%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%A6%82%E8%BF%B0-%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86-%E5%90%8C%E6%AD%A5%E4%BA%92%E6%96%A5/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

×

喜欢就点赞,疼爱就打赏~