Linux 内核

Linux 下用户空间与数据交换的方式:

1、系统调用,如常见的read  write操作

2、ioctl 

3、sysctl 和/proc/sys/——相当于更改内核相关的配置参数

4、模块与/sysfs——通过增加模块来扩展内核的功能, 通过sysfs来设置或读取模块数据

5、netlink——Netlink 是一种在内核与用户应用间进行双向数据传输的非常好的方式,用户态应用使用标准的 socket API 就可以使用 netlink 提供的强大功能,内核态需要使用专门的内核 API 来使用 netlink。

6、模块启动参数——可以通过此方法来改变内核模块的启动行为;如Linux下使用单用户模式跳过密码登陆,就是通过在grub中设置了启动参数。


内核剖析:

https://www.ibm.com/developerworks/cn/linux/l-linux-kernel/index.html


在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink  

https://www.ibm.com/developerworks/cn/linux/l-kerns-usrs/


Linux 系统内核空间与用户空间通信的实现与分析

https://www.ibm.com/developerworks/cn/linux/l-netlink/index.html

简单的内核驱动入门:

Ubuntu12.10 内核源码外编译 linux模块--编译驱动模块的基本方法

http://www.cnblogs.com/QuLory/archive/2012/10/23/2736339.html

你可能感兴趣的:(内核,kernel,操作系统,内核编程)