Linux内核产生并发的原因


Posted in 面试题 onJuly 13, 2012
Linux内核产生并发的原因主要是中断和睡眠再调度。
一 :中断,由于中断执行是异步的,而且是在非抢占式内核中打断当前运行内核代码的唯一方法,所以中断是可以和其它内核代码并发执行的。因此如果中断操作和被中断的内核代码访问同样的内核数据,就会发生竞争。
二 :睡眠和再调度, 处于进程上下文(下面会进行讲述)的内核任务可以睡眠(睡眠意味放弃处理器),这时调度程序会调度其它程序去执行(首先执行调度任务队列中的内核任务,然后执行软中断等,最后从运行队列中选择一个高优先级的用户进程运行)。显然这里也会造成内核并发访问,当睡眠的内核任务和新投入运行的内核任务访问同一共享数据时,就发生了竞争。

Tags in this post...

面试题 相关文章推荐
如何实现jdbc性能优化
Jul 30 面试题
C语言面试题
Oct 30 面试题
写一个用矩形法求定积分的通用函数
Nov 08 面试题
怎样在程序里获得一个空指针
Jan 24 面试题
在什么时候需要使用"常引用"
Dec 31 面试题
SQL里面如何插入自动增长序列号字段
Mar 29 面试题
最新远光软件笔试题面试题内容
Nov 08 面试题
Linux文件系统类型
Sep 16 面试题
系统管理员的职责包括那些?管理的对象是什么?
Jan 18 面试题
亿企通软件测试面试题
Apr 10 面试题
Boolean b = new Boolean(“abcde”); 会编译错误码
Nov 27 面试题
Java如何支持I18N?
Oct 31 面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
简述安装Slackware Linux系统的过程
Jan 12 #面试题
介绍一下Linux内核的排队自旋锁
Jan 04 #面试题
Windows和Linux动态库应用异同
Apr 17 #面试题
You might like
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
php图片上传类 附调用方法
2016/05/15 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
深入理解Node module模块
2018/03/26 Javascript
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
python 常用的基础函数
2018/07/10 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
python3中数组逆序输出方法
2020/12/01 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
会计毕业生求职简历的自我评价
2013/10/20 职场文书
护理不良事件检讨书
2014/02/06 职场文书
委托书模板
2014/04/04 职场文书
诚信考试倡议书
2014/04/15 职场文书
安全生产工作汇报
2014/10/28 职场文书
党员争先创优承诺书
2015/01/20 职场文书
给客户的感谢信
2015/01/21 职场文书
2015年医生个人工作总结
2015/04/25 职场文书
golang import自定义包方式
2021/04/29 Golang
浅谈redis缓存在项目中的使用
2021/05/20 Redis
详解Laravel服务容器的优势
2021/05/29 PHP
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
解决Springboot PostMapping无法获取数据的问题
2022/05/06 Java/Android