临界区块(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 就是共享数据 而最后的结果取决于进程运行的一个精确的时序 就是时间序列,就是它一跟时间是相关的 那么这就是带来了竞争条件 所以竞争条件呢,是由于有这样一个共享的资源,共享的数据,而多个进程 都对这个数据进行相应的操作带来的 那么这样就产生了这样一个概念--进程互斥 由于在一个并发环境里头 多个进程,都要使用一些共享资源,像 一些变量啊,像一些文件啊,而这些资源呢 具有这样一个性质,它需要排他性的使用,也就是说我用 那么另外一个进程就不能用,这是一种排他性的使用 因此,各个进程之间对这个资源的使用 是一种竞争,是一种竞争,而这种竞争呢 我们就称之为进程的互斥

同步:互斥 它指的是进程之间具有一种竞争关系 而进程的同步呢实际上是指的多个进程之间的协作关系 那么什么是进程的同步呢? 它是指的在多个进程中 发生的事件存在着某种时序关系 需要这些进程相互合作,共同完成一项任务 更具体的一点来说,就是 有多个进程,其中一个进程执行到了某一点 它要求另外一个进程为它提供消息 而另外这个进程呢由于它们是相互合作的,所以是它的一个伙伴进程 因此第一个进程需要第二个进程给它提供消息 在没有获得这个消息的时候,也就是消息没有到达 那么这个事件还没有发生,那么前一个进程 就要进入阻塞态,就要等这个消息,一旦这个消息到达,也就是说这个事件发生了 就把前面这个进程唤醒,让它 重新就绪,实际上我们所谈的是一个进程之间的一个协作关系

感觉这个题目不严谨

足球游戏:

互斥:球是互斥的。只能被一个进程使用

同步:足球传递过来,才能进行下一步?

麻将游戏:

互斥:

同步:

6。

在使用信号量及P、V操作机制解决问题时,进程执行一次P操作,意味着该进程

准备释放一个资源

正在使用一个资源

申请分配一个资源

需要共享一个资源

coursera 《现代操作系统》 -- 第五周 同步机制(1)的更多相关文章

  1. coursera 《现代操作系统》 -- 第五周 同步机制(2)

    分清紧急等待队列与条件等待队列(c 链) 条件等待队列:但是进入管程的这个进程可能由于对资源的操作的过程中发现条件不成熟, 那么它就不能够继续对资源进行相应的操作. 我们以生产者. 消费者为例. 如果 ...

  2. Linux kernel 同步机制

    Linux kernel同步机制(上篇) https://mp.weixin.qq.com/s/mosYi_W-Rp1-HgdtxUqSEgLinux kernel 同步机制(下篇) https:// ...

  3. Linux内核同步机制之(五):Read Write spin lock【转】

    一.为何会有rw spin lock? 在有了强大的spin lock之后,为何还会有rw spin lock呢?无他,仅仅是为了增加内核的并发,从而增加性能而已.spin lock严格的限制只有一个 ...

  4. 2017-2018-1 20179205《Linux内核原理与设计》第五周作业

    <Linux内核原理与设计>第五周作业 视频学习及操作分析 一.用户态.内核态和中断 内核态在CPU执行中对应高执行级别,执行级别为0级,具有特权指令,可以访问任意物理地址:用户态执行级别 ...

  5. 锁相关知识 & mutex怎么实现的 & spinlock怎么用的 & 怎样避免死锁 & 内核同步机制 & 读写锁

    spinlock在上一篇文章有提到:http://www.cnblogs.com/charlesblc/p/6254437.html  通过锁数据总线来实现. 而看了这篇文章说明:mutex内部也用到 ...

  6. 分析.Net里线程同步机制

    我 们知道并行编程模型两种:一种是基于消息式的,第二种是基于共享内存式的. 前段时间项目中遇到了第二种 使用多线程开发并行程序共享资源的问题 ,今天以实际案例出发对.net里的共享内存式的线程同步机制 ...

  7. Linux内核同步机制

    http://blog.csdn.net/bullbat/article/details/7376424 Linux内核同步控制方法有很多,信号量.锁.原子量.RCU等等,不同的实现方法应用于不同的环 ...

  8. Linux内核的同步机制

    本文详细的介绍了Linux内核中的同步机制:原子操作.信号量.读写信号量和自旋锁的API,使用要求以及一些典型示例 一.引言 在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程 ...

  9. 201771010134杨其菊《面向对象程序设计(java)》第十五周学习

    第十五周学习总结 第一部分:理论知识 JAR文件: 应用程序首选项存储: Java Web Start JAR文件: 1.Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar ...

随机推荐

  1. OpenERP为form和tree视图同时指定view_id的方法

    Odoo,OpenERP中文网 / 2014-07-16 文所说的是关于OpenERP中同一个对象(同名继承)使用view_id来指定form和tree视图的方法,由于官方文档中Views and E ...

  2. DLL内存分配与共享

    一旦DLL的文件映像被映射到调用进程的地址空间中,DLL的函数就可以供进程中运行的所有线程使用.实际上,DLL几乎将失去它作为DLL的全部特征.对于进程中的线程来说,DLL的代码和数据看上去就像恰巧是 ...

  3. 放大的X 【杭电-2655】 附题

    /* 放大的X Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  4. Spring 集成hibernate时配置连接释放模式

    http://zmfkplj.iteye.com/blog/220822 程序出现一个奇怪的现象,用Quartz作业调度启动任务,运行一段时间后,任务会卡在一个查询接口处,久久不能运行完毕. 我本能的 ...

  5. sql DATEPART() MONTH() convert() cast() dateadd() DATEDIFF() with(nolock)

    DATEPART() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等. 语法 DATEPART(datepart,date) date 参数是合法的日期表达式.datepart 参数 ...

  6. 转:Window10下RabbitMQ安装图文教程

    一.erlang下载安装 1.下载 下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads,双 ...

  7. ScrollView嵌套ListView冲突问题的最优解决方式

    项目做多了之后.会发现事实上ScrollView嵌套ListVew或者GridView等非经常常使用,可是你也会发现各种奇怪问题产生.依据个人经验如今列出常见问题以及代码最少最简单的解决方法. 问题一 ...

  8. logstash5 单实例多配置文件实现

    有些服务器上有多个服务,要使用单个logstash收集日志,因为有多个配置文件,刚开始使用 /opt/app/logstash/bin/logstash "--path.settings&q ...

  9. python 在Windows中描述路径时出现的问题

    问题的根本:windows读取文件可以用\,但在字符串里面\被作为转义字符使用,   python在描述路径时有两种方式: 'd:\\a.txt',转义的方式 r'd:\a.txt',声明字符串不需要 ...

  10. IP报文格式及各字段意义

    IP数据包由报头和数据两部分组成.报头的前一部分是固定长度,共20字节.在报头的固定部分的后面是可选部分——IP选项和填充域. 首部各字段的含义如下 1.版本      占4位,指IP协议的版本. 2 ...