- 博客(67)
- 资源 (31)
- 收藏
- 关注
原创 非屏蔽中断与异常
异常就是CPU内部出现的中断,也就是说,在CPU执行特定指令时出现的非法情况。非屏蔽中断就是计算机内部硬件出错时引起的异常情况。从上图可以看出,二者与外部I/O接口没有任何关系。Intel把非屏蔽中断作为异常的一种来处理,因此,后面所提到的异常也包括了非屏蔽中断。在CPU执行一个异常处理程序时,就不再为其他异常或可屏蔽中断请求服务,也就是说,当某个异常被响应后,CPU清除eflag的中IF位
2010-04-28 15:57:00 4297
原创 北桥与南桥
北桥,南桥是主板上芯片组中最重要的两块了.它们都是总线控制器.他们是总线控制芯片.相对的来讲,北桥要比南桥更加重要.北桥连接系统总线,担负着cpu访问内存的重任.同时连接这AGP插口,控制PCI总线,割断了系统总线和局部总线,在这一段上速度是最快的.南桥不和CPU连接通常用来作I/O和IDE设备的控制.所以速度比较慢.一般情况下,南桥和北桥中间是PCI总线
2010-04-27 17:26:00 3035
转载 【数据结构重温】B树、B-树、B+树、B*树
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字
2010-04-27 15:19:00 1550 1
转载 百度的青春期
这篇文章原本不想转的,只想看看而已,但是看着看着越来越感同身受!百度,还是期望你更强大的,虽然自己的使用上用户感受上更倾向于google的产品,谁让我有民族情怀呢~2010年1月16日,百度成立10周年。在上地百度大厦中,百度董事长兼CEO李彦宏许愿:希望百度在下一个10年收入增长40倍,员工待遇达到世界一流公司标准。若要实现这一宏图,依靠Google的中国模仿者角色显然不可能实现
2010-04-27 02:10:00 1657
转载 以太网巨人3Com退出历史舞台
1979年,美国3Com公司成立并创建以太网标准,一度与思科平起平坐;到2010年,3Com为惠普吞并退出市场舞台,三十年弹指一挥间。 曾经的巨星陨落,三个圈标志的3Com今后将只存在于科技史的记录中,取而代之的是整合后的新公司——HP Networking。3Com品牌转为HP Networking A系列品牌以太网技术最初来自施乐的帕洛阿尔托研究中心(PARC)的计算机科学实验室。
2010-04-27 02:00:00 1717
原创 【数据结构重温】散列函数
散列函数维基百科,自由的百科全书目录1 散列函数的性质 2 散列函数的应用 2.1 加密 2.2 散列表 2.3 错误校正 2.4 语音识别 2.5 Rabin-Karp 字符串搜索算法 3 术语来源 4 参阅 5 参考资料 6 外部链接 为了阅读方便,本文使用标题手工转换。转换标题为:简体:散列函数;繁體:
2010-04-26 23:04:00 1799
转载 【数据结构重温】红黑树
红黑树红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由鲁道夫·贝尔发明的,他称之为"对称二叉B树",它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入
2010-04-26 22:37:00 1555
原创 【数据结构重温】哈希表
1. 哈希表(1) 哈希表(散列表,杂凑表)根据设定的哈希函数和处理冲突的方法,将一组关键字映像到一个有限的连续的地址集上,并以关键字在地址集中的象作为记录在表中的存储位置,这种表称为哈希表,又叫散列表,杂凑表。(2) 哈希函数常用除留余数法。H(key) = key MOD p。(3) 冲突什么是冲突?H(key1)=H(key2),且key1≠key2,称冲突。处理
2010-04-26 19:17:00 6529
原创 【数据结构重温】平衡二叉树(AVL)
平衡二叉树(Balanced binary tree)是由阿德尔森-维尔斯和兰迪斯(Adelson-Velskii and Landis)于1962年首先提出的,所以又称为AVL树。定义:平衡二叉树或为空树,或为如下性质的二叉排序树: (1)左右子树深度之差的绝对值不超过1; (2)左右子树仍然为平衡二叉树. 平衡因子BF=左子树深度-右子树深度.平
2010-04-26 14:18:00 9854 2
原创 Linus Torvalds自作多情了
Linus声称:Linux内核臃肿,该减肥了!北京时间2009年9月22日消息,据媒体报道,在周一举行的LinuxCon技术大会上,Linux操作系统创始人、素有“Linux之父”之称的林纳斯·托瓦尔兹(Linus Torvalds)表示,目前Linux内核体积越来越大,功能也越来越复杂,虽然此举使后续代码整合工作更为容易,但目前当务之急,还是应该对Linux内核进行“瘦身”,使其内核能够
2010-04-26 00:14:00 1344
原创 宏内核与微内核,Linux内核与Unix内核
操作系统内核可能是微内核,也可能是单内核(后者有时称之为宏内核Macrokernel)。按照类似封装的形式,这些术语定义如下: 单内核:也称为宏内核。将内核从整体上作为一个大过程实现,并同时运行在一个单独的地址空间。所有的内核服务都在一个地址空间运行,相互之间直接调用函数,简单高效。微内核:功能被划分成独立的过程,过程间通过IPC进行通信。模块化程度高,一个服务失效不会影
2010-04-25 23:11:00 3446
转载 Linux下多线程(pthread)编程实例
Linux系统下的多线程遵循POSIX线程接口,称为 pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux 下pthread的实现是通过系统调用clone()来实现的。clone()是 Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可以去查看有关文档说明。下
2010-04-25 18:07:00 28198 5
转载 信号机制、共享内存和消息队列
Linux进程间通信类型:1,管道通信 见上文2,信号机制3,共享内存4,消息队列5,信号量6,socket通信 注:本文重点讲述黑体字3种进程间通信类型 信号机制1,信号概述信号是软件中断。信号(signal)机制是Unix系统中最为古老的进程之间的通信机制。它用于在一个或多个进程之间传递异步信号。很多条件可以产生一个信号。n
2010-04-25 17:56:00 2403
原创 Linux内核模块编程简介
主题: linux内核模块的程序结构--模块加载函数(必须),模块卸载函数(必须),模块许可证声明(必须),模块参数(可选),模块导出符号(可选),模块作者的等信息声明(可选)一个linux内核模块主要由以下几个部分组成。1、模块加载函数"用module_init()来指定"(必须) 当通过insmod和modprobe命令加载内核模块时,模块的加载函数会自动被内核执行,完成本模块的相关初
2010-04-25 15:48:00 980
转载 Linux内核源码Kconfig语法分析
linux在2.6版本以后将配置文件由原来的config.in改为kconfig,对于kconfig的语法在/Documentation/kbuild/kconfig-language.txt中做了详细的说明,在这里给出kconfig-language.txt的中文版。介绍----在配置数据库的配置选项是以树的形式组织的: +- Code maturity level option
2010-04-22 00:25:00 1647
原创 自动下载shell脚本
#/bin/sh i=0 chapter=$1 book_name=$2 while [ $i != $3 ] do echo "第 $i 正在下载第 $book_name 个文件..." wget http://www.qqshuwu.com/files/article/attachment/5/5759/$chapter/$book_name.g
2010-04-21 13:17:00 1792
原创 Linux内核态下的文件操作
在VFS的支持下,用户态进程读写任何类型的文件系统都可以使用read和write着两个系统调用,但是在linux内核中没有这样的系统调用我们如何操作文件呢?我们知道read和write在进入内核态之后,实际执行的是sys_read和sys_write,但是查看内核源代码,发现这些操作文件的函数都没有导出(使用EXPORT_SYMBOL导出),也就是说在内核模块中是不能使用的,那如何是好?
2010-04-21 04:24:00 2311
转载 后继无人:Linux核心维护人员日渐苍老
一年一度的Linux开发者大会上周在旧金山举行,会上Linux基金会执行理事Jim Zemlin表示,得益于云计算以及其它科技潮流的出现,Linux的市场地位十分稳固,然而一些主要的维护人员已经日渐苍老,后继者却还没有成熟。 sysfs内核子系统维护者Grey Kroah-Hartman指出:“上层的人员仍然没有变动,我们都还在,不过保持持续的人员变动是必要的,如果我们已经阻碍了L
2010-04-20 16:29:00 1373
转载 Linux内核价值10亿欧元
西班牙研究者们声称如果想开发替代Linux内核的内核的话,花费将是巨大的。 西班牙的奥维耶多大学的研究人员估计了如果开发Linux内核替代软件的话,投入不会少于10亿欧元。两名学者Jess Garca-Garca和Isabel Alonso de Magdaleno使用构造性模型(Constructive Cost Model)81算法按照现在欧元的实际价值进行了对Linux内核的估计
2010-04-20 02:55:00 1164
转载 百度系统部面试总结
同学去百度被问到的一些面试题的整理,因为是内推并没有参加笔试。以下的面试问题仅仅针对内核,如果你是做应用的,你可能会觉得一头雾水(话说我也是刚开始看内核来着)。另外,相信我,同学被问到的问题应该算是比较深入了,因为我毕业那年找工作虽然没有去百度面试过,但是有不少同学去过,他们被问到的问题大部分停留在应用层和算法部分,所以你不一定会被问到这样的问题,但如果你是做内核
2010-04-19 14:20:00 5654
原创 视频测试序列下载地址
1、http://www.tkn.tu-berlin.de/research/vid/(此网站已经移走,正在寻找。) CIF: Akiyo、Bridge (far) 、Bridge (close) 、Bus 、Container 、Coastguard 、Flower 、Football 、Foreman 、Hall 、Highway 、Mobile & Calendar 、Mother
2010-04-18 16:33:00 3290
原创 VGA、QVGA、CIF、QCIF 常用视频格式说明
尺寸 (闊 x 高)簡稱 (代號)全寫尺寸比例128 x 96subQCIF 4:3176 X 144QCIF 11:9320 x 200CGAColor-Graphics-Adapter
2010-04-18 12:40:00 6305
转载 linux的物理内存空间与线性地址空间的的对应关系
在支持MMU的32位处理器平台上,Linux系统中的物理存储空间和虚拟存储空间的地址范围分别都是从0x00000000到0xFFFFFFFF,共4GB,但物理存储空间与虚拟存储空间布局完全不同。Linux运行在虚拟存储空间,并负责把系统中实际存在的远小于4GB的物理内存根据不同需求映射到整个4GB的虚拟存储空间中。 物理存储空间布局Linux的物理存储空间布局与处理器相关,详细情况可以
2010-04-17 05:20:00 3853 1
原创 Linux内存线性地址空间布局解析
Linux内存线性地址空间大小为4GB,分为2个部分:用户空间部分(通常是3G)和内核空间部分(通常是1G)。在此我们主要关注内核地址空间部分。内核通过内核页全局目录来管理所有的物理内存,由于线性地址前3G空间为用户使用,内核页全局目录前768项(刚好3G)除0、1两项外全部为0,后256项(1G)用来管理所有的物理内存。内核页全局目录在编译时静态地定义为swapper_pg
2010-04-17 03:59:00 2765
原创 高端内存的映射方式
高端内存是指物理地址大于 896M 的内存。对于这样的内存,无法在“内核直接映射空间”进行映射。为什么? 因为“内核直接映射空间”最多只能从 3G 到 4G,只能直接映射 1G 物理内存,对于大于 1G 的物理内存,无能为力。 实际上,“内核直接映射空间”也达不到 1G, 还得留点线性空间给“内核动态映射空间” 呢。 因此,Linux 规定“内核直接映射空间” 最多映
2010-04-17 03:27:00 1818 1
转载 阻碍Linux在中国发展的因素
Linux不是解决中国发展过程中存在的所有问题的万能药,它只是为我们提供了一个可以明显降低成本、促进国际合作和获得更广阔发展前景的选项之一。通常情况下,雇用国外优秀管理和技术人员所需的费用会高的惊人。不仅要向这些人支付高额的酬金,同时要为他们营造一个合适的生活和工作环境。而他们若要全身心的为你的事业做出贡献,必须要适应中国的人文环境。这几乎不是一个中小企业或个人能够承受的
2010-04-17 03:09:00 1066 1
转载 是谁编写了Linux:美国公司
来源:cnbeta 作者:cnbeta 2008-10-31 出处:pcdog.com 我不知道为什么“只有0.10068%的Linux内核开发者领薪水”这种稀里糊涂的想法流传不息,但它确实在流传.所以,我只想一劳永逸地说,就绝大部分而言,Linux是由一些主要的美国公司雇用的软件工程师和程序员编写的.早在2008年4月,Linux基金会就仔细划分谁在做Linux内核的开发.
2010-04-17 02:57:00 1370
原创 中断处理与【irqsoft】、【tasklet】和【work queue】使用实例
中断处理由于I/O操作的不确定因素,以及处理器和I/O设备之间速度的不匹配,设备往往通过某种硬件信号异步地唤起处理器的注意。这些硬件信号就是所谓的中断。每个中断设备都被分配给一个相关的标识符,被称为中断请求(IRQ)号。当处理器检测到某一IRQ号对应的中断产生时,它将停止它现在的工作,并引用该IRQ所对应的中断服务例程(ISR)。中断处理函数ISR在中断上下文执行。中断上下文ISR是与
2010-04-15 02:30:00 4698 3
转载 softirq,tasklet和workqueue的分析
今天看了《深入理解Linux内核》的中断和异常一章,对Softirq,tasklet和workqueue做一个简单的总结和分析。 其实softirq和taskled都属于软中断,而工作队列是和软中断无关,仅仅是内核中的一个内核线程在等待工作任务,工作队列可以发送工作任务。不过他们还是有个共同点,就是都有延后执行的作用。1.首先看 do_softirq如何被调用
2010-04-15 01:57:00 1899
原创 [理解] 为什么我的spin_lock_irqsave()没有锁住时钟中断?
LZ: 尝试用spin_lock_irqsave(),发现没有禁掉时钟中断,不知道我哪里理解错了?kernel版本:uname -a 结果:Linux localhost.localdomain 2.6.18 #1 Sat Jul 19 13:06:00 EDT 2008 i686 i686 i386 GNU/Linux复制代码我的代码:#i
2010-04-15 01:35:00 4365
原创 likely,unlikely宏与GCC内建函数__builtin_expect()
在读linux/kernel/fork.c的时候遇到了unlikely宏定义,一路追踪,最后找到了GCC内建函数__builtin_expect(),查阅GCC手册,发现其定义如下:long __builtin_expect (long exp, long c) [Built-in Function]You may use __
2010-04-14 23:05:00 851
转载 系统空间SMP编程
摘要:多处理机系统正在变得越来越普通。尽管大多数用户空间代码仍将完美地运行,而且有些情况下不需要增加额外的代码就能利用SMP特性的优势,但是内核空间代码必须编写成具备“SMP意识”且是“SMP安全的”。以下几段文字解释如何去做。多处理机系统正在变得越来越普通。尽管大多数用户空间代码仍将完美地运行,而且有些情况下不需要增加额外的代码就能利用SMP特性的优势,但是内核空间代码必须编写成具备“SMP
2010-04-14 22:55:00 1090
原创 In_interrupt( ) 和In_irq( )
in_interrupt() 是判断当前进程是否处于中断上下文,这个中断上下文包括底半部和硬件中断处理过程,函数实现: #define in_interrupt() ({ const int __cpu = smp_processor_id(); / (local_irq_count(__cpu) + local_bh_count(__cpu) != 0
2010-04-14 22:39:00 8176
原创 中断模块示例
申请和释放中断:注册一个中断:request_irq()函数用来注册一个中断处理程序,这样做是因为真正的中断服务要等到具体设备的初始化程序将其中断服务程序通过该函数向系统注册后,并挂入某个中断请求队列中以后才可以真正的运行。源码如下: 536int request_irq(unsigned int irq, irq_handler_t handler, 537 unsig
2010-04-13 22:03:00 1295
转载 中断和中断处理
1、中断的基本概念 <!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font
2010-04-13 21:12:00 2801
原创 时钟周期-指令周期-机器周期 以及三者之间的关系
时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。 在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。由于时钟脉冲是计算机的基本工作脉冲,它控制
2010-04-13 03:37:00 5862 1
转载 Intel® 64 and IA-32 Architectures Software Developer's Manuals
Intel® 64 and IA-32 Architectures Software Developers ManualsThese manuals describe the architecture and programming environment of the Intel® 64 and IA-32 processors. Electronic versions of the
2010-04-13 03:01:00 3166
转载 男人最忍受不了的事儿!;(
美国一男性网站消息称,对男人来说,女人做下述事情时,对他们的打击最大、最残忍,最后会让其忍无可忍地离开。泰戈尔说过,上帝创造男人的时候,只是一位教师,在他的提包里只有理论课本和讲义;在创造女人的时候,他却变成了一位艺术家,在他的包里装着画笔和调色盒,所以女人才会那么美丽而多变。但艺术家的心情如夏天的天空,阴晴不定,此时创造出来的女人,也就时而温婉可人,时而冷酷苛刻。 和别的男人调情
2010-04-11 00:27:00 881
原创 Linux内核中 kernel_thread函数的若干问题说明
1.kernel thread是否只有在kernel thred中才被创建?2.kernel thread无法被kill?3.在module中创建的kernel thread,用kernel_thread函数,获得的current->mm为什么不为0 ?4. 先看一段代码:#include #include static pid_t thread_pid
2010-04-09 21:48:00 5597
原创 使用pdfFactory Pro制作PDF,自动生成目录书签
这几天要将自己的论文转换成PDF格式。我一直使用pdfFactory Pro,因为它只有不到2MB的大小 (Adobe Acrobat动则几百MB),但功能却很强大,并且使用方便(哪里可以打印哪里就可以使用)。 不过生成的时候遇到点儿新问题:如何自动生成可以导航的书签呢 (也就是像Word那样自动生成目录) ? 经过查看pdfFactory P
2010-04-08 23:43:00 25506
jce_policy-8.zip
2017-11-21
数据库理论课程的SQL实战篇
2010-05-02
2009计算机专业应聘笔试机试若干题—part2
2010-05-01
2009计算机专业应聘笔试机试若干题—part1
2010-05-01
PPC端装的蓝牙上网补丁
2009-09-07
PPC端装的蓝牙上网补丁.CAB
2009-09-06
skyeye_for_windows
2009-06-16
多文本多字串替代删除助手V1.3
2009-04-22
Linux Bash脚本编程大全
2009-04-17
linux内核设计与实现
2009-04-17
深入理解Linux内核(第二版)英文版
2009-04-17
自己动手写操作系统-于渊编著
2009-04-17
Programming computer vision applications
2009-03-04
Learning OpenCV_ Computer Vision with the OpenCV Library
2009-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人