![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
通用知识
文章平均质量分 81
Linux 内核通用知识
sofine_ljm
记笔记专用
展开
-
Linux module参数传递
在echo时,就会调用mcq_mode_ops中的set回调,即param_set_mcq_mode()函数,在这里调用标准的 param_set_bool() 函数对参数进行设置,可以在这之前加入一些判断,类似的方法还有 param_set_uint() 等;在cat时,就会调用get回调,即param_get_bool()函数,获取参数值。例如,在上述示例中,use_mcq_mode是参数值,可以通过下面sysfs改变,从而使is_mcq_supported()的结果可以动态变化。原创 2024-05-30 17:02:23 · 448 阅读 · 1 评论 -
Linux 中断处理
中断是一种由硬件设备产生的信号,不同设备产生的中断通过中断号来区分。CPU在接收到中断信号后,根据中断号执行对应的中断处理程序(Interrupt Service Routine)除了对时间敏感且保证不被其他中断打断的部分,剩余的任务考虑在下半部执行,下半部的实现机制有以下几种。上半部:在接收到中断后只完成有严格时限要求的工作,如对中断应答或者复位硬件,此时中断是被禁止的。下半部:指中断处理流程中推后执行的那一部分,在合适的时机执行,此时允许相应所有的中断。一般将中断处理分为上半部和下半部。原创 2024-04-09 13:23:47 · 1127 阅读 · 0 评论 -
Linux 内核同步
Linux 内核同步是指控制多个进程按照一定的规则或顺序访问某些系统资源的机制,下面是几个关键概念1、临界区和竞争条件a.临界区:访问和操作共享数据的代码段b.竞争条件:多个执行线程在一个临界区同时执行2、死锁:每个线程都在互相等待,但它们永远不会释放占用的资源a.自死锁:一个执行线程试图去获取一个自己已经持有的锁,它不得不等待锁释放,但因为它忙于等待这个锁,所以自己永远也不会有机会释放释放锁b.ABBA死锁:每个线程都持有一把其他进程需要得到的锁。原创 2024-04-06 18:03:48 · 588 阅读 · 0 评论 -
Linux 系统调用
在sys.c文件中添加下面函数\n");return 0;注:可以参照其他syscall写法,如果传递1个参数,就使用SYSCALL_DEFINE1,以此类推对于ARM架构,系统调用号文件位于注意:需要将__NR_syscalls 也同步增加。原创 2024-04-06 17:14:35 · 1047 阅读 · 0 评论 -
Linux 中的loop设备
loop设备是使用文件来模拟块设备的一种技术,可以像访问磁盘的方式一样对其进行访问,是一种伪设备。原创 2024-03-29 20:26:20 · 491 阅读 · 0 评论 -
Proc 文件系统简介
一、Proc文件系统简介Proc file system是一种虚拟文件系统,其中的文件存储当前内核运行状态,用户可以通过proc文件系统中的文件对内核进行访问,和内核进行数据交互,如获取cpuinfo、meminfo、uptime等信息下图所示为即为 /proc/文件系统下的文件。二、二、Proc下常见文件介绍1、cmdline 内核启动参数2、cpuinfo 当前CPU的信息,各个CPU的型号,生产厂商和频率等3、crypto ...原创 2021-03-15 19:26:11 · 385 阅读 · 0 评论