Linux内核产生并发的原因


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

Tags in this post...

面试题 相关文章推荐
extern在函数声明中是什么意思
Jan 19 面试题
聚网科技C++面试笔试题
Sep 01 面试题
某IT外企面试题-二分法求方程!看看大家的C++功底
Jul 04 面试题
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
Aug 09 面试题
SQL里面如何插入自动增长序列号字段
Mar 29 面试题
索引覆盖(Index Covering)查询含义
Feb 18 面试题
TCP协议通讯的过程和步骤是什么
Oct 18 面试题
介绍一下linux的文件权限
Feb 15 面试题
如何开发安全的AJAX应用
Mar 26 面试题
如何写一个Java类既可以用作applet也可以用作java应用
Jan 18 面试题
sleep()方法和wait()方法的区别是什么
Nov 17 面试题
Servlet的生命周期
Aug 25 面试题
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设计模式 Command(命令模式)
2011/06/26 PHP
PHP中file_exists与is_file,is_dir的区别介绍
2012/09/12 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
javascript的事件描述
2006/09/08 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
详解基于webpack搭建react运行环境
2017/06/01 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
js实现简单扫雷
2020/11/27 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
Python实现约瑟夫环问题的方法
2016/05/03 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
详解Python3注释知识点
2019/02/19 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
CSS3中的transform属性进行2D和3D变换的基本用法
2016/05/12 HTML / CSS
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
医疗纠纷协议书
2014/04/16 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书