宋宝华的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

阅读数:43205

评论数:116

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

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

2018-08-18 11:19:35

阅读数:550

评论数:2

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

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

2018-05-25 23:35:21

阅读数:7352

评论数:24

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

阅读数:1013

评论数:0

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

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

2018-01-30 19:20:16

阅读数:1383

评论数:0

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

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

2018-01-24 23:49:39

阅读数:4233

评论数: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

阅读数:2022

评论数:1

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

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

2017-11-14 10:43:49

阅读数:12290

评论数:1

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

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

2017-08-23 14:45:09

阅读数:33309

评论数:20

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

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

2017-08-18 17:03:01

阅读数:5830

评论数:3

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

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

2017-06-28 22:56:44

阅读数:11408

评论数:15

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

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

2017-05-25 18:02:50

阅读数:19953

评论数:56

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

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

2017-04-26 20:46:14

阅读数:7268

评论数:5

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

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

2017-03-04 15:33:11

阅读数:9716

评论数:3

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

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

2017-02-23 04:39:44

阅读数:16247

评论数:4

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

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

2017-02-21 09:42:31

阅读数:56549

评论数:32

在ARM Linux内核中增加一个新的系统调用

实验平台内核版本为4.0-rc1,增加的系统调用仅仅是简单打印一个Hello World,最后我们在用户空间用swi验证。

2016-05-02 12:55:45

阅读数:8613

评论数:1

《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)网购链接

《Linux设备驱动开发详解:基于最新的Linux 4.0内核》

2015-08-10 14:42:59

阅读数:14202

评论数:9

《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)前言

Linux从未停歇脚步。Linus Torvalds,世界上最伟大的程序员之一,Linux内核的创始人,Git的缔造者,仍然在没日没夜的合并补丁,升级内核。做技术,从来没有终南捷径,拼的就是坐冷板凳的傻劲。

2015-04-28 00:15:12

阅读数:36987

评论数:50

Linux电源管理系统架构和驱动(1)-Linux电源管理全局架构

1.   Linux电源管理全局架构Linux电源管理非常复杂,牵扯到系统级的待机、频率电压变换、系统空闲时的处理以及每个设备驱动对于系统待机的支持和每个设备的运行时电源管理,可以说和系统中的每个设备驱动都息息相关。对于消费电子产品来说,电源管理相当重要。因此,这部分工作往往在开发周期中占据相当大...

2015-02-21 12:21:12

阅读数:12538

评论数:1

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