2024年9月7日

并发控制机制选择原则

摘要: 1. 不允许睡眠的上下文需要采用忙等待类 2. 可以睡眠的上下文可以采用堵塞类 3. 在异常上下文中访问的竞争资源一定要采用忙等待类 4. 临界区操作较长的应用建议采用堵塞类 5 临界区很短的操作建议采用忙等待类 6. 中断屏蔽仅在有与中断上下文共享资源时使用 7. 共享资源仅仅是一个整型变量时,使 阅读全文

posted @ 2024-09-07 12:14 f1engmin11 阅读(2) 评论(0) 推荐(0) 编辑

时钟中断

摘要: 1. 硬件滴答时钟,周期性产生中断,每中断异常,jiffies_64的值加1,jiffies是jiffies_64的低32位 2. HZ,一个宏定义,一般为100或者200,代表1秒时间对应的滴答中断次数 阅读全文

posted @ 2024-09-07 12:13 f1engmin11 阅读(5) 评论(0) 推荐(0) 编辑

内核定时器

摘要: 有滴答定时器触发软中断 内核定时器时间到达后,执行回调函数,回调函数执行过程,属于:异常上下文 这就意味着,在回调函数内,不能有堵塞产生。 Linux在驱动里做定时循环 - f1engmin11 - 博客园 (cnblogs.com) 阅读全文

posted @ 2024-09-07 12:13 f1engmin11 阅读(6) 评论(0) 推荐(0) 编辑

延时机制

摘要: 非堵塞类: 1. 短延时,不睡眠,在延时函数内,跑循环 2. 长延时 堵塞类: msleep 深度睡眠 msleep_interruptible 浅度睡眠 延时类型选择原则: 堵塞时,任务会进入等待队列,等堵塞结束后,任务会出现出队,这个过程产生了任务切换的过程,会产生开销。所以在任务上下文中短延时 阅读全文

posted @ 2024-09-07 12:13 f1engmin11 阅读(4) 评论(0) 推荐(0) 编辑

2024年9月6日

Linux在驱动里做定时循环

摘要: 1. 使用内核定时器 实现 思路是,在驱动里使用一个内核定时器,定时一个时间后,执行回调函数,再在回调函数里重新设置一次定时时间,以此往复,在回调函数里里执行自己的业务 Linux4.4内核 定时器内核源码位置:linux-4.1.15/kernel/time/timer.c /* 一些变量 */# 阅读全文

posted @ 2024-09-06 09:12 f1engmin11 阅读(12) 评论(0) 推荐(0) 编辑

2024年9月4日

root 添加登录密码(基于buildroot)

摘要: 通过以前这篇文章 Linux启动后自动登录root进入控制台 - f1engmin11 - 博客园 (cnblogs.com) 我们可以知道,Linux启动后,是否自动登录 root 用户,可以通过修改 /etc/inittab 文件的 respawn 动作来实现。 下面记录一下如何 添加 root 阅读全文

posted @ 2024-09-04 16:03 f1engmin11 阅读(104) 评论(0) 推荐(0) 编辑

Linux启动后自动登录root进入控制台

摘要: 通过修改 /etc/inittab 文件来实现 1. buildroot 编译出来的 /etc/inittab 文件如下 # # Copyright (C) 2001 Erik Andersen <andersen@codepoet.org> # # Note: BusyBox init doesn 阅读全文

posted @ 2024-09-04 10:09 f1engmin11 阅读(69) 评论(0) 推荐(0) 编辑

导航