2.2k 字

Linux内核的initcall机制

从根文件系统的挂载说起吧,使能了initd小文件系统的OS,最终会调用到populate_rootfs执行解压挂载的操作,搜索populate最终看到是rootfs_initcall被执行到的,...

kernelkernel
 12 字

内核调试

echo 7 4 1 7 > /proc/kernel/printk

kernelkernel
 825 字

使用proc和sysfs文件系统

proc目录详解:https://blog.csdn.net/qq_39974998/article/details/130536491 一、DEVICE_ATTR在调试驱动的时候我们一般会对于...

kernelkernel
 417 字

内核定时器&hrtime高精度定时器

一、定时器初始化void hrtimer_init(struct hrtimer *timer, clockid_t clock_id, enum hrtimer_mode mode); 123...

kernelkernel
 536 字

系统调用流程

用户态代码通过系统调用可以进入内核态,通过系统调用进入内核态,同时会切换CPU运行模式,保证了用户空间和内核空间不影响。 程序可以请求操作系统提供服务,‌如设备IO操作、‌进程间通信等。‌系统调...

kernelkernel
 2.5k 字

互斥锁、信号量、原子操作、自旋锁

linux并发产生的原因(1)多线程并发访问,(2)抢占式并发访问,进程调度可以在任意时刻抢占正在运行的线程,从而运行其他的线程(3)终端程序并发访问(4)SMP(多核)间并发访问 并发访问的后...

kernelkernel
 3.6k 字

DTS设备树

设备树(Device Tree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做 DTS(Device Tree Source),这个 DTS 文件采用树形结构描述板级设备,也就是开发板...

kernelkernel
 636 字

内核线程

一、kthread_create & kthread_run内核线程是工作在内核空间的,不属于任何一个进程,可以发生睡眠。可以用内核线程来进行一些循环的动作,比如通过循环拉高拉低gpio...

kernelkernel
 1.7k 字

中断下半部-workqueue

工作队列(work queue)是中断下半部的一种实现机制,主要用于耗时任务处理,由内核线程代表进程执行。工作队列运行于进程上下文,因此允许阻塞。 运行工作队列的内核线程,称为工作者线程(wor...

kernelkernel
 1.1k 字

中断下半部-tasklet

tasklet 是中断下半部的一种实现机制,主要用于小任务处理,耗时较短、不能阻塞的任务,用tasklet处理较合适。对于耗时较长,可以用work queue(工作队列)来处理。 tasklet...

kernelkernel
1234…7

描述文字
© 2024 mengchao666 开心地使用 Stellar 主题,星际地球第
收集了 62 颗星星 ✧ 共 83.3k 粒星尘,好像写完一本 鲁迅 的《呐喊》了啊