操作系统(2.4)--进程的描述与控制
创始人
2025-05-29 16:15:39
0次

四、进程同步

进程同步的主要任务是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。

1.基本概念 

1.1两种形式的制约关系 

在多道程序环境下,对于同处于一个系统中的多个进程,它们之间可能存在着以下两种形式的制约关系:
1)间接相互制约关系
多个程序在并发执行时,由于共享系统资源,如CPU、I/O 设备等,致使在这些并发执行的程序之间形成相互制约的关系。像打印机、磁带机这样的临界资源。

为了保证这些进程能有序地运行,对于系统中的这类资源,必须由系统实施统一分配,即用户在要使用之前,应先提出申请,而不允许用户进程直接使用。
2)直接相互制约关系
进程间的直接制约关系就是源于它们之间的相互合作。

例如,有两个相互合作的进程一输入进程 A和计算进程B,它们之间共享一个缓冲区。进程A通过缓冲向进程B提供数据。进程B从缓冲中取出数据,并对数据进行处理。但如果该缓冲空时,计算进程因不能获得所需数据而被阻塞。一旦进程 A把数据输入缓冲区后便将进程B唤醒;反之,当缓冲区已满时,进程A因不能再向缓冲区投放数据而被阻塞,当进程B将缓冲区数据取走后便可唤醒A。

1.2临界资源

限定进程只能互斥地访问的资源叫临界资源(指一次仅允许一个进程使用的资源)。

1.3临界区 

人们把在每个进程中访问临界资源的那段代码称为临界区。显然,若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥访问。一个访问临界资源的循环进程描述如下:

一定有四个区,顺序不变。 

repeat
entry section//进入区
critical section;//临界区
exit section//退出区
remainder section;//剩余区
until false;

1.4同步机制应遵循的规则

所有同步机制都应遵循下述四条准则:

  • (1)空闲让进。当无进程处于临界区时,表明临界资源处于空闲状态,应允许一一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。
  • (2)忙则等待。当已有进程进入临界区时,表明临界资源正在被访问,因而其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。
  • (3)有限等待。对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。
  • (4)让权等待。当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。

2.硬件同步机制

2.1关中断

关中断是实现互斥的最简单的方法之一。

进程在临界区执行期间,计算机系统不响应中断,从而不会引发调度,也就不会发生进程或线程切换。由此,保证了对锁的测试和关锁操作的连续性和完整性,有效地保证了互斥。

关中断的方法存在许多缺点:

①滥用关中断权力可能导致严重后果;

②关中断时间过长,会影响系统效率,限制了处理器交叉执行程序的能力

③关中断方法也不适用于多CPU系统,因为在一个 处理器上关中断并不能防止进程在其它处理器上执行相同的临界段代码。

2.2利用Test-and-Set指令实现互斥 

借助一条硬件指令———“测试并建立”

int TS(int *flag) // flag表示锁
{                 // flag=0为打开;为1为锁定
int temp;
temp=*flag;
*flag=1;//将锁锁定
return temp;//将锁的值作为函数值
};//函数值即为锁的当前状态值while TS(lock) skip;//设锁是lock,
临界区;
lock=0;

2.3利用交换指令swap实现互斥

对换指令,在Intel 80x86中又被称为XCHG指令,用于交换两个字的内容。

void swap(int *a,int *b)// 交换a、b的值
{ int temp; 
temp=*a;
*a=*b;
*b=temp;
};key=1;
do{
swap(& lock,&key);
}while key==1;
临界区
lock=0;

相关内容

热门资讯

在大吉订购APP订购交易亏损被...   近期,不少投资者反映在“大吉订购App”上投资白银、铂金等商品遭遇严重亏损。该平台宣称提供现货订...
铂银壹号APP商品订购交易亏损...   许多中小投资者误以为网上的“商品现货订购”是合规合法的理财渠道,殊不知这背后隐藏着巨大的合规风险...
兴鑫淘金APP贵金属订购交易亏...   白银、贵金属或其他商品类投资,除国家批准的正规期货交易场所及持牌期货公司外,市面上大量第三方交易...
铂银掘金APP无资质的违规平台...   铂银掘金等平台的投资者,往往是被“注册送现金”“充值返现券”“首单免亏”等广告话术吸引,进而下载...
八方淘金APP订购交易不合规,...   “八方淘金APP”“铂银掘金APP”“铂银壹号APP”等软件被指以“现货订购”为名,实际采用高杠...
在指尖订购APP订购商品亏损被...   指尖订购APP这类平台,表面是“订购交易”,实则是披着电商外衣的非法期货陷阱。绝大多数投资者被蒙...
在犀贝易购APP做商品订购交易...   市面上打着“现货投资”“贵金属交易”旗号的APP并不少,但真正合规、受监管的平台并不多。犀贝易购...
易达淘金APP虚假商品订购交易...   易达淘金APP存在严重的虚假宣传与违规交易行为。该平台打着“商品订购”的旗号,实则通过不合规的交...
大浪淘金APP白银订购亏损被骗...   大浪淘金APP最隐蔽的套路,在于其完全封闭的内盘交易系统。表面上,它宣称与国际贵金属市场接轨;实...
一品好购APP上订购白银出现亏...   一品好购APP原名“一品订购”,运营方为上海宝智未来信息技术有限公司。近期不少投资者反映在该平台...
九州订购APP贵金属订购投资骗...   九州订购APP正通过抖.音、快手、今日头条等平台大量投放投资广告,用“5元起投”“充值返现”“0...
坚锅淘金APP交易软件并不正规...   当前,市面上大量所谓的“现货商城订购”交易软件,早已偏离了正常的实物商品买卖,演变为高杠杆、高手...
斗金订购APP贵金属期货交易骗...   斗金订购APP的投资者往往被铺天盖地的广告宣传所诱导——注册即送现金、充值返现券等看似诱人的福利...
警惕!云启购APP违规经营,披...   "5元起投、充值返现、稳赚不赔"——这些诱人的广告语背后,可能是一个精心设计的金融陷阱。  近期...
量子淘金APP贵金属投资不合规...   "4元起投""充值返券""月入过万"——这些极具诱惑力的广告语在短视频平台、社交软件上铺天盖地。...
鑫汇智投APP贵金属商品订购骗...   鑫汇智投APP非法期货投资骗局,受害者在投资过程中根本不懂交易,也不去研究和验证这个平台是否正规...
矅光智策APP平台违规经营非法...   矅光智策APP对外宣称是“商城订购”“现货交易”,但查询其经营范围,并未显示具备开展现货期货交易...
黄金珠宝怎么选?内侧刻字都代表... 潮新闻客户端 记者 马焱 通讯员 任倩影 9月8日下午,“云游杭州 乐购金秋”——“浙城·浙放心”活...
原创 冰... 最近全球国债市场正在上演魔幻一幕: 美债、日债、欧债遭遇猛烈抛售,收益率冲到几十年新高,美国财政部都...
日韩股市开盘表现分化 上证报中国证券网讯 9月9日,日韩股市开盘表现分化,韩国综合指数开盘上涨0.26%,报6972.87...