![](https://img-blog.csdnimg.cn/20210916132921370.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux源码学习
文章平均质量分 56
学些linux相关的内核源码
习惯就好zz
一个无趣的人
展开
-
Ubuntu下直接编译内核的方法
在ubuntu下建立编写内核和测试环境原创 2022-09-26 10:12:56 · 320 阅读 · 0 评论 -
Linux内核子系统
一、内存管理子系统1.1 子系统简介 System Call Interface(SCI):系统调用接口 Porcess Management(PM):进程管理 Virtual File System(VFS):虚拟文件系统 Memory Management(MM):内存管理 Network Stack:网络堆栈 Arch:Cpu相关的信息 Device Dr原创 2017-08-15 09:06:42 · 348 阅读 · 0 评论 -
Linux内核链表
一、内核链表简介 链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。二、内核链表结构 struct list_head {原创 2017-08-15 09:06:45 · 211 阅读 · 0 评论 -
深入linux内核架构 进程状态和用户空间(一)
进程的几种状态运行:该进程此刻正在执行。等待:进程能够运行,但没有得到许可。在调度器在下一次任务切换时选择该进程。睡眠:在睡眠无法运行,它在等待一个外部事件。调度器无法在下一次任务切换时选择该进程。切换流程在一对排列的进程队列中,当进程已经就绪,但是CPU分配给其他进程时,进程一直会保持在“等待”,当调度器给予CPU时间后,会变为“运行”(路径④)在调度器决定从该进程回收CPU资源时,进程从“运行”改为“等待”(路径②)如果进程必须等待事件,就从”运行“转变为”睡眠“(路径①)。所有事原创 2021-03-08 10:35:54 · 248 阅读 · 0 评论 -
linux内核链表函数学习
1.INIT_LIST_HEAD: 创建链表 点击(此处)折叠或打开 /* * Simple doubly linked list implementation. * * Some of the internal fun原创 2017-01-11 21:38:25 · 306 阅读 · 0 评论 -
_IO, _IOR, _IOW, _IOWR 宏的用法与解析
今天在写字符驱动验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不了解是什么意思,那个cmd还有什么命令码了什么的,还好google下,觉得这篇文章写的不错,就转来看看:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:b原创 2017-01-11 21:38:31 · 193 阅读 · 0 评论