![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 88
学习记录,内核、驱动、应用
起风就扬帆
自动驾驶芯片从业者
展开
-
Linux 字符设备驱动
write 方法是字符设备驱动中的一个文件操作函数,用于处理用户空间程序通过系统调用 write 向设备文件写入数据时的操作。在字符设备驱动中,write 方法通常用于接收用户空间传递的数据,并进行相应的处理,可能包括将数据写入设备硬件、缓存或内核数据结构中。llseek 方法是字符设备驱动中的一个文件操作函数,用于处理用户空间程序通过系统调用 lseek 对设备文件的文件位置进行定位时的操作。设备注册时,必须注册主设备和次设备号,主设备标这个设备,次设备用作本地设备列表检索。原创 2023-12-09 20:11:22 · 87 阅读 · 0 评论 -
System V信号量
System V信号量不是用来在进程间传输数据的,相反,他们是用来同步进程的动作,信号量的一个常见用途时同步对一块共享内存的访问以防止出现一个进程在访问共享内存的同时另一个进程更新这块内存。一个信号量是一个由内核维护的整数,其值被限制为大于或等于0;在一个信号量上可以执行各种操作(即系统调用),包括:将信号量设置为一个绝对值,在信号量的当前值的基础上加上一个数量在信号量当前值的基础上减去一个数量等待信号量的值等于0。转载 2023-09-21 14:18:53 · 151 阅读 · 0 评论 -
Linux中的位图(bitmap)
它可以高效地表示大量的布尔值,并且在许多情况下可以提供快速的位操作。例如,一个位图可以用于跟踪某个设备的各个寄存器的状态,每个位对应于一个寄存器,位值表示寄存器的状态。一个32位的整数可以表示32个布尔值,而实际的位图数据结构可能需要更多的存储空间。每个位对应于内存中的一块区域,位值为1表示该区域已被分配,位值为0表示该区域空闲。每个位对应于文件系统中的一个块,位值为1表示该块已被分配,位值为0表示该块空闲。可读性:使用整数来表示位图可能会降低代码的可读性,因为位运算的操作可能不够直观。原创 2023-08-31 15:35:48 · 530 阅读 · 0 评论