宋宝华的blog

Linux Consultant

《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)进展同步更新

本博实时更新《Linux设备驱动开发详解(第3版)》的最新进展。 2015.4 完稿。 2015年8月9日,china-pub开始上线预售:http://product.china-pub.com/4733972

2014-06-30 20:22:54

阅读数:43873

评论数:116

宋宝华: 迭代螺旋法——关于Linux学习方法的血泪建议

在下是一个码农,也号称是一个老湿,平生阅码农无数(吹牛的 ^-^)。经由大量的案例,我能够理解了为什么很多码农学了很多年Linux,还是感觉没有掌握要领,仍然内心崩溃,最终对Linux吐血而亡,正所谓:人世间最大的痛苦,莫过于,码农落花有意,而Linux流水无情....... 在这个2018...

2018-08-18 11:19:35

阅读数:1010

评论数:4

经历≠经验,码农如何工作10年依然是菜鸟?

引言说实话,工作10年不等于是高手;高手也不等于要工作时间久。圣人曾经曰过:“工作经历不等于工作经验”。工作10年,只是一个“经历”,而“经历”不能得以总结、归纳和升华,就无法转化为“经验”。一个2年“工作经验”的工程师水平可能远高于一个10年“工作经历”的工程师。如果程序员在35岁的时候,“工作...

2018-05-25 23:35:21

阅读数:7728

评论数:25

Linux的page cache使用情况/命中率查看和操控

这里总结几个Linux文件缓存(page cache)使用情况、命中率查看的工具。perf-tools里面的cachestat来自于大名鼎鼎的Brendan Gregg的cachestat,已经被加到他的perf-toolshttp://www.brendangregg.com/blog/2014...

2018-05-25 23:33:20

阅读数:1543

评论数:0

宋宝华:swappiness=0究竟意味着什么?

