操作系统
- 操作系统(5-6分)
- 操作系统概述
- 进程管理
- 进程和线程的基本概念
- 进程的状态 ★
- 前趋图 ★★★★
- 信号量与 PV 操作 ★★★★
- 死锁及银行家算法 ★
大家好呀!我是小笙,本章我主要分享系统架构设计师 - 操作系统(1)知识,希望内容对你有所帮助!!
操作系统(5-6分)
操作系统概述
- 管理系统的硬件、软件、数据资源
- 控制程序运行
- 人机之间的接口
- 应用软件与硬件之间的接口
例题
计算机系统中硬件层之上的软件通常按照三层来划分,如下图所示,图中①②③分别表示 操作系统、其他系统软件和应用软件
- 操作系统、应用软件和其他系统软件
- 操作系统、其他系统软件和应用软件
- 其他系统软件、操作系统和应用软件
- 应用软件、其他系统软件和操作系统
进程管理
进程和线程的基本概念
进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成
进程控制块(PCB):PCB是进程存在的唯一标志。内容包含进程标识符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等
进程的2个基本属性:可拥有资源的独立单位;可独立调度和分配资源的基本单位
程序:是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是
例题
在支持多线程的操作系统中,假设进程P创建了若干个线程,那么 该进程中某线程的栈指针进程 是不能被这些线程共享的
- 该进程中打开的文件
- 该进程的代码段
- 该进程中某线程的栈指针进程
- 该进程的全局变量线程1
进程的状态 ★
三态模型
五态模型
例题
某计算机系统中的进程管理采用三态模型,那么下图所示的PCB(进程控制块)的组织方式采用 索引方式 ,图中 有2个运行进程,3个就绪进程,4个阻塞进程
- A 顺序方式 B 链接方式 C 索引方式 D Hash
- A 有1个运行进程,2个就绪进程,4个阻塞进程
- B 有2个运行进程,3个就绪进程,3个阻塞进程
- C 有2个运行进程,3个就绪进程,4个阻塞进程
- D 有3个运行进程,2个就绪进程,4个阻塞进程
前趋图 ★★★★
A,B,C 是 D 的前趋,E 是 D 的后继,五个进程只需要4个信号量
- 间接制约:相同设备之间的制约
- 直接制约:不同设备之间的制约
例题
进程P1、P2、P3和P4的前趋图如下所示:
若用PV操作控制进程P1~P4并发执行的过程,则需要设置5个信号量S1、S2、S3、S4和S5,且信号量S1-S5的初值都等于0。下图中a、b和c处应分别填写 V(S1)V(S2)、P(S1)P(S3)和V(S4) ;d、e和f处应分别填写 P(S2)、V(S3)V(S5)和P(S4)P(S5)
- A V(S1)V(S2)、P(S1)V(S3)和V(S4)
- B P(S1)V(S2、P(S1)P(S2)和V(S1)
- C V(S1)V(S2)、P(S1)P(S3)和V(S4)
- D P(S1)P(S2)、V(S1)P(S3)和V(S2)
- A P(S2)、V(S3)V(S5)和P(S4)P(S5)
- B V(S2)、P(S3)V(S5)和V(S4)P(S5)
- C P(S2)、V(S3)P(S5)和P(S4)V(S5)
- D VS2)、V(S3)P(S5)和P(S4)V(S5)
信号量与 PV 操作 ★★★★
进程的同步和互斥
- 互斥:如千军万马过独木桥(间接制约)
- 同步:速度有差异,在一定情况下停下等待(直接制约)
临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等
临界区:每个进程中访问临界资源的那段代码称为临界区
信号量:是一种特殊的变量
案例:生产者 &消费者
- 未使用 PV 操作
- 生产者:生产一个产品 -> 送产品到缓冲区
- 消费者:从缓冲区取产品 -> 消费产品
- 使用 PV 操作(S1初值为1,S2初值为0)
- 生产者:生产一个产品 -> P(S1) -> 送产品到缓冲区 -> V(S2)
- 消费者:P(S2) -> 从缓冲区取产品 -> V(S1) -> 消费产品
例题
某航空公司机票销售系统有个售票点,该系统为每个售票点创建一个进程Pi(i=1,2,…,n)管理机票销售。假设(Tj = 1,2,…,m)单元存放某日某航班的机票剩余票数,Temp为P进程的临时工作单元,x为某用户的订票张数。初始化时系统应将信号量S赋值为 1 。P进程的工作流程如下图所示,若用P操作和V操作实现进程间的同步与互斥,则图中空(a),空(b)和空©处应分别填入 **P(S),V(S)和V(S) **
- A 0 B 1 C 2 D 3
- A P(S),V(S)和V(S)
- B P(S),P(S)和V(S)
- C V(S),P(S)和P(S)
- D V(S),V(S)和P(S)
死锁及银行家算法 ★
概述:进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁
死锁的四大条件
- 互斥
- 保持和等待
- 环路等待
- 不剥夺
打破死锁的方式
- 有序资源分配法
- 银行家算法
例题
例:系统有3个进程:A、B、C。这3个进程都需要5个系统资源。如果系统至少有多少个资源,则不可能发生死锁。 【13】