操作系统
操作系统的三个重要的作用
- 管理计算机中运行的程序和分配各种软硬件资源;
- 为用户提供友善的人机界面。
- 为应用程序的开发和运行提供一个高效率的平台,
操作系统的4个特征
并发性、共享性、虚拟性、不确定性(异步性)。
操作系统的功能
- 进程管理
- 文件管理:辅存管理
- 存储管理:主存分配回收
- 设备管理:输入输出等设备
- 作业管理
操作系统的分类
- 批处理操作系统
- 分时操作系统
- 实时操作系统
- 网络操作系统:三种模式:集中模式、C/S模式、对等模式(P2P)
- 分布式操作系统
- 微型计算机操作系统:Windows、MacOS等
嵌入式操作系统主要特点
- 微型化
- 可定制
- 实时性
- 可靠性
- 易移植性
嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:片级初始化→板级初始化→系统初始化。
进程组成和状态
进程组成:
- 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 (##替换为@)。