自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 【通俗易懂】详解 ioctl 函数是如何操控底层的

由于要制定具体是哪一盏LED亮或灭,因此必须要传递数据(比如1表示LED1,2表示LED2等)这边是往内核写数据,因此方向位写01(只写)由于要向内核传递是操作第几盏LED,因此这边可以传递一个无符号整型数据(unsigned int)因此数据传递大小位写(4)给 LED 设备类型取一个类型码,此处随意,可取为 ‘L’,它的 ascii 码为 76,因此设备类型码位写01001100(76)给具体功能取一个功能码,此处随意,可以用 10 表示亮灯功能,用 11 表示灭灯功能,因此功能码位写。

2023-06-01 08:20:42 3092 2

原创 【极速理解】内核中解决竞态的方法之 信号量、互斥体、原子操作

​ 当一个进程获取到了信号量之后,信号量的值会减为 0 ,如果另外一个进程想获取信号量,会无法获取到值为 0 的信号量资源...

2023-05-31 13:14:44 128

原创 【清晰易懂】使用自旋锁解决Linux内核中的竞态问题分析

原因是:这两个函数被设计了一种机制:在执行这两个函数的时候,有可能会切换到其他进程进行执行任务(防止拷贝数据时间太长影响其他进程),而这个机制就与我们保护竞态资源的初衷冲突了;但是该思路犯了更低级的错误:在打开设备文件函数中进行解锁后,其他进程就开始可以获取到锁了,此时其他进程就也可以进入设备文件,对临界资源进行操作了,这与我们。原因是:自旋锁保护区间内,其他进程想要获取锁,会处于忙等状态,不断消耗 CPU 资源,因此要尽量压缩这个区间。状态,即:获取不到锁,就不断请求获取锁,直到获取到锁为止,因此。

2023-05-30 13:25:18 204 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除