
Linux
文章平均质量分 74
庞白OS
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++模板
cpp原创 2022-11-18 11:07:07 · 606 阅读 · 0 评论 -
debug kthread call stack
kthread task原创 2022-11-16 19:23:54 · 169 阅读 · 0 评论 -
横屏版esp32-s2做的usb迷你显示器,用于rpi,linux server很轻快
最近在用树莓派,然而没有配置好网络,得看下IP,才好操作。然后得抱大显示器,连上电源线,还要转换一下HDMI2VGA,如果只有一个显示器,得挪用,的确很麻烦。于是想加一个小显示屏,显示出IP信息。后来觉得这个方案还是有点别扭。刚好esp32-s2有USB otg,做一个小尺寸的320*240的小显示器应该是可行的。速度慢,帧率低点也行的。然后上google找了找,居然找到一个开源项目。GitHub - robopeak/rpusbdisp: Drivers and Tools for Robo原创 2021-09-26 18:09:31 · 2381 阅读 · 0 评论 -
linux内存/proc/meminfo,/proc/x/status,free -m
内存泄露的问题只能是水是很深的。几个基本操作说明了啥?能看明白也不是件易事?cat /proc/meminfo 系统级别free -m 概略性系统级cat /proc/xx/status 单个进程内存状态1.第一次看/PROC/MEMINFO之谜(http://linuxperf.com/?p=142),快速的过一下,部分懂,觉得应该不错。实际上这篇文章写得真不错,我要写一个相同的主题,怎么看都像抄他的!看的时候也没有多少耐心,不懂的就跳过了,看得懂的就照单收下。应该就是看山是山,看.原创 2021-03-31 10:02:31 · 638 阅读 · 0 评论 -
SLAB和内存泄露
背景:事情是这样来的,测压力测试,发现内存在缓慢上涨(一天涨5MB左右),坑D了,已经用mleak扫描过,内核模块不应该有泄露。然后开始往细节上学习linux内存知识。经过几天学习,找各种资料和书来看slab什么的。算是有所掌握了slab。怕时间一久自己给忘记了,故写下一些杂言,帮助将来快速恢复。几个问题:1.内存回收,dcache,slab 回收,它们是个啥关系,基本机制是啥?slab本身学习的过程,非常像盲人摸象的过程。有好几个方面,单独抽一个部分来学,并不好学,..原创 2021-03-25 16:31:17 · 645 阅读 · 0 评论 -
kobject,kset,ktype和sysfs
不记得以前是否搞清楚过,看了一些书,和网上的一些文章,每个人理解的方法和方式不一样,不是那么明白,好了,写一个适合自己的文档理清相关概念与技术点。原创 2021-03-09 10:04:18 · 186 阅读 · 0 评论 -
Linux RCU的一些理解
从what ,why, howto,原理,优缺点,注意事项,适用对象,这几个角度来说说。RCU的实现还是比较精巧的。what什么是RCU.Read-copy update (RCU) is a synchronization mechanism that was added to the Linux kernel in October of 2002本质是一种同步优化。但是不同于rwlock读写锁。实现上很有技巧。RCU顾名思义就是读-拷贝修改。就这个名字就有些说头:读者R...原创 2021-02-26 17:16:42 · 394 阅读 · 0 评论 -
select/poll/epoll分析:区别与联系
IO模型中一个重要的多路处理模型。背景:程序需要处理多路IO时,靠阻塞的同步IO或者非阻塞的轮询都不是太好的选择。因为阻塞IO只能处理单路IO比较有效,而非阻塞的轮询无论是否有IO到来都会形成开销。因此需要一种事件推动的模型,能对多路IO的就绪状态进行监听。类型于硬件中断驱动机制。select/poll/epoll便于用于这个目的。比较: 特点 问题点 ...原创 2019-10-30 15:56:43 · 225 阅读 · 0 评论 -
Linux kernel并发处理
理解好并发处理,有几个小概念是相关的。1.由于图灵机本身是依赖side-effect来工作,故同步互斥机制便有了必要性。代码角度来看,如果依赖了共享的变量,便意味着可能需要同步保护。如果是lamada演算的函数式编程,是不需要同步保护滴。2.死锁dead-lock的必要4条件。1. 资源的独占性(不可分享)2. 拥有者占有后不可剥夺(不可抢占)3.拥有者可占有多重资源 4...原创 2019-10-16 19:24:53 · 182 阅读 · 0 评论 -
inverse map 页框逆映射
inverse map页框逆映射在页回收中,逆映射是一个有意思,并且很有技巧的一个功能.逆映射:就是从给定的page来找到所有的引用者,特别的是PTE页表项.有了逆映射就能安心释放指定page了.不然就会杯具了.逆映射的场景:共享页框最常见的是共享库,C库基本上映射到所有的用户进程了.其次比如共享内存.**kernel的演进:**1. 2.4时代是遍历所有的进程要找到此page的引用者的...原创 2018-08-13 16:09:20 · 802 阅读 · 0 评论 -
从演进模型的视角来看VFS骨架
VFS是Linux kernel的重要组件,已经有很多书和文章进行论述.本文从一个略为特别的视角来说明VFS:通过逐步演进增加模型功能将VFS描述清楚.同时回答why与how.VFS一个主要的功能是通过path查到到对应文件.比如"/bin/sh"VFS1.0最简模型VFS是通过树来组织文件的.1仅dentry就足够建立一棵树.描述文件树."/"|...原创 2018-08-03 15:11:08 · 212 阅读 · 0 评论 -
从演进模型的视角来看ext2
以下是个人的见解,不一定对.只是说这样的视角去看ext2比较习惯.概括来讲:就是ino作为索引号,坚持并一致的用数组寻址来实现高效率.# ext2模型1.0#磁盘是块设备,是按扇区块来访问.固定大小为512byte.这个512byte是固定的,我们灵活一下.在上面再建一层弹性大小的粒度.形成更大的小格子来管理.也就是块block(blk缩写).所有的数据按块对齐align管理.把整块磁...原创 2018-08-07 10:27:13 · 214 阅读 · 0 评论