
Linux系统
文章平均质量分 84
Linux系统
littleSnail.W
这个作者很懒,什么都没留下…
展开
-
Linux设备驱动-秒字符设备
本文主要是实现一个简单的字符设备驱动,以秒为单位记录时间。并且,提供应用程序获取当前时间。原创 2023-05-10 20:07:11 · 150 阅读 · 0 评论 -
squashfs 文件系统的制作与使用
quashfs是以linux 内核源码补丁的形式发布,附带mksquashfs工具,用于创建squash文件系统。squashfs可以将整个文件系统或者某个单一的目录压缩在一起, 存放在某个设备, 某个分区或者普通的文件中. 如果你将其压缩到一个设备中, 那么你可以将其直接mount起来使用;转载 2023-05-08 09:55:14 · 3641 阅读 · 0 评论 -
Linux下io磁盘调度策略及配置
Anticipatory的中文含义是“预料的,预想的”,这个词的确揭示了这个算法的特点,简单的说有个I/O发生的时候,如果又有进程请求I/O操作,则将产生一个默认的6毫秒猜测时间,猜测下一个进程请求I/O是要干什么的。单位是 1/100 秒。默认一次读 128kb 远小于要读的,设置大些对读大文件非常有用,可以有效的减少读 seek 的次数,这个参数可以使用 blockdev –setra 来设置,setra 设置的是多少个扇区,所以实际的字节是除以2,比如设置 512 ,实际是读 256 个字节。转载 2023-04-09 16:26:07 · 1016 阅读 · 0 评论 -
TCP cubic算法和bbr算法
前段时间调试网络相关的功能时发现,在一定的丢包率情况下,使用tcp bbr算法比cubic算法有更好的网络传输表现(拉流更顺畅)。本文仅仅记录一次网络调试经验以及网上查找的一些结论性的内容。对于两种tcp拥塞控制算法的具体实现不做深究,更多的是了解两种算法的表现情况及使用场景。原创 2023-03-25 22:39:44 · 2030 阅读 · 0 评论 -
进程调度之实时调度策略(SCHED_FIFO、SCHED_RR、MAX_RT_PRIO实时优先级)
Linux提供了两种实时调度策略:SCHED_FIFO和SCHED_RR普通的、非实时的调度策略是SCHED__NORMAL借助调度类的框架,这些实时策略并不被完全公平调度器来管理, 而是被一个特殊的实时调度器管理。具体的实现定义在文件kernel/sched_rt.c中,在接下来的内容中我们将讨论实时调度策略和算法。转载 2022-12-15 21:58:14 · 2845 阅读 · 0 评论 -
从内核角度理解Linux进程和线程的区别
本文档基于Linux5.10.61版本,从内核角度探讨进程和线程的区别。进程和线程的概念我们并不陌生,线程又被称为轻量级进程LWP(Light Weight Process)。进程创建主要使用的是fork()和vfork()系统调用,而线程创建使用的是C库里的pthread_create(),这三个最终都会调用到内核的kernel_clone()函数。在第3小结,我们会详细介绍kernel_clone()的实现流程。原创 2022-12-15 21:45:19 · 284 阅读 · 0 评论 -
Linux内存管理 之 KSM代码实现
关键词:KSM、匿名页面、COW、madvise 、MERGEABLE、UNMERGEABLE。KSM是Kernel Samepage Merging的意思,用于合并内容相同的页面。在虚拟化环境中,同一台主机上存在许多相同OS和应用程序,很多页面内容可能是完全相同的,因此可以被合并,从而释放内存供其它应用程序使用。KSM允许合并同一个进程或不同进程之间内容相同的匿名页面,这对应用程序是不可见的。转载 2022-10-11 21:34:23 · 961 阅读 · 0 评论 -
【亲测好用,墙裂推荐】精确制导 --- 把linux内核源码中需要的代码导入Source Insight
不知道大家在做Linux内核或者驱动相关开发的时候有没有碰到这样的情况,一个最新的Linux内核大约有5万多个文件,我们用Source Insight对内核创建项目工程然后建立链接,会发现一个整个项目有2个G左右的大小,而且在查找函数的调用往往会被其他没有编译进内核的文件所干扰。经过查找我发现了一个能够精准导入内核文件的方法。本文的导入脚本是从别人的项目中提取出来的,链接:。转载 2022-09-15 22:44:46 · 1111 阅读 · 0 评论 -
linux系统特殊进程简介——idle、init和kthreadd进程
Linux下有3个特殊的进程:idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2)。原创 2022-09-04 19:41:31 · 1657 阅读 · 0 评论 -
一文弄懂printf函数从用户态到内核态的执行流程
我们经常使用C库的printf函数,花时间整理一下从用户态到内核态的整个流程,涉及libc、系统调用、tty驱动、console等多个方面。原创 2022-09-04 19:30:56 · 3127 阅读 · 1 评论