Linux 内核设计与实现
文章平均质量分 78
风雨兼程8023
这个作者很懒,什么都没留下…
展开
-
Linux 4.14 —— 内核定时器hrtimer的使用
hrtimer原创 2024-04-24 09:40:21 · 808 阅读 · 0 评论 -
Linux 4.14内核———— scatterlist介绍
scatterlist简单介绍原创 2022-06-17 14:29:52 · 4508 阅读 · 2 评论 -
栈的分析(二)————函数栈
函数栈转载 2017-04-27 11:44:40 · 292 阅读 · 0 评论 -
栈的分析(一)————函数调用栈
函数调用栈转载 2017-04-27 11:37:43 · 503 阅读 · 0 评论 -
Linux 用户空间与内核空间之高端内存详解
Linux 用户空间与内核空间之高端内存详解转载 2017-04-26 21:52:33 · 354 阅读 · 0 评论 -
linux设备模型之Class
参考:http://www.wowotech.NET/device_model/class.html 刚开始写字符设备驱动程序的时候,老师教我们自动创建设备节点,“要先创建类,在类下面创建设备,类名字不重要“。 firstdrv_class = class_create(THIS_MODULE, "firstdrv"); firstdrv_cl转载 2017-05-15 20:42:47 · 376 阅读 · 0 评论 -
Linux 设备总线驱动模型
尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。 Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得转载 2017-05-15 20:41:41 · 404 阅读 · 0 评论 -
Linux驱动之Kobject、Kset (二)uevent mdev ktype type
LDD3中说,Kobject的作用为: 1、sysfs 表述:在 sysfs 中出现的每个对象都对应一个 kobject, 它和内核交互来创建它的可见表述。 2、热插拔事件处理 :kobject 子系统将产生的热插拔事件通知用户空间。 3、数据结构关联:整体来看, 设备模型是一个极端复杂的数据结构,通过其间的大量链接而构成一个多层次的体系结构。kobject转载 2017-05-15 20:40:38 · 337 阅读 · 0 评论 -
信号量
信号量: Linux 内核的信号量在概念和原理上与用户态的信号量是一样的, 但是它不能在内核之外使用,只能在内核中,它是一种睡眠锁. 如果有一个任务想要获得 已经被占用 的信号量时,信号量会将这个进程放入一个等待队列, 然后让其睡眠, 当持有信号量的进程将信号释放后,处于等待队列中的任务将被唤醒,转载 2017-04-19 10:18:50 · 344 阅读 · 0 评论 -
原子操作
并发: 多个执行单元同时被执行.竞态: 并发的执行单元对资源 ( 硬件资源和软件上的全局变量等 ) 的访问导致的竞争状态. 并发的处理: 处理并发的常用技术是加锁或者互斥,即保证在任何时间只有一个执行单元可以操作共享资源. 在转载 2017-04-19 09:59:43 · 575 阅读 · 0 评论 -
Linux内核异步通知
“小王,听说过锦上添花吧..”我拍拍下王的头说。“还锦上添花你,为你上次提的几个东东,我是头上长包..”小王气愤地瞪着我。“啊,为啥这样呢,本来还特意拒绝了MM的月份,抽出时间打算给你说点高级的东东,看来现在是不行了”我吃惊道,“这样吧,这次就给你讲些和前边有关的东西,也不失为锦上添花不是?”。“好,我也是这么打算的,就是没好意思说,今天讲些啥呢?”小王暗淡的眼光总算闪了闪转载 2017-04-19 09:36:55 · 478 阅读 · 0 评论 -
elect、poll、epoll之间的区别
elect、poll、epoll之间的区别总结[整理] select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需转载 2017-04-19 09:11:59 · 556 阅读 · 0 评论 -
虚拟文件系统
虚拟文件系统(VFS)是linux内核和具体I/O设备之间的封装的一层共通访问接口,通过这层接口,linux内核可以以同一的方式访问各种I/O设备。虚拟文件系统本身是linux内核的一部分,是纯软件的东西,并不需要任何硬件的支持。 主要内容:虚拟文件系统的作用虚拟文件系统的4个主要对象文件系统相关的数据结构进程相关的数据结构小结 1. 虚拟转载 2017-04-22 19:39:34 · 447 阅读 · 0 评论 -
IDR机制
IDR机制在Linux内核中指的是整数ID管理机制。实质上来讲,这就是一种将一个整数ID号和一个指针关联在一起的机制。这个机制最早在03年2月加入内核,当时作为POSIX定时器的一个补丁。现在,内核中很多地方都可以找到它的身影。IDR机制原理:IDR机制适用在那些需要把某个整数和特定指针关联在一起的地方。例如,在IIC总线中,每个设备都有自己的地址,要想在总线上找到特定的设备,就必须要先发送设备的地转载 2017-04-23 23:11:14 · 464 阅读 · 0 评论 -
Linux Platform devices 平台设备驱动
设备总线驱动模型:http://blog.csdn.NET/lizuobin2/article/details/51570196 本文主要参考:http://www.wowotech.Net/device_model/platform_device.html platform平台设备驱动是基于设备总线驱动模型的,它只不过是将 device 进一步封装成为 p转载 2017-05-15 20:20:39 · 487 阅读 · 0 评论 -
kobject
核心结论: 1、sys 目录下的层次结构依赖于 kobject.parent ,未指定parent时,默认使用 kobject.kset.kobject 作为 parent,如果都没有,就出现在 /sys 目录下。 2、该 kobject 目录下的属性文件依赖于 kobject.ktype 在Linux的驱动表示中,主要有三个基本的结构,分别是转载 2017-05-15 20:38:20 · 314 阅读 · 0 评论 -
Linux设备驱动之Kobject、Kset
转载自:http://blog.csdn.net/lizuobin2/LDD3中说,Kobject的作用为: 1、sysfs 表述:在 sysfs 中出现的每个对象都对应一个 kobject, 它和内核交互来创建它的可见表述。 2、热插拔事件处理 :kobject 子系统将产生的热插拔事件通知用户空间。 3、数据结构关联:整体来看, 设备模型是一个转载 2017-05-15 20:39:18 · 291 阅读 · 0 评论 -
自旋锁
自旋锁: 自旋锁最多只能被一个可执行单元持有,自旋锁不会引起调用者睡眠, 如果一个执行线程试图获得一个已经被持有的自旋锁,那么线程就会一直进行忙碌环,一直等待下去, 在那里看是否该自旋锁的保持者已经释放了锁,“ 自旋 ” 就是这个意思.初始化自旋锁 spin_lock_init ( x ):转载 2017-04-19 10:19:56 · 711 阅读 · 0 评论
分享