add
This commit is contained in:
@@ -8,4 +8,4 @@
|
||||
*[内核测试/PROC创建文件](./test_kernel/README.md)
|
||||
|
||||
|
||||
*[竞态与并发与内核锁机制](./conur/README.md)
|
||||
*[竞态与并发与内核锁机制](./concur/README.md)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
##scull 字符设备驱动程序的设备描述
|
||||
## scull 字符设备驱动程序的设备描述
|
||||
|
||||
字符设备驱动程序是分配一段内存,然后提供对这个设备的管理方式,我们通过它提供的操作来操纵字符驱动设备,本质上是一个我们分配的模拟内存来模拟驱动设备。
|
||||
|
||||
@@ -250,9 +250,9 @@ struct file_operations {
|
||||
|
||||
这里有一个重要问题:
|
||||
|
||||
###如何安全的将数据在用户空间和逻辑空间之间拷贝?
|
||||
### 如何安全的将数据在用户空间和逻辑空间之间拷贝?
|
||||
|
||||
####解决方法:内核提供了安全的拷贝函数:
|
||||
#### 解决方法:内核提供了安全的拷贝函数:
|
||||
copy_to_user
|
||||
copy_from_user
|
||||
|
||||
|
||||
@@ -41,13 +41,13 @@ KERN_DEBUG: 用于调试信息
|
||||
## 创建/PROC 下文件 使用调试
|
||||
|
||||
|
||||
####/proc 系统
|
||||
#### /proc 系统
|
||||
1. /proc目录
|
||||
Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。
|
||||
用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。下面列出的这些文件或子文件夹,并不是都是在你的系统中存在,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。 Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在。
|
||||
除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。
|
||||
|
||||
####创建一个/proc 下的一个文件
|
||||
#### 创建一个/proc 下的一个文件
|
||||
|
||||
首先,流程图。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user