2.3.3 操作系统之实现临界区进程互斥的硬件实现方法
文章目录
- 0.思维导图
- 1.中断隐藏方法
- 2.TestAndSet指令
- 3.Swap指令
0.思维导图
1.中断隐藏方法
2.TestAndSet指令
- 执行TSL指令时,它的内部运转逻辑:
- 假设lock现在为false,代表临界资源A空闲,那么我就可以访问这个资源,同时将lock=true,提醒别的进程,这个临界资源A我正在使用,让他们等等
- 假设lock为true,代表临界资源正在有人使用,所以我必须等待,并且将lock=true,并不影响什么,所以没关系,只是为了让lock为false时可以上锁,将上锁与检查在一个TSL指令完成。
3.Swap指令
- old是每个进程都要进行的一步,都必须将old=true
- 分析一下这样做的原因:
- 因为lock是某一特定临界资源的共享变量,当每一个进程准备访问这个特定的临界资源时,初始化old=true,然后进入while循环进行交换,如果当前lock是false,则交换后old=false,则当前进程可以跳出循环进入临界区代码段,同时因为交换,lock=old=true上锁,不让别的进程来打扰,别的进程会因为lock变为true,一直在while循环等待,当我使用完临界资源,则将lock=false,此时别的进程再交换old和lock就能判断old=false,可以跳出循环,使用临界资源。
参考:https://www.bilibili.com/video/av70156862?p=19
2.3.3 操作系统之实现临界区进程互斥的硬件实现方法相关推荐
- 2.3.2 操作系统之实现临界区进程互斥的软件实现方法
文章目录 0.思维导图 1.单标志法 2.双标志先检查法 3,双标志后检查法 4.Peterson算法 0.思维导图 软件实现方法的思想:在进入区设置并检查一些标志 来标明是否有进程在临界区中,若已有 ...
- 操作系统(二十)进程互斥的硬件实现方法
2.3.3进程互斥的硬件实现方法 目录 2.3.3进程互斥的硬件实现方法 2.3.3.1 中断屏蔽 2.3.3.2 TestAndSet指令(TSL指令) 2.3.3.3 SWAP指令 2.3.3.1 ...
- 王道操作系统考研笔记——2.3.3 进程互斥的硬件实现方法
文章目录 2.3.3 进程互斥的硬件实现方法 2.3.3.1 中断屏蔽方法 2.3.3.2 TestAndSet指令 2.3.3.3 Swap指令 2.3.3.4 小结 2.3.3 进程互斥的硬件实现 ...
- 操作系统之进程管理:9、进程互斥的硬件实现方法
9.进程互斥的硬件实现方法 思维导图 1.中断屏蔽方法 2.TestAndSet指令(TS指令.TSL指令) 3.Swap指令(XCHG指令) 思维导图 1.中断屏蔽方法 2.TestAndSet指令 ...
- 操作系统学习笔记02【进程控制——进程互斥的硬件实现方法】【自用】
1.进程控制 什么是进程控制? 如何实现进程控制: 为了避免把某一进程pbc从一个队列转移到另一个队列,但是并没有把pbc内的状态标志改为新的对应状态,从而导致pcb的状态标志与实际所处队列不一样这一 ...
- 2.12进程互斥的硬件实现方法
一.中断屏蔽法 利用开/关中断指令实现硬件的进程互斥 在指令执行前,先执行一个关中断指令(不允许当前指令中断),直到当前进程访问完临界区执行开中断后,别的进程才能进入临界区 优点:简单.高笑 缺点:不 ...
- 十四、进程互斥的硬件实现方法
一.知识总览 二.中断屏蔽方法 1.利用"开/关中断指令"实现(与原语的实现思想相同,即在某进程开始访问临界区到结束访问为止都不允许被中断,也就不能发生进程切换,因此也不可能发生两 ...
- 2.3.3 进程互斥的硬件实现方法
目录 思维导图 中断屏蔽方法 TestAndSet(TS/TSL) Swap指令(XCHG) 思维导图 中断屏蔽方法 TestAndSet(TS/TSL) Swap指令(XCHG)
- 进程互斥的硬件实现方法
中断屏蔽方法 TestAndSet指令 Swap指令
最新文章
- SQL SERVER性能优化综述
- acegis连接使用方法_正确打开效果器 连接方法和使用技巧必须要知道
- WebDriver API元素的定位
- 1495: 蛇行矩阵
- Java 简单五子棋程序的实现
- 几个常见的 Socket 连接错误及原因
- 华为ENSP模拟器的安装
- 16进制颜色代码转RGB代码
- 记一次3dmax操作入门(二)模型导入,选择和显示
- 医学软件项目开发(二):医学图像的显示及相关操作
- 关于组长、队长和团长
- lmp+heartbeat+drbd
- SQL on log : 同比分析各种指标
- Ubuntu 和 CentOS 根据命令查找软件包
- Pytorch ModuleNotFoundError: No module named ‘models‘
- Launcher 快捷方式、文件夹等的默认设置
- Til the Cows Come Home(dijkstra)
- Picasso框架源码解析(一)。
- apt、yum、dnf 和 pkg比较
- 【分享 10 个日常使用的脚本】