
Linux内核知识
文章平均质量分 63
xiebiwei
这个作者很懒,什么都没留下…
展开
-
自旋锁-原理
跟互斥锁一样,一个执行单元要想访问被自旋锁保护的共享资源,必须先得到锁,在访问完共享资源后,必须释放锁。如果在获取自旋锁时,没有任何执行单元保持该锁,那么将立即得到锁;如果在获取自旋锁时锁已经有保持者,那么获取锁操作将自旋在那里,直到该自旋锁的保持者释放了锁。由此我们可以看出,自旋锁是一种比较低级的保护数据结构或代码片段的原始方式,这种锁可能存在两个问题:死锁。试图递归地获得自旋锁必然会引起死锁:递归程序的持有实例在第二个实例循环,以试图获得相同自旋锁时,不会释放此自旋锁。在递归程序中使用自旋锁应遵转载 2010-11-02 14:55:00 · 753 阅读 · 1 评论 -
高端内存与低端内存
高端内存是Linux中一个重要的概念,初涉Linux时曾经对这个概念非常迷惑。实际上这个概念比较简单,理解这个概念,需要追溯一下Linux的内存管理。 从前,CPU的地址总线只有32位,再早的就不再追溯了。32的地址总线无论是从逻辑上还是从物理上都只能描述4G的地址空间,在物理上理论上最多拥有4G内存(除了IO地址空间,实际内存容量小于4G),逻辑空间也只能描述4G的线性地址空间。为了合理的利用4G空间,Linux采用了3:1的策略,即内核占用1G的线性地址空间,用户占用3G的线性地址空转载 2011-02-13 17:10:00 · 516 阅读 · 0 评论 -
Linux per_cpu机制的详解
针对IA64体系结构,在Linux操作系统中,特别是针对SMP或者NUMA架构的多CPU系统的时候,描述每个CPU的私有数据的时候,Linux操作系统提供了per_cpu机制。per_cpu机制就是让每个CPU都有自己的私有数据段,便于保护与访问。通过宏DEFINE_PER_CPU,定义这种私有数据,只不过这种私有数据放在特定的数据段中。#define DEFINE_PER_CPU(type, name) /__attribute__((__section__(“.data.percpu”)))转载 2011-02-13 17:08:00 · 1221 阅读 · 0 评论 -
主设备号、次设备号
<br />分配并注册主次设备号<br /> 设备号是在驱动module中分配并注册的,也就是说,驱动module拥有这个设备号(我的理解),而/dev目录下的设备文件是根据这个设备号创建的,因此,当访问/dev目录下的设备文件时,驱动module就知道,自己该出场服务了(当然是由内核通知)。<br /> 在Linux内核看来,主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动程序为该设备(也就是/dev下的设备文件)服务;而次设备号则用来标识具体且唯一的某个设备。<br />转载 2011-02-14 10:23:00 · 374 阅读 · 0 评论 -
linux与freebsd中tcp协议栈实现之比较
作为两个最有名的开源操作系统,Linux和FreeBSD是网管们的首选。Linux以开放性和众多的驱动支持著称,而FreeBSD有着优良的UNIX传统,是公认的最稳定的操作系统。那么,在这两个操作系统间,该如何选择呢?幸好,我们有源码,可以从协议栈的实现中寻找答案。TCP/IP协议栈是网络中广泛使用的事实网络通信标准。最初的TCP实现源自4.4BSD lite,在Linux兴起后,也不可避免得支持它。但Linux的实现自成体系,仅与传统实现保持接口上的兼容,下面我们将针对源码级的实现,来分析一下两者的异同。转载 2011-02-13 17:03:00 · 1376 阅读 · 0 评论 -
同步/异步与阻塞/非阻塞的区别
<br />我喜欢用自己的语言通过联系现实生活中的一些现象解释一些概念,当我能做到这一点时,说明我已经理解了这个概念.今天要解释的概念是:同步/异步与阻塞/非阻塞的区别.<br />这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方.<br />首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.<br />举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的号码,等到排到我这一号时由柜台的人通知我轮到我去办理业务了.<br />前者(排队等候)转载 2011-02-14 10:46:00 · 264 阅读 · 0 评论 -
Debian ipv6 教育网 源
#Stable:<br />deb http://security.debian.org/ stable/updates main contrib non-free<br />deb http://debian6.ustc.edu.cn/debian stable main non-free contrib<br />deb http://debian6.ustc.edu.cn/debian proposed-updates main contrib non-free<br />deb-src http:/转载 2011-02-20 23:01:00 · 1089 阅读 · 0 评论