linux kernel
文章平均质量分 66
frank_rabbit
这个作者很懒,什么都没留下…
展开
-
IO端口和IO内存
IO端口和IO内存:http://www.360doc.com/content/10/1011/07/1317564_60018145.shtmlCPU地址空间:http://www.360doc.com/content/10/1010/17/1317564_59896975.shtml转载 2014-01-21 18:59:55 · 486 阅读 · 0 评论 -
Documentation/gpio.txt
Chinese translated version of Documentation/gpio.txtIf you have any comment or update to the content, please contacttheoriginal document maintainer directly. However,if you have a problemcommun转载 2014-01-21 18:59:42 · 720 阅读 · 0 评论 -
Linux Kernel Mailing List
http://kernelnewbies.org/ML转载 2014-01-21 18:59:33 · 1100 阅读 · 0 评论 -
Hot Plug
Hot-pluggable devices have been createdto solve a number of user needs. On laptop computers, PCMCIAdevices were designed to allow the user to swap cards while thecomputer was still running. This allow转载 2014-01-23 16:57:02 · 1278 阅读 · 0 评论 -
拦截系统调用
今天在ubuntu中玩了下“拦截系统调用”,记录下自己对整个实现的理解。原理在linux kernel中,系统调用都放在一个叫做“sys_call_table”的分配表里面,在进入一个系统调用的最后一步,会调用与eax中包含的系统调用号对应的特定服务例程:call *sys_call_table(,%eax,4)因为分派表中的每个表项占4个字节,因此首先把系统调用号乘以原创 2013-09-13 17:14:43 · 3124 阅读 · 2 评论 -
Module parameters in sysfs
In the 2.6 kernel, parameters to loadable modules are set up with themodule_param() macro: module_param(name, type, perm);The perm parameter was set aside for the sysfs representation ofthis转载 2014-03-03 16:22:10 · 608 阅读 · 0 评论 -
linux内核中的散列表
原理1、概念根据设定的哈希函数H(key)和处理冲突的方法将一组关键字映射到一个有限的连续的地址集(区间)上,并以关键字在地址集中的“像”作为记录在表中的存储位置,这种表便称为哈希表或散列表,这一映像过程称为哈希造表或散列,所得存储位置称哈希地址或散列地址。2、哈希函数的构造方法1)直接定址法2)数字分析法3)平方取中法4)折叠法5)除留余数法6)随机数法实原创 2014-01-21 19:35:38 · 992 阅读 · 0 评论 -
linux的netlink机制
netlink作为一种用户空间和内核空间通信的机制已经有一定年头了,它不光为了内核和用户通信,还可以作为IPC机制进行进程间通信。其实netlink定义了一个框架,人们可以基于这个框架用它来做可以做的任何事情,linux中不乏这些类似的好的框架。它们的共同点就是内核并不管它们能做什么,然而它们真的很强大,往往可以做到的事情很多,这就是内核不问策略只管实现机制,所有策略让用户实现,netlink框架转载 2014-01-20 11:29:45 · 526 阅读 · 0 评论 -
linux 内核学习 tasklet 详解
软中断被执行的优先级要高于内核线程。硬中断是可以抢占内核线程的,硬中断退出时会立即执行软中断。这时软中断执行程序是运行在中断上下文的。如果软中断执行程序在指定时间内没处理完,就会挂起来等下次下次被执行。下次被执行可以是另一个硬中断退出时在中断上下文中执行,也可以是在特殊的内核线程ksoftirq被调度到来执行,这时是运行在线程上下文的。总体来说,软中断执行程序被执行的机会会比普转载 2014-04-01 11:19:28 · 618 阅读 · 0 评论 -
Linux下半部——谁先运行
链接:http://bbs.chinaunix.net/thread-4125504-1-1.html原问:看博客有写到:一个软中断不会去抢占另一个软中断。 个人理解如下:《Linux内核设计与实现》中提到,如果软中断存在共享数据,那么需要进行加锁保护,因为同类型的软中断可以同时在不同的CPU下运行。所以,一个软中断不会去抢占另一个软中断,这句话的是在一个CPU上吧?转载 2014-04-01 15:08:32 · 629 阅读 · 0 评论 -
简单字符驱动模板
#include #include #include #include #include #include dev_t devid;static struct cdev *xx_cdev;static int xx_major = 0;static int xx_minor = 0;static struct class *xx_class;static int x原创 2014-02-10 20:35:39 · 616 阅读 · 0 评论 -
void panic(const char *fmt, ...)
-> panic.c(linux\kernel\kernel) void panic(const char *fmt, ...){ staticDEFINE_SPINLOCK(panic_lock); static charbuf[1024]; va_listargs; long i,i_next = 0; int state =0原创 2014-01-21 18:59:46 · 868 阅读 · 0 评论 -
khelper
一、创建过程start_kernel() --> rest_init() --> kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);--> kernel_init() -->原创 2014-01-21 19:00:01 · 1218 阅读 · 0 评论 -
如何在linux内核中调用用户空间的程序
http://blog.chinaunix.net/uid-20321537-id-1966898.html转载 2014-01-21 19:00:03 · 490 阅读 · 0 评论 -
内核模块相关命令:lsmod,depmod,m…
http://blog.csdn.net/future_fighter/article/details/3862795转载 2014-01-21 18:59:52 · 665 阅读 · 0 评论 -
Signed kernel module support
Since Linux kernel version 3.7 onwards, support has been addedfor signed kernel modules. When enabled, the Linux kernel will onlyload kernel modules that are digitally signed with the proper key.Th转载 2014-01-21 18:59:36 · 2198 阅读 · 0 评论 -
ubuntu 12.04出现insmod: error inserting 'hello.ko': -1 Device or resource busy的解决办法
一:insmod时候错误:1:错误信息insmod: error inserting 'hello.ko': -1 Device or resource busy2:原因:你的代码里面的设备号和系统已经存在的相冲突3:查看系统的设备号:[csharp] view plaincopycat /proc/devices 查看和你的设备号有冲转载 2014-01-22 11:42:39 · 1774 阅读 · 0 评论 -
linux内核中udevd的模块自动加载机制
http://blog.csdn.net/amicablehj/article/details/5692579转载 2014-01-21 19:00:12 · 687 阅读 · 0 评论 -
udev
udev is the device manager for the Linux kernel.Primarily, it manages device nodes in /dev and handles all user spaceactions when adding/removing devices. Also have a look at eudev, a fork ofudev.转载 2014-01-21 18:59:59 · 545 阅读 · 0 评论 -
linux depmod命令参数及用法详解--分析可载入模块的相依性
http://www.linuxso.com/command/depmod.html转载 2014-01-21 18:59:50 · 1173 阅读 · 0 评论 -
关于Linux系统启动自动加载模块
故事缘由某应用服务器搬迁至另一机柜,涉及需要重启服务器相关应用服务。其中包括keepalived服务,此服务启动会自动检测系统自带模块ipvs模式是否加载,如果未启动,会在系统日志中频繁写入日志,最终导致磁盘被日志填满。以上问题都是有ipvs模块未在系统启动之后自动加载导致。由此大家开始对于系统模块自动加载开始分析系统启动流程读取服务器硬件信息,载入BIOS的硬件信息,并取得第一个转载 2014-01-21 18:59:48 · 1302 阅读 · 0 评论 -
DKMS简介
我们都知道,如果要使用没有集成到内核之中的Linux驱动程序需要手动编译。当然,这并不是一件什么难事,即使是对于没有编程经验的Linux使用者,只要稍微有点hacker的意识,努力看看代码包里的Readme或者INSTALL文件,按部就班的执行几条命令还是很容易办到的。但这里还有一个问题,Linux模块和内核是有依赖关系的,如果遇到因为发行版更新造成的内核版本的变动,之前编译的模块是无法继续使用的转载 2014-01-22 10:13:23 · 851 阅读 · 0 评论 -
Linux内核的通知链机制
原文:http://blog.csdn.net/npy_lp/article/details/7415380内核源码:linux-2.6.38.8.tar.bz2 在Linux内核中,通知链是一种非常好的异步通信机制,它的实现也非常简单,就是通过某个单循环链表来实现。 1、通知链实例都使用notifier_block结构体来表示 [cpp] view转载 2014-01-22 11:15:30 · 635 阅读 · 0 评论 -
从内核向控制台输出字符串
#include #include #include static int __init tty_write_init(void){ char *str = "hello world! this is from kernel"; struct tty_struct *tty; tty = get_current_tty();原创 2014-04-11 17:29:33 · 763 阅读 · 0 评论