应用程序与内核模块的比较

来源:互联网 发布:安卓数据库 编辑:程序博客网 时间:2024/05/04 12:05

应用程序与内核模块的比较:

                 C语言应用程序              内核模块程序
使用函数             Libc库                 内核函数
运行空间             用户空间                 内核空间
运行权限             普通用户                 超级用户
入口函数             main()                 module_init()
出口函数             exit()                 module_exit()
编译                 Gcc –c                     Makefile
连接                 Gcc                         insmod
运行                 直接运行                     insmod

调试                 Gdb                         kdbug, kdb,kgdb



内核模块输入输出测试:

insmod *.ko                                                    rmmod *
lsmod
cat /proc/devices
mknod /dev/* c 234 0                   rm /dev/*

echo "string" > /dev/*         (验证写)
cat /dev/*                    (验证读)


内核书籍参考:

1、     《Linux Device Driver》第三版
2、     《The Linux Kernel Module Programming Guide
3,    《Understanding the linux kernel》第三版
4,    《Linux设备驱动开发详解》

1.Linux驱动开发庖丁解牛之一——开发环境的建立
http://linux.chinaunix.net/bbs/thread-1042600-1-2.html
2.Linux驱动开发庖丁解牛之二——模块编程
http://linux.chinaunix.net/bbs/thread-1043815-1-2.html
3.Linux驱动开发庖丁解牛之三——揭开字符设备驱动程序的面纱
http://linux.chinaunix.net/bbs/thread-1047068-1-1.html
4.Linux驱动开发庖丁解牛之四(1)——并发控制之信号量
http://linux.chinaunix.net/bbs/thread-1143453-1-2.html

Linux内核设计的艺术 (图解Linux操作系统架构设计与实现原理)


0 0
原创粉丝点击