操作系统(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;

相关内容

热门资讯

山西太钢不锈钢股份有限公司 2... 来源:证券日报 证券代码:000825 证券简称:太钢不锈 公告编号:2026-001 本公司及董...
把自己的银行贷款出借给别人,有... 新京报讯(记者张静姝 通讯员邸越洋)因贷款出借后未被归还,原告牛女士将被告杨甲、杨乙诉至法院,要求二...
金价暴跌,刚买的金饰能退吗?有... 黄金价格大跌,多品牌设置退货手续费。 在过去两三天,现货黄金价格经历了“过山车”般的行情,受金价下跌...
预计赚超2500万!“豆腐大王... 图片来源:图虫创意 在经历了一年亏损后,“豆腐大王”祖名股份(003030.SZ)成功实现扭亏为盈。...
特朗普提名“自己人”沃什执掌美... 据新华社报道,当地时间1月30日,美国总统特朗普通过社交媒体宣布,提名美国联邦储备委员会前理事凯文·...
爱芯元智将上市:连年大额亏损,... 撰稿|多客 来源|贝多商业&贝多财经 1月30日,爱芯元智半导体股份有限公司(下称“爱芯元智”,HK...
一夜之间,10只A股拉响警报:... 【导读】深康佳A等10家公司昨夜拉响退市警报 中国基金报记者 夏天 1月30日晚间,A股市场迎来一波...
谁在操控淳厚基金?左季庆为谁趟... 2026年1月6日,证监会一纸批复核准上海长宁国有资产经营投资有限公司(下称“长宁国资”)成为淳厚基...
工商银行党委副书记、行长刘珺会... 人民财讯1月31日电,1月29日,工商银行党委副书记、行长刘珺会见来访的上海电气集团党委书记、董事长...
布米普特拉北京投资基金管理有限... 从亚马逊到联合包裹,一场席卷美国企业的“瘦身”行动正在持续。多家企业近期承认,近年来的扩张步伐迈得过...
酒价内参1月31日价格发布 飞... 来源:酒业内参 新浪财经“酒价内参”过去24小时收集的数据显示,中国白酒市场十大单品的终端零售均价在...
筹码集中的绩优滞涨热门赛道股出... 2025年以来,在受多重因素的刺激下,科技、航天、基础化工等热门赛道中走出轮番上涨的结构性行情,其中...
2026年A股上市公司退市潮开... 来源:界面新闻 界面新闻记者 赵阳戈 随着2026年序幕拉开,A股市场新一轮“出清”即将上演。...
雷军官宣新直播:走进小米汽车工... 【太平洋科技快讯】1 月 31 日消息,小米创办人、董事长兼 CEO 雷军在社交媒体发文宣布,将于 ...
现货黄金直线跳水,跌破5200... 新闻荐读 1月29日晚,现货黄金白银快速走低,回吐盘中全部涨幅。23:15左右,现货黄金跌破5300...
加拿大拟与多国联合设立国防银行 新华社北京1月31日电 加拿大财政部长商鹏飞1月30日说,加拿大将在未来数月与国际伙伴密切合作,推进...
马斯克大消息!SpaceX申请... 据券商中国,美东时间1月30日,路透社报道,据两位知情人士透露,马斯克旗下SpaceX公司2025年...
澳网:雷巴金娜2-1萨巴伦卡女... 北京时间1月31日,2026赛季网球大满贯澳大利亚公开赛继续进行,在女单决赛中,5号种子雷巴金娜6-...
春节前白酒促销热:“扫码抽黄金... 春节临近,白酒市场再现价格异动。 近日,飞天茅台批价拉升,有酒商直言“年前要冲2000元关口”,引发...