文章分类 - linux
摘要:https://blog.csdn.net/xiaohua0877/article/details/78515472 作用:一些内核调用可以用来方便标记bug,提供断言并输出信息。最常用的两个是BUG()和BUG_ON()。 当被调用的时候, 它们会引发oops,导致栈的回溯和错误信息的打印 。为什
阅读全文
摘要:在linux内核中,每一种注册了的文件系统都由一个类型为 的结构体来代表,该结构体中含有一个类型为 的域next,linux正是通过这个next域把所有注册了的文件系统连接起来的,同时,linux内核还定义了一个指向链表中第一个元素的全局指针file_systems和一个用来用来防止并发访问该链表的
阅读全文
摘要:dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 参数 if=文件名:输入文件名,缺省为标准输入。即指定源文件。 of=文件名:输出文件名,缺省为标准输出。即指定目的文件。 ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。 obs=bytes:一次输
阅读全文
摘要:linux目录大小一定是4096的倍数,但是文件大小却不一定。
阅读全文
摘要:超级块,文件系统的心脏。 如果说inode块是Unix操作系统中文件的核心,那么超级块就是文件系统的心脏。启动Unix操作系统后,发现某个文件系统无法使用,很有 可能就是超级块出现了问题。为什么这个超级块有这么大的作用呢?主要是因为 在超级块中保存了全局文件信息,如硬盘已用空间、数据块可用空间、in
阅读全文
摘要:https://blog.csdn.net/weixin_34194087/article/details/94095160 https://blog.csdn.net/weixin_30455661/article/details/94846472?depth_1 utm_source=distr
阅读全文
摘要:文件系统 inode 硬盘存储数据:分区 格式化创建文件系统 挂载 存储数据 inode用来标识(存储数据属性信息,如ls l)、block用来存储实际数据 inode大小为128k or 256k : 查看inode容量 : 查看磁盘容量 1. 磁盘被分区并格式化为ext4文件系统后,会生成一定数
阅读全文
摘要:1、halt 立刻关机 2、poweroff 立刻关机 3、shutdown h now 立刻关机(root用户使用) 4、shutdown h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown c命令取消重启 推荐使用shutdown命令
阅读全文
摘要:”is in the foreground process group
阅读全文
摘要:CPU的即时利用率的计算公式: CPU在t1到t2时间段总的使用时间 = ( user2+ nice2+ system2+ idle2+ iowait2+ irq2+ softirq2) ( user1+ nice1+ system1+ idle1+ iowait1+ irq1+ softirq1)
阅读全文
摘要:proc被称为虚拟文件系统 它是一个控制中心,可以通过更改其中某些文件改变内核运行状态, 它也是内核提空给我们的查询中心,用户可以通过它查看系统硬件及当前运行的进程信息。 Linux中许多工具的数据来源正是proc目录中的内容,比如lsmod的命令是cat /proc/modules的别名。 /pr
阅读全文
摘要:参考: 内核驱动 硬件 》 驱动 》 内核子系统(进程管理、内存管理、文件系统、设备控制、网络) 》系统调用 驱动的类型 1. 字符设备驱动 2. 块设备驱动 3. 网络设备驱动 驱动的静态加载和动态加载 动态加载M选项,生成ko文件 区别 编译选项(编写进内核还是编写为驱动) 存在位置(驱动代码在
阅读全文
摘要:功能:判断module模块是否处于活动状态,然后通过local_inc()宏将该模块的引用计数加1 在模块加载的过程中,模块的使用量就是1了,然后用try_module_get把使用量变为2,再使用module_put把使用量变为1,加载完成后使用量为0。 对于驱动模块的引用计数
阅读全文
摘要:原文链接:https://blog.csdn.net/liangkaiming/article/details/6234238 一个字符设备或者块设备都有一个主设备号和次设备号。主设备号和次设备号统称为设备号。 主设备号用来表示一个特定的驱动程序。次设备号用来表示使用该驱动程序的各设备。 例如一个嵌
阅读全文
摘要:库函数也就是我们通常所说的应用编程接口API,它其实就是一个函数定义,比如常见read()、write()等函数说明了如何获得一个给定的服务, 但是 系统调用是通过软中断向内核发出一个明确的请求,再者系统调用是在内核完成的,而用户态的函数是在函数库完成的 。 系统调用发生在内核空间,因此如果在用户空
阅读全文
摘要:在编译内核模块驱动时,如果出现如下警告信息: warning: the frame size of 1040 bytes is larger than 1024 bytes。主要是因为 内核中设置了堆栈报警大小,其默认为1024bytes 。我们主要将其修改为4096既可以消除告警信息。 如果解决:
阅读全文
摘要:https://blog.csdn.net/yun2205446823/article/details/50830466
阅读全文
摘要:alloc_chrdev_region alloc_chrdev_region是我们用来向内核申请主设备号时用的,与register_chrdev_region不同的是,alloc_chrdev_region是让内核分配给我们一个尚未使用的主设备号,不是由我们自己指定的,该函数的四个传参意义如下:
阅读全文
摘要:https://www.cnblogs.com/Blue Moon/archive/2012/09/25/2702028.html 驱动模块中有一个file结构体。该结构体中有一个 loff_t 字段 用来维护当前读写位置。
阅读全文

浙公网安备 33010602011771号