软考(中级数据库)4 操作系统基础(4.1)进程管理

4.1 进程管理

4.1.1 操作系统的基本概念

操作系统的定义:能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统的工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。

操作系统两个重要的作用:(1) 通过资源管理提高计算机系统的效率。(2)改善人机界面向用户提供友好的工作环境。

操作系统的4个特征:并发性、共享性、虚拟性和不确定性。

操作系统的五大功能:进程管理、文件管理、存储管理、设备管理和作业管理。

4.1.2 进程的基本概念

进程是程序的一次执行。

进程通常是由程序、数据和进程控制块(PCB) 组成的。

进程是资源分配和独立运行的基本单位,进程两个基本属性:可拥有资源的独立单位;可独立调度和分配的基本单位。

4.1.3 进程的状态转换

运行:当一个进程在处理机上运行时,则称该进程处于运行状态。

就绪:一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。

阻塞:也称等待或睡眠状态,一个进程正在等待某一事件发生而暂时停止运行。

4.1.4 进程间的同步与互斥

进程间的同步:是指在系统中一些需要相互合作,协同工作的进程,这样的相互联系称为进程的同步。

进程间的互斥:是指系统中多个进程因争用临界资源而互斥执行。

临界资源:是指有些资源一次只能供一个进程使用。如打印机、共享变量等。

4.1.5 信号量机制(P、V操作)

信号量是一个整型变量,根据控制对象的不同被赋予不同的值。

(1)公用信号量:实现进程间的互斥,初值为1或资源的数目。

(2) 私用信号量:实现进程间的同步,初值为0或某个正整数。

信号量S的物理意义:S≥0表示某资源的可用数,S<0,则其绝对值表示阻塞队列中等待该资源的进程数。

PV操作是实现进程同步与互斥的常用方法,P操作和V操作是低级通信原语,在执行期间不可分割。其中,P操作表示申请一个资源,V操作表示释放一个资源。

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

举例:A、B、C、D、E共用两台打印机,S=2代表只有两台打印机。(3台就S=3)

S=2 ___P(A)___ S=1 ____P(B)____S=0___P(C)__S=-1..........     当s=-1,代表有C1个在等待,以此类推。

V操作的定义:S=S+1,若S>0,则执行V操作的进程继续执行;若S≤0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。

举例:接着上面的例子,当A用完了,S=S+1=-1+1=0;S=0,唤醒C进程(从阻塞状态到就绪状态),如果B也用完了,S=S+1=0+1=1>0,于是不用唤醒其他进程,直接让C进程执行。

Tip:多个进程共享一台打印机问题(互斥模型) :

互斥信号量S的初值为1。

P(S)-----使用打印机------V(S)------后续代码

这里为互斥通过模型,先用P(S)锁住资源,告诉其他资源不要来抢。然后用完了V(S)告诉其他进程,让其他进程就绪。

4.1.6 生产者消费者问题

生产者进程P1不断地生产产品送入缓冲区,消费者进程P2不断地从缓冲区中取产品消费。

核心思想:缓冲区相当一个小仓库只能放一个资源,缓冲区空的时候生产者才能放入,缓冲区有东西的时候消费者才能拿。

S1:同步/互斥信号量,初值为1,代表缓冲区可放入的产品数量。

S2:同步信号量,初值为0,代表缓冲区可消费的产品数量。

 4.1.7 死锁

死锁:是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。

例:现有5个进程,每个进程都需要4个资源,而系统共有15个 资源,会发生死锁吗?

问:系统中共有n个进程共享同一类资源,当每个进程都需要k个资源时,至少需要多少个资源才不会发生死锁?
答:至少需要资源: M = (k-1)X(n+1)

4.1.8 银行家算法

假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为8、7和4,在T时刻系统中有P1,P2, P3,P4,P5这5个进程,这些进程对资源的最大需求量和已分配资源数如下图所示。那么进程按什么序列执行,系统状态是安全的。

解题思路:首先把已分配资源数加起来最后得到7、6、4,然后把五个进程还需要的资源数算出来,例P1还需要5、3、1等等,把可用资源数8、7、4减去已分配资源数7、6、4得到剩余资源数1、1、0,和五个进程还需要资源数进行比较,发现只有P4还需要的资源能由剩余资源数提供,那么先执行进程P4,剩下的步骤以此类推。

**************************************************************************************************************

例题部分:

1.

实在搞不懂PV操作,理解加背下答案就行,其中有些对应(对称)的关系。

选V(S2)、P(S2)、V(S1).

2.

S=1,表示我这个终端把一张票卖出去之后,其他终端不能再卖这张票。a是P(S)锁住这一资源,后面不管是有票还是没票,又要给个说法,即V(S)

3.

4.

tip:箭头从R指向P表示R把资源给到P,从P指向R表示P向R申请资源。 

5. 设计操作系统时不需要考虑的问题是( D)。
A.计算机系统中硬件资源的管理
B.计算机系统中软件资源的管理
C.用户与计算机之间的接口
D.语言编译器的设计实现
 







 


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值