coursera 《现代操作系统》 -- 第五周 同步机制(1)
临界区块(Critical section)指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源有无法同时被多个线程访问的特性。(不是字面意思的一个区域,是程序片段的集合)
1. 为了完成一件事,汇编有时会分成多条指令进行执行。
2.进程有一定的时间片,用完了自己的时间片就会被切换下去。
这就带来了问题:如果没有执行完,就被切换下CPU,会造成意想不到的问题。
处理方法:
加锁
使用原语操作,不允许被中断(即使用完了时间片,也不下来;忽视抢占)
为什么需要同步?
1. 进程间的时序关系。但是初始状态下,任意进程都可能上CPU,它们是无序的
错题
3。
以下是解决进程互斥进入临界区的一种解法。
P:
… …
pturn = true;
while (qturn) ;
临界区操作
pturn = false;
… …
Q:
… …
qturn = true;
while (pturn) ;
临界区操作
qturn = false;
… …
其中,pturn、qturn的初值为false
如果P、Q两个进程同时想进入临界区,那么会发生下面哪一种情形?
条件并不是代码中写的那样,应该是:
所以答案是两者都不能进入
下列描述的四个现象中,哪一项既具有同步关系又具有互斥关系?
多个不同的用户进程一起玩麻将电子游戏
多个不同的用户进程编译自己的程序
多个不同的用户进程一起玩踢足球电子游戏
多个不同的用户订票进程访问票额数据库
互斥:两个或多个进程 在读写某些共享数据的时候,像这个 in 就是共享数据 而最后的结果取决于进程运行的一个精确的时序 就是时间序列,就是它一跟时间是相关的 那么这就是带来了竞争条件 所以竞争条件呢,是由于有这样一个共享的资源,共享的数据,而多个进程 都对这个数据进行相应的操作带来的 那么这样就产生了这样一个概念--进程互斥 由于在一个并发环境里头 多个进程,都要使用一些共享资源,像 一些变量啊,像一些文件啊,而这些资源呢 具有这样一个性质,它需要排他性的使用,也就是说我用 那么另外一个进程就不能用,这是一种排他性的使用 因此,各个进程之间对这个资源的使用 是一种竞争,是一种竞争,而这种竞争呢 我们就称之为进程的互斥
同步:互斥 它指的是进程之间具有一种竞争关系 而进程的同步呢实际上是指的多个进程之间的协作关系 那么什么是进程的同步呢? 它是指的在多个进程中 发生的事件存在着某种时序关系 需要这些进程相互合作,共同完成一项任务 更具体的一点来说,就是 有多个进程,其中一个进程执行到了某一点 它要求另外一个进程为它提供消息 而另外这个进程呢由于它们是相互合作的,所以是它的一个伙伴进程 因此第一个进程需要第二个进程给它提供消息 在没有获得这个消息的时候,也就是消息没有到达 那么这个事件还没有发生,那么前一个进程 就要进入阻塞态,就要等这个消息,一旦这个消息到达,也就是说这个事件发生了 就把前面这个进程唤醒,让它 重新就绪,实际上我们所谈的是一个进程之间的一个协作关系
感觉这个题目不严谨
足球游戏:
互斥:球是互斥的。只能被一个进程使用
同步:足球传递过来,才能进行下一步?
麻将游戏:
互斥:
同步:
在使用信号量及P、V操作机制解决问题时,进程执行一次P操作,意味着该进程
准备释放一个资源
正在使用一个资源
申请分配一个资源
需要共享一个资源
转载于:https://www.cnblogs.com/jay54520/p/6562421.html
coursera 《现代操作系统》 -- 第五周 同步机制(1)相关推荐
- 操作系统之进程的同步机制
文章目录 进程的同步机制 一.基本概念 1.进程同步机制的概念 2.为何要引入进程同步机制 3.临界资源 4.临界区 二.进程同步与互斥关系 1.同步 2.互斥 三.进程同步机制的四个基本原则 1.空 ...
- 8天玩转并行开发——第五天 同步机制(下)
承接上一篇,我们继续说下.net4.0中的同步机制,是的,当出现了并行计算的时候,轻量级别的同步机制应运而生,在信号量这一块 出现了一系列的轻量级,今天继续介绍下面的3个信号量 CountdownEv ...
- Linux kernel 同步机制(下篇)
之前的文章 Linux kernel同步机制 在上一部分,我们讨论了最基本常见的几类同步机制,这一部分我们将讨论相对复杂的几种同步机制,尤其是读写信号量和RCU,在操作系统内核中有相当广泛的应用. 读 ...
- 【操作系统】进程管理(五)—— 信号量机制
[操作系统]进程管理(五)-- 信号量机制 前言 一.信号量机制 信号量机制--整型信号量 信号量机制--记录型信号量 二.用信号量机制实现进程互斥.同步.前驱关系 信号量机制实现进程互斥 信号量机制 ...
- 操作系统(三)| 进程同步详解(主要任务、制约关系、临界资源、临界区、同步机制遵循规则、信号量机制、信号量的应用)
文章目录 进程的同步基本概念 进程同步的主要任务 进程间的制约关系 临界资源 临界区 同步机制应遵循的规则 信号量机制 整型信号量 记录型信号量 ❤❤❤ AND型信号量 信号量的应用 实现进程互斥 实 ...
- 从根上理解高性能、高并发(四):深入操作系统,彻底理解同步与异步
本文原题"从小白到高手,你需要理解同步与异步",转载请联系作者. 1.系列文章引言 1.1 文章目的 作为即时通讯技术的开发者来说,高性能.高并发相关的技术概念早就了然与胸,什么线 ...
- 解析JVM线程同步机制
http://blog.csdn.net/thl789/article/details/566494 对多线程的支持一般是在OS级的,而Java将其做在了语言级别,这其中最吸引人的莫过于Java对线程 ...
- Windows® CE 系统中的同步机制
看到篇好文章,呵呵,独乐乐,不如众乐乐 本文转自http://blog.csdn.net/thl789/archive/2006/01/17/582246.aspx ,转载请注明出处 摘要 ... 1 ...
- 20179214 《网络攻防实践》第五周学习
20179214 <网络攻防实践>第五周学习 web应用程序体系结构及其安全威胁 web应用程序体系结构 浏览器 标准的web客户端, Web服务器 通常被简单的描述为http守护程序,接 ...
最新文章
- Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
- JspServlet之Cookie
- vue商城项目开发:axios发送请求及列表数据展示
- 程序猿是如何解决SQLServer占CPU100%的
- windows服务器迁到_Windows Server 2008 R2 DNS 服务器迁移方法
- mysql 复制延迟诊断_新特性解读 | MySQL 8 复制延迟观测新方式,更全面更精准
- Intel® Nehalem/Westmere架构/微架构/流水线 (7) - 存储转发增强
- 微信公众开放平台开发01---微信公众平台介绍,以及开发准备
- 选项卡jacascript
- 你很熟悉CSS,却没掌握这些CSS技巧
- prompt的使用oracle,SQL Prompt怎么用?SQL Prompt使用教程
- 数据库系统概论(高级篇)
- 荣耀v20屏幕测试软件,测量原来可以这么简单 荣耀V20 AR测量功能体验
- 学习专栏-关于Python读取数据学习记录
- 关于低功耗车牌识别摄像机,你知道多少
- 记一次npm发包失败的经历
- 从团队协作的五大障碍看团队管理该怎么做
- 网站实现发送帖子的功能
- Excel/WPS 按条件合并多行
- 高通推出骁龙888处理器,移动办公使用电子邮箱更便捷!
热门文章
- Javascript – 正则表达式
- 基于Verilog语言的伪随机码的编写
- 基于角色的访问控制'的权限管理的数据库的设计实现
- make时候说找不到makefile_找不到对象,应不应该接受相亲?听听三个过来人怎么说...
- matlab max与min获取矩阵最大最小值函数
- MATLAB安装第三方工具箱
- 大整数乘法c语言代码_大整数乘法
- 帝国cms录入表单模板php,帝国cms7.5在线表单提交制作教程
- java实现回文验证_LeetCode 精选 TOP 面试题(Java 实现)—— 验证回文串
- mysql 连续签到天数_最大连续签到天数-sql