本文解释swappiness的作用,以及swappiness=0究竟意味着什么。内存回收我们都知道,Linux一个进程使用的内存分为2种:file-backed pages(有文件背景的页面,比如代码段、比如read/write方法读写的文件、比如mmap读写的文件;他们有对应的硬盘文件,因此如果...

2018-01-30 19:20:16

阅读数:1503

评论数:0

宋宝华:关于Ftrace的一个完整案例

Ftrace简介Ftrace是Linux进行代码级实践分析最有效的工具之一,比如我们进行一个系统调用,出来的时间过长,我们想知道时间花哪里去了,利用Ftrace就可以追踪到一级级的时间分布。Ftrace案例写一个proc模块,包含一个proc的读和写的入口。test_proc_show()故意调用...

2018-01-24 23:49:39

阅读数:5047

评论数:0

宋宝华:关于DMA ZONE和dma_alloc_coherent若干误解的澄清

本文已首先在Linuxer公众号(ID: LinuxDev)发表,先转回我的blog也发表。转载请注明出处。1.DMA ZONE的大小是16MB?这个答案在32位X86计算机的条件下是成立的,但是在其他的绝大多数情况下都不成立。首先我们要理解DMA ZONE产生的历史原因是什么。DMA可以直接在内...

2018-01-22 21:23:49

阅读数:2586

评论数:1

C语言大型软件设计的面向对象-宋宝华-专题视频课程

C语言代码一旦达到一定规模,就特别强调良好的架构设计,以保证代码的可读性好、代码简洁以及可复用。此时,软件设计师势必要用C语言来做面向对象的设计。不能克服面向对象这一关,也是很多人无法读懂Linux内核、驱动等架构比较庞大的软件的主要技术壁垒之一,因为这些软件里面充满了对象式的设计。 本课程以案例...

2017-11-17 15:18:56

阅读数:110

评论数:0

宋宝华:火焰图:全局视野的Linux性能剖析

火焰图(Flame Graph)是由Linux性能优化大师Brendan Gregg发明的,本文用最简单的实例讲解什么是火焰图,怎么画出来火焰图,火焰图的优点是什么。本文首发于Linuxer微信公众号,转发回blog。

2017-11-14 10:43:49

阅读数:12997

评论数:1

打通Linux脉络系列:进程、线程和调度-宋宝华-专题视频课程

本课程分成4个组成部分,每次课60分钟,每次课后留下3-4个练习题,可以在Linuxer公众号留言讨论答案和做题心得。 第一部分:深入彻底搞清楚进程生命周期,进程生命周期创建、退出、停止、以及僵尸是个什么意思; 第二部分:深入分析进程创建的写时拷贝技术、以及Linux的线程究竟是怎么回事(为什...

2017-09-14 17:18:20

阅读数:124

评论数:0

Linux的任督二脉:进程调度和内存管理

比如进程的调度延时是多少?Linux能否硬实时?多核下多线程如何执行?系统的内存究竟耗到哪里去了?我写的应用程序究竟耗了多少内存?什么是内存泄漏,如何判定内存是否真的泄漏?CPU速度、内存大小和系统性能的关联究竟是什么?内存和I/O存在着怎样的千丝万缕的联系?

2017-08-23 14:45:09

阅读数:35126

评论数:20

《总线设备驱动模型》《深入探究Linux的设备树》讲座ppt分享和录播地址发布

本课程的录播视频已经放在了(已经报名直播的看录播无需重新报名): http://edu.csdn.net/course/detail/5627 《Linux总线、设备、驱动模型》的录播视频放在了(已经报名直播的看录播无需重新报名): http://edu.csdn.net/course/detai...

2017-08-18 17:03:01

阅读数:6002

评论数:3

深入探究Linux/VxWorks设备树视频教程-宋宝华-专题视频课程

很多人看了很Linux多设备树的资料后,还是不会用设备树。该Linux设备树视频课程假设一个全新的电路板,上面有4个ARM核,一片中断控制器、一个UART、一个GPIO控制器、一个I2C控制器、一个SPI控制器、I2C接一个触摸屏、一个以太网控制器,并依据这个假设的电路板,从头到尾构建一个新的dt...

2017-08-16 14:43:34

阅读数:89

评论数:0

探究Linux的总线、设备、驱动模型-宋宝华-专题视频课程

理解Linux的总线、设备、驱动模型是理解Linux驱动框架的关键,也是破解Linux为什么极易移植到不同的平台,以及被如此多广泛领域使用根源的关键。我的CSDN直播将以浅显易懂地语言,深入地把这一模型剖析清楚,道出这样的设计的好处。...

2017-07-06 20:14:13

阅读数:110

评论数:0

让天堂的归天堂,让尘土的归尘土——谈Linux的总线、设备、驱动模型

写代码,适用于同样的原则,那就是把正确的代码放到正确的位置而不是相反。同样的一个代码,可以出现在多个可能的位置,它究竟应该出现在哪里,是软件架构设计的结果,说白了一切都是为了高内核和低耦合。

2017-06-28 22:56:44

阅读数:11587

评论数:15

宋宝华:论程序员的时代焦虑与焦虑的缓解

生活在2017年的程序员,不焦虑的确实没有几个。经历了2016年的房价暴涨以及此前房价的数次狂飙猛进,能心静如水的人那内心的强大恐怕不是一般人可以企及。本人一介码农兼教书匠,时常走街串巷,曾经在好多公司讲过同样的一句话,“在中国,一个程序员的成功不取决于你的代码是否写的好,而取决于你是否在正确的时...

2017-05-25 18:02:50

阅读数:20407

评论数:57

宋宝华:关于罪与欲望的深渊 - 《人民的名义》观后感

《人民的名义》无疑是继《潜伏》后最佳的国产电视剧,没有之一。我们抛开它的反腐败政治目的不谈,电视剧本身关于罪与欲望,关于最深层次人性的揭秘,也深深地震撼每一个人。

2017-04-26 20:46:14

阅读数:7488

评论数:5

宋宝华- Linux namespace - Docker 背后的故事

名称空间是在OS之上实现容器与主机隔离,以及容器之间互相隔离的Linux内核核心技术。根据《Docker 最初的2小时(Docker从入门到入门)》一文,名称空间本质上就是在不同的工作组里面封官许愿。本文接下来从细节做一些讨论。

2017-03-04 15:33:11

阅读数:10112

评论数:3

宋宝华- KVM最初的2小时(KVM从入门到入不了门)

接着《Docker最初的2小时(Docker从入门到入门)》继续聊,再花10个小时写出《KVM最初的2小时(KVM从入门到入不了门)》。坦白讲,由于KVM远远比Docker要复杂,还是要2小时爱上KVM,这绝非难事,所以很可能入不了门。原则上,我们继续迭代学习,这篇文章建立你对KVM的最好初印象,...

2017-02-23 04:39:44

阅读数:16833

评论数:4

宋宝华:Docker 最初的2小时(Docker从入门到入门)

最初的2小时,你会爱上Docker,对原理和使用流程有个最基本的理解,避免满世界无头苍蝇式找资料。本人反对暴风骤雨式多管齐下狂轰滥炸的学习方式,提倡迭代学习法,就是先知道怎么玩,有个感性认识,再深入学习高级用法,深层原理,一轮轮迭代。坚决反对一上来就搞几百页厚的东西把人脑子弄乱。Docker是什么...

2017-02-21 09:42:31

阅读数:58523

评论数:33

提示
确定要删除当前文章?
取消 删除