发表评论取消回复
相关阅读
相关 ldd3学习之十二(3):高级字符驱动程序操作--poll/select、异步通知
1.select 能够监听多个阻塞的文件描述符,这样,不需要fork和多进程就可以实现并发服务(网络中常用来监听多个网络连接)。 原型 1. \include <sys
相关 ldd3学习之十二(1):高级字符驱动程序操作--ioctl
ioctl--- 控制硬件设备 1.原型: 用户空间 1. ioctl(int fd,unsigned long cmd, ...) "..."表示可选参数
相关 ldd3学习之十:内核数据类型
将linux 移植到新的体系结构时,开发者遇到的若干问题都与不正确的数据类型有关。坚持使用严格的数据类型和使用 \-Wall -Wstrict-prototypes 进行编译可
相关 ldd3学习之九:与硬件通信
1.I/O 端口和 I/O 内存 每种外设都是通过 读写寄存器来进行控制。在硬件层,内存区和 I/O 区域没有概念上的区别: 它们都是通过向在 地址总线和 控制总线发出电平信
相关 ldd3学习之八:内存分配
Linux内核为设备驱动提供了一个统一的内存管理接口,所以模块无需涉及分段和分页(linux只有分页管理)等问题。 1.kmalloc 函数 kmalloc 是一个功能强大
相关 ldd3学习之七:中断处理
一个“中断”仅是一个信号,当硬件需要获得处理器对它的关注时,就可以发送这个信号。 Linux 处理中断的方式非常类似在用户空间处理信号的方式。大多数情况下,一个驱动只需要为它的
相关 ldd3学习之五:并发与竞态
对并发的管理是操作系统编程中核心的问题之一。 并发产生竞态,竞态导致对 共享数据 的非控制访问,会产生非预期的结果。竞态常会导致 系统崩溃 , 数据被破坏 或者产生 安全问题
相关 ldd3学习之三: 字符驱动
通过介绍字符设备scull(Simple Character Utility for Loading Localities,区域装载的简单字符工具)的 驱动程序编写,来学习Li
相关 ldd3学习之四:调试技术
内核中的调试支持 内核开发者一般都已经建立了多项用于调试的功能。但是由于这些功能会造成额外的输出,并导致能下降,因此发行版厂商通常会禁止发行版内核中的调试功能。 为
相关 ldd3学习之二:构造和运行模块
1.设置测试系统: ①设置一套内核源码树,比如/usr/src/linux-2.6.x,参考 [http://www.kernel.org/][http_www.kernel
还没有评论,来说两句吧...