Linux
归云十九少
这个作者很懒,什么都没留下…
展开
-
Linux kernel log
1、动态控制 log 打印的级别echo <n> > /proc/sys/kernel/printk可以控制 log 输出级别。level 小于<n>的 log会输出到console口。注意 : <n> 级的 log 不会输出。通过`cat /proc/kmsg`可以查看所有编译时允许输出的 log,比如 console_loglevel 设置为4,此时在console 口上只有 0~3 level 的 log输出,但通过 `cat /proc/...原创 2022-05-03 21:09:05 · 1606 阅读 · 0 评论 -
Linux文件系统的硬链接和软链接
在 Linux 的 ext2/3/4文件系统中,每一个普通文件或者普通目录(也被看做是文件)都存在一个 inode,每个inode都有一个本文件系统内唯一的 ID,这个 inode 保存文件的元数据,如创建时间、修改时间、文件类型、所有者、引用数等,以及关键的指向文件内容数据块指针,但不包含文件名称。文件名称是存放在文件所在目录的数据块中。目录的数据块中存放着是该目录所包含的文件的文件名称和所对应的 inode ID。软链接文件有一个对应的 inode,在这个inode中,它的文件类型是软链接文件,在原创 2021-01-30 21:46:42 · 430 阅读 · 1 评论 -
Linux线程优先级对调度影响
首先,Linux是一个时分操作系统,普通线程每次被调度获得运行的最长时间是确定的,即一个tick,通过内核 CONFIG_HZ可配置。在tick中断时会发生,内核会触发线程调度;同时,当前正在运行的线程主动让出CPU时,也会触发调度。除此之外,其它中断、系统调用等也能触发线程调度。linux线程优先级的范围是 0 ~ 139,值越小,优先级越高。user space 线程优先级的范围是 100 ~ 139,默认创建的线程优先级是120,对应的nice值是0,nice值的范围是 -20 ~ 19,对应的优原创 2020-08-18 11:33:56 · 1955 阅读 · 0 评论 -
Linux内核高优先级线程的应用
在上一篇《Linux的高优先级workqueue》中,我们使用 highpri workqueue来实现高优先级,但是这种方法有个缺陷:如果work的执行时间比较长的话,还是会被normal workqueue的其它任务打断。原因是highpri workqueue只是调整了线程的nice值,只是获得更多的CPU时间片,而不是占有CPU直到任务执行完毕。 通过 k...原创 2020-04-22 18:11:19 · 1742 阅读 · 0 评论 -
Linux的高优先级workqueue
在项目中,有一个时间关键的操作,而Linux本身是时分的操作系统,虽然绝大部分情况可以满足时间上要求,但是时间分布的离散性还是有点大。相关引入Linux Real Time 补丁,研究发现,即使引入这个补丁,依然无法到达RTOS的水平,而且使用起来还比较复杂。后来阅读workqueue代码发现,项目使用的Linux 3.18存在一个highpri workqueue,决定试验它的行...原创 2020-04-06 18:18:56 · 1990 阅读 · 0 评论