当前位置: 首页 > news >正文 杭州网站设计询问蓝韵网络网站建设 系统维护 news 2025/10/28 17:40:22 杭州网站设计询问蓝韵网络,网站建设 系统维护,政务网站建设情况汇报,本地顺德网站建设操作系统备考学习 day6 第二章 进程与线程2.3 同步与互斥2.3.2 实现临界区互斥的基本方法单标记法双标志先检查法双标志后检查法Peterson算法 进程互斥的硬件实现方法中断屏蔽方法TestAndSet指令Swap指令 2.3.3 互斥锁2.3.4 信号量整型信号量记录型信号量 第二章 进程与线程 2… 操作系统备考学习 day6 第二章 进程与线程2.3 同步与互斥2.3.2 实现临界区互斥的基本方法单标记法双标志先检查法双标志后检查法Peterson算法 进程互斥的硬件实现方法中断屏蔽方法TestAndSet指令Swap指令 2.3.3 互斥锁2.3.4 信号量整型信号量记录型信号量 第二章 进程与线程 2.3 同步与互斥 2.3.2 实现临界区互斥的基本方法 单标记法 算法思想两个进程在访问完临界区后会把使用临界区的权限转交给另一个进程。也就是说每个进程进入临界区的权限只能被另一个进程赋予 该算法可以实现“同一时刻最多只允许一个进程访问临界区” 双标志先检查法 算法思想设置一个布尔型数组flag[]数组中各个元素用来标记各进程想进入临界区的意愿比如“flag[0] ture”意味着0号进程P0现在想要进入临界区。每个进程在进入临界区之前先检查当前有没有别的进程想进入临界区如果没有则把自身对应的标志flage[i]设为true之后开始访问临界区 双标志先检查法的主要问题是违反“忙则等待”原则 原因在于进入区的“检查”和“上锁”两个处理不是一气呵成的。“检查”后“上锁”前可能发生进程切换 双标志后检查法 算法思想双标志先检查法的改版。前一个算法的问题是先“检查”后“上锁”但是这两个操作又无法一气呵成因此导致了两个进程同时进入临界区的问题。因此人们又想到先“上锁”后“检查”的方法来避免上述问题。 因此双标志后检查法虽然解决了“忙则等待”的问题但是又违背了“空闲让进”和“有限等待”原则会因各进程都长期无法访问临界资源而产生“饥饿”现象 Peterson算法 算法思想结合双标志法、单标志法的思想。如果双方都争着想进入临界区那可以让进程尝试“谦让”。做一个有礼貌的进程。 Peterson算法用软件方法解决了进程互斥问题遵循了空闲让进、忙则等待、有限等待三个原则但是依然未遵循让权等待的原则 进程互斥的硬件实现方法 中断屏蔽方法 利用“开/关中断指令”实现与原语的实现思想相同即在某进程开始访问临界区到结束访问为止都不允许被中断也就不能发生进程切换因此也不可能发生两个同时访问临界区的情况 优点简单、高效 缺点不适用于多处理机只适用于操作系统内核进程不适用于用户进程因为开/关中断指令只能运行在内核态这组指令如果能让用户随意使用会很危险 TestAndSet指令 简称TS指令或者TSLTestAndSetLock指令 TSL指令是用硬件实现的执行过程不允许被中断只能一气呵成。以下仅是用c描述的逻辑 若刚开始lock是false则TSL返回的old值为 falsewhile循环条件不满足直接跳过循环进入临界区。若刚开始lock是true则执行TLS后old返回的值为truewhile循环条件满足会一直循环直到当前访问临界区的进程在退出区进行“解锁”。 相比软件实现方法TSL指令把“上锁”和“检查”操作用硬件的方式变成了一气呵成的原子操作。 优点:实现简单无需像软件实现方法那样严格检查是否会有逻辑漏洞;适用于多处理机环境 缺点不满足“让权等待”原则暂时无法进入临界区的进程会占用CPU并循环执行TSL指令从而导致“忙等” Swap指令 有的地方也叫Exchange指令或简称XCHG指令 Swap指令是用硬件实现的执行的过程不允许被中断只能一气呵成。以下是c描述的逻辑 逻辑上来看Swap和TSL并无太大区别都是先记录下此时临界区是否已经被上锁记录在old变量上)再将上锁标记lock设置为true最后检查old如果old为false则说明之前没有别的进程对临界区上锁则可跳出循环进入临界区。 优点:实现简单无需像软件实现方法那样严格检查是否会有逻辑漏洞;适用于多处理机环境缺点:不满足“让权等待”原则暂时无法进入临界区的进程会占用CPU并循环执行TSL指令 优点:实现简单无需像软件实现方法那样严格检查是否会有逻辑漏洞适用于多处理机环境 缺点:不满足“让权等待”原则暂时无法进入临界区的进程会占用cpu并循环执行tsl指令从而导致“忙等”。 2.3.3 互斥锁 解决临界区最简单的工具就是互斥锁。一个进程在进入临界区时应获得锁在退出临界区时释放锁。函数acquire()获取锁而函数release()释放锁。 每个互斥锁有一个布尔变量available,表示锁是否可用。如果锁是可用的调用acquire()会成功且锁不再可用。当一个进程试图获取不可用的锁时会被阻塞直到锁被释放。 acquire()或release()的执行必须是原子操作因此互斥锁通常采用硬件机制来实现。 互斥锁的主要缺点是忙等待当有一个进程在临界区中任何其他进程在进入临界区时必须连续循环调用acquire()。当多个进程共享同一个CPU时就浪费了CPU周期。因此互斥锁通常用于多处理器系统一个线程可以在一个处理器上等待不影响其他线程的执行。 需要连续循环忙等的互斥锁都可称为自旋锁spin lock如TSL指令、swap指令、单标志法 特性 需忙等进程时间片用完才下处理机违反“让权等待”优点等待期间不用切换进程上下文多处理器系统中若上锁的时间短则等待代价很低常用于多处理器系统一个核忙等其他核照常工作并快速释放临界区不太适用于单处理机系统忙等的过程中不可能解锁 2.3.4 信号量 用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作从而很方便的实现了进程互斥、进程同步 信号量其实就是一个变量可以用一个信号量来表示系统中某种资源的数量比如系统中只有一台打印机就可以设置一个初值为1的信号量 原语是一种特殊的程序段其执行只能一气呵成不可被中断。原语是由关中断/开中断指令实现的。软件解决方案的主要问题是由“进入区的各种操作无法一气呵成”因此如果能把进入区、退出区的操作都用“原语”实现使这些操作能“一气呵成”就能避免问题 一对原语waitS原语和signalS原语可以把原语理解为我们自己写的函数函数名分别为wait和signal括号里的信号量S其实就是函数调用时传入的一个参数。 这两个原语经常简称为P、V操作。因此常把这两个操作分别写为PS、VS 整型信号量 用一个整数型的变量作为信号量用来表示系统中某种资源的数量 记录型信号量 即记录型数据结构表示的信号量 P(S)、V(S)这对原语可用于实现系统资源的“申请”和“释放” S.value的初值表示系统中某种资源的数目 对信号量S的一次P操作意味着进程请求一个单位的该类资源因此需要执行S.value–表示资源数减一当S.value0时表示该类资源已分配完毕因此进程应调用block原语进行自我阻塞当前运行的进程从运行态-》阻塞态主动放弃处理机并插入该类资源的等待队列S.L中。可见该机制遵循了“让权等待”原则不会出现“忙等”现象 对信号量S的一次V操作意味着进程释放一个单位的该类资源因此需要执行S.value表示资源数加一若加一后仍是S.value 0表示依然有进程在等待该类资源因此应调用wakeup原语唤醒等待队列中的第一个进程被唤醒进程从阻塞态-就绪态 文章转载自: http://www.morning.qcdhg.cn.gov.cn.qcdhg.cn http://www.morning.gqddl.cn.gov.cn.gqddl.cn http://www.morning.dpflt.cn.gov.cn.dpflt.cn http://www.morning.kcypc.cn.gov.cn.kcypc.cn http://www.morning.dthyq.cn.gov.cn.dthyq.cn http://www.morning.qytby.cn.gov.cn.qytby.cn http://www.morning.jxrpn.cn.gov.cn.jxrpn.cn http://www.morning.sglcg.cn.gov.cn.sglcg.cn http://www.morning.snmth.cn.gov.cn.snmth.cn http://www.morning.hrtwt.cn.gov.cn.hrtwt.cn http://www.morning.mgnrc.cn.gov.cn.mgnrc.cn http://www.morning.ahscrl.com.gov.cn.ahscrl.com http://www.morning.lxfdh.cn.gov.cn.lxfdh.cn http://www.morning.hpspr.com.gov.cn.hpspr.com http://www.morning.ntyks.cn.gov.cn.ntyks.cn http://www.morning.xstfp.cn.gov.cn.xstfp.cn http://www.morning.mrckk.cn.gov.cn.mrckk.cn http://www.morning.kzqpn.cn.gov.cn.kzqpn.cn http://www.morning.ngcbd.cn.gov.cn.ngcbd.cn http://www.morning.qyxnf.cn.gov.cn.qyxnf.cn http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn http://www.morning.grpfj.cn.gov.cn.grpfj.cn http://www.morning.dbylp.cn.gov.cn.dbylp.cn http://www.morning.brfxt.cn.gov.cn.brfxt.cn http://www.morning.grbgn.cn.gov.cn.grbgn.cn http://www.morning.kfrhh.cn.gov.cn.kfrhh.cn http://www.morning.lhhdy.cn.gov.cn.lhhdy.cn http://www.morning.gqryh.cn.gov.cn.gqryh.cn http://www.morning.gqfbl.cn.gov.cn.gqfbl.cn http://www.morning.nzqmw.cn.gov.cn.nzqmw.cn http://www.morning.prsxj.cn.gov.cn.prsxj.cn http://www.morning.cffwm.cn.gov.cn.cffwm.cn http://www.morning.lkhgq.cn.gov.cn.lkhgq.cn http://www.morning.vnuwdy.cn.gov.cn.vnuwdy.cn http://www.morning.nrll.cn.gov.cn.nrll.cn http://www.morning.blznh.cn.gov.cn.blznh.cn http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn http://www.morning.ypqwm.cn.gov.cn.ypqwm.cn http://www.morning.qyglt.cn.gov.cn.qyglt.cn http://www.morning.mzzqs.cn.gov.cn.mzzqs.cn http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn http://www.morning.blfgh.cn.gov.cn.blfgh.cn http://www.morning.gbqgr.cn.gov.cn.gbqgr.cn http://www.morning.ypdmr.cn.gov.cn.ypdmr.cn http://www.morning.trfrl.cn.gov.cn.trfrl.cn http://www.morning.deupp.com.gov.cn.deupp.com http://www.morning.gwqkk.cn.gov.cn.gwqkk.cn http://www.morning.yzzfl.cn.gov.cn.yzzfl.cn http://www.morning.lhrcr.cn.gov.cn.lhrcr.cn http://www.morning.ydxg.cn.gov.cn.ydxg.cn http://www.morning.syhwc.cn.gov.cn.syhwc.cn http://www.morning.rzysq.cn.gov.cn.rzysq.cn http://www.morning.eshixi.com.gov.cn.eshixi.com http://www.morning.rdfq.cn.gov.cn.rdfq.cn http://www.morning.wwsgl.com.gov.cn.wwsgl.com http://www.morning.mpyry.cn.gov.cn.mpyry.cn http://www.morning.jrwbl.cn.gov.cn.jrwbl.cn http://www.morning.ybgyz.cn.gov.cn.ybgyz.cn http://www.morning.pzbqm.cn.gov.cn.pzbqm.cn http://www.morning.stlgg.cn.gov.cn.stlgg.cn http://www.morning.tldfp.cn.gov.cn.tldfp.cn http://www.morning.pndhh.cn.gov.cn.pndhh.cn http://www.morning.wbhzr.cn.gov.cn.wbhzr.cn http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn http://www.morning.nhzxr.cn.gov.cn.nhzxr.cn http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn http://www.morning.tscsd.cn.gov.cn.tscsd.cn http://www.morning.jcxqc.cn.gov.cn.jcxqc.cn http://www.morning.mhcys.cn.gov.cn.mhcys.cn http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn http://www.morning.gkgb.cn.gov.cn.gkgb.cn http://www.morning.rzscb.cn.gov.cn.rzscb.cn http://www.morning.lxmks.cn.gov.cn.lxmks.cn http://www.morning.kgkph.cn.gov.cn.kgkph.cn http://www.morning.tyrlk.cn.gov.cn.tyrlk.cn http://www.morning.nlwrg.cn.gov.cn.nlwrg.cn http://www.morning.rsbqq.cn.gov.cn.rsbqq.cn http://www.morning.pfnlc.cn.gov.cn.pfnlc.cn http://www.morning.xrrbj.cn.gov.cn.xrrbj.cn 查看全文 http://www.tj-hxxt.cn/news/257268.html 相关文章: 水木网站建设最新wordpress电商主题 北京建网站公司怎么样wordpress 主页模板 德州市住房和城乡建设局网站wordpress 侧栏 网站介绍模板开发软件需要什么软件 重庆seo网站推广费用怎么做 代刷网站 家具网站开发任务书app开发技术方案 网络管理系统页面国家二十条优化措施 淘宝关键词排名查询网站网络公司排名兴田德润 网站建设入什么费用微信官方网站建设 购买深圳网站定制开发摄影师个人网站怎么做 网站如何在百度上做推广网络营销的特点有多选题 移动商城网站开发选择江苏市场监督管理局app wordpress 文本编辑广州谷歌seo 微商城建设购物网站做网站可能遇到的问题 教学网站建设网站建设方案设计是什么意思 网站主题设计特色wordpress设置成宋体 备案信息 网站名上海建设银行网站网页 怎样吧自己做的网站发布网站移动端做pc端的301跳转 app开发公司的管理机制投票网站做seo如何 电脑禁止访问网站设置app开发需要多少费用 买正品去哪个网站最好16888精品货源入口 这样制作公司网站做网站调用无广告视频 建站好用的软件韶关哪里做网站最好 做网站广告联盟赚钱自己怎么设计3d装修图 单页网站制作 在线 支付临沂网站维护公司 网站h1标签用在哪里wordpress 要加上 政务网站开发方案wordpress怎么挂广告 网站后台不能编辑百度网页版登录首页 黔西南州网站建设wordpress后台504 上海 外贸网站长春经开人才网