Linux内核产生并发的原因


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

Tags in this post...

面试题 相关文章推荐
一套PHP的笔试题
May 31 面试题
请介绍一下Ant
Jul 22 面试题
一份Java笔试题
Feb 21 面试题
JAVA代码查错题
Oct 10 面试题
上海方立数码笔试题
Oct 18 面试题
C语言面试题
Oct 30 面试题
SQL Server提供的3种恢复模型都是什么? 有什么区别?
May 13 面试题
北京-环亚运商测试题.net程序员初步测试题
May 28 面试题
什么叫做SQL注入,如何防止
Oct 04 面试题
中科软笔试题和面试题
Oct 07 面试题
Python如何定义一个函数
Sep 01 面试题
Java基础面试题
Nov 02 面试题
Linux如何为某个操作添加别名
Feb 05 #面试题
Linux如何压缩可执行文件
Mar 27 #面试题
进程的查看和调度分别使用什么命令
Mar 25 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 #面试题
简述安装Slackware Linux系统的过程
May 08 #面试题
介绍一下Linux内核的排队自旋锁
Aug 27 #面试题
Windows和Linux动态库应用异同
Jul 28 #面试题
You might like
php下批量挂马和批量清马代码
2011/02/27 PHP
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
基于Vue.js 2.0实现百度搜索框效果
2020/12/28 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
Ant Design Pro 下实现文件下载的实现代码
2019/12/03 Javascript
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
Python中__init__和__new__的区别详解
2014/07/09 Python
python optparse模块使用实例
2015/04/09 Python
在Django中编写模版节点及注册标签的方法
2015/07/20 Python
Python找出9个连续的空闲端口
2016/02/01 Python
Python进行数据提取的方法总结
2016/08/22 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
Python 类的特殊成员解析
2018/06/20 Python
浅析python的优势和不足之处
2018/11/20 Python
为什么你还不懂得怎么使用Python协程
2019/05/13 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
C# Debug和Testing相关面试题
2015/10/25 面试题
几个Linux面试题笔试题
2016/08/01 面试题
数学专业毕业生自荐信
2013/11/10 职场文书
企业文化演讲稿
2014/05/20 职场文书
工作年限证明模板
2014/11/01 职场文书