
Linux kernel
joancruise
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux内核同步介绍和方法
Linux设备驱动中必须解决的一个问题是多个进程对共享资源的并发访问,并发访问会导致竞态,linux提供了多种解决竞态问题的方式,这些方式适合不同的应用场景。 Linux内核是多进程、多线程的操作系统,它提供了相当完整的内核同步方法。内核同步方法列表如下:中断屏蔽原子操作自旋锁读写自转载 2009-09-10 16:33:00 · 706 阅读 · 0 评论 -
Spinlock 简介
在这篇文章中,我将会介绍 Kernel 提供用来使用 spinlock 的function。除此之外,我还会告诉各位,为何在 SMP 的环境里,使用 spinlock 会比将所有 CPU 的中断 disable这个方法来的有效率,我也会告诉各位如何针对不同的使用需求,使 spinlock 的 cost 再降低,进而使系统的效能更好... 前言 在Linu转载 2009-09-10 16:32:00 · 318 阅读 · 0 评论 -
linux2.6中的原子操作
原子操作,顾名思义,就是说像原子一样不可再细分。一个操作是原子操作,意思就是说这个操作是以原子的方式被执行,要一口气执行完,执行过程不能够被OS的其他行为打断,是一个整体的过程,在其执行过程中,OS的其它行为是插不进来的。在linux中提供了两种形式的原子操作: 一种是对整数进行的操作 一种是对单独的位进行操作在linux中有一个专门的atomic_t类型(一个转载 2009-09-10 16:30:00 · 900 阅读 · 0 评论 -
关于module_param()宏
在用户态下编程可以通过main()的来传递命令行参数,而编写一个内核模块则通过module_param() module_param宏是Linux 2.6内核中新增的,该宏被定义在include/linux/moduleparam.h文件中,具体定义如下:#define module_param(name, type, perm) modul转载 2009-09-10 16:32:00 · 824 阅读 · 0 评论 -
Linux slab 分配器剖析
良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux® 内核使用了源自于 Solaris的一种方法,但是这种方法在嵌入式系统中已经使用了很长时间了,它是将内存作为对象按照大小进行分配。本文将探索 slab分配器背后所采用的思想,并介绍这种方法提供的接口和用法。 动态内存原创 2009-09-10 16:31:00 · 281 阅读 · 0 评论 -
内核编程中的EXPORT_SYMBOL
EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用,即使用EXPORT_SYMBOL可以将一个函数以符号的方式导出给其他模块使用。您还可以手工修改内核源代码来导出另外的函数,用于重新编译并加载新内核后的测试。Linux symbol export method:[1] If we want e转载 2009-09-10 16:31:00 · 444 阅读 · 0 评论