这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 IV 篇,本文主要讲了以下问题:中断和中断处理程序的概念与实现原理、Linux 中的下半部以及内核同步方法。
0x00 中断和中断处理程序I 中断
中断是一种特殊的电信号,由硬件发向处理器,处理器接收到中断时,会马上箱操作系统反映,由操作系统进行处理。中断随时可以产生,因此,内核随时可能因为新到来的中断而被打断。
不同的设备对应的中断不同...
分类:
系统相关 时间:
2016-07-03 19:53:19
阅读次数:
298
竞争条件的解释
内核同步简介
顺序和内存屏障简介...
分类:
系统相关 时间:
2016-07-03 19:18:58
阅读次数:
318
Linux内核同步机制之(一):原子操作 http://www.wowotech.net/linux_kenrel/atomic.html 一、源由 我们的程序逻辑经常遇到这样的操作序列: 1、读一个位于memory中的变量的值到寄存器中 2、修改该变量的值(也就是修改寄存器中的值) 3、将寄存器中... ...
分类:
系统相关 时间:
2016-06-27 19:19:18
阅读次数:
267
转自:http://www.wowotech.net/linux_kenrel/per-cpu.html 一、源由:为何引入Per-CPU变量? 1、lock bus带来的性能问题 在ARM平台上,ARMv6之前,SWP和SWPB指令被用来支持对shared memory的访问: SWP <Rt>, ...
分类:
系统相关 时间:
2016-06-25 17:52:59
阅读次数:
442
1 中断,很短的时间过去,然后回来。2 信号,软中断,而中断属于硬中断。3 实时内核,和分时内核。4 同步,预先知道发生,异步,预先不知道要发生,中断属于异步。5 arm一次执行一个中断。6 irq中断,2现在内核支持这个,fiq,快速中断请求。7 问题:两个中断同时发生? 更具优先级,一个一个执行 ...
分类:
其他好文 时间:
2016-06-21 20:26:42
阅读次数:
130
内核同步
你可以把内核看作是不断对请求响应的服务器,这些请求可能来自在CPU上执行的进程,也可能来自发出中断请求的外部设备。
内核如何为不同的请求提供服务
为了更好的理解内核代码是如何执行的,我们把内核看作必须满足两种请求的侍者:一种请求来自于顾客,另一种请求来自数量有限的几个不同的老板。
对不同的请求,侍者采用如下的策略:
1、老板提...
分类:
系统相关 时间:
2016-04-29 15:04:48
阅读次数:
252
转自:http://blog.csdn.net/goodluckwhh/article/details/9006065 版权声明:本文为博主原创文章,未经博主允许不得转载。 转自:http://blog.csdn.net/goodluckwhh/article/details/9006065 版权声 ...
分类:
系统相关 时间:
2016-04-20 20:10:52
阅读次数:
270
转自:http://blog.csdn.net/goodluckwhh/article/details/9005585 版权声明:本文为博主原创文章,未经博主允许不得转载。 转自:http://blog.csdn.net/goodluckwhh/article/details/9005585 版权声 ...
分类:
系统相关 时间:
2016-04-20 19:50:31
阅读次数:
602
原子操作 原子操作可以保证指令以原子的方式执行——执行过程不会被打断。 内核提供了两组原子操作的接口——一组针对整数进行操作,另一组针对单独的位进行操作。在Linux支持的所有体系结构中都实现了这两组接口。 原子整数操作 针对整数的原子操作只能对atomic_t类型的数据进行处理。在这里之所以引入了
分类:
其他好文 时间:
2016-03-22 19:05:09
阅读次数:
149
http://blog.csdn.net/bullbat/article/details/7376424 Linux内核同步控制方法有很多,信号量、锁、原子量、RCU等等,不同的实现方法应用于不同的环境来提高操作系统效率。首先,看看我们最熟悉的两种机制——信号量、锁。一、信号量 首先还是看看内...
分类:
系统相关 时间:
2015-11-09 00:08:20
阅读次数:
353