《奔跑吧,Linux内核》已经上架预售了

作者:linuxer 发布于:2017-8-5 12:10 分类:技术漫谈

不想当将军的士兵不是好士兵,不想写进程调度器的麻醉师不是好的麻醉师,不想钻研内核的FAE不是好的FAE。 笨叔叔就是这样的一个有点特别的FAE,写了一本书叫做《奔跑吧Linux内核》,每个人都会经过这个阶段,见到一座山,就想知道山后面是什么。而作为FAE,每次被客户吊打之后,总是想知道Linux的内核机制是什么,吊打久了,各种内核的脉络也就慢慢清晰了。在无数的不眠之夜以后,全球首本基于4.0内核的书籍诞生了。人们常说喜剧的内核是悲剧,那么Linux的内核呢?或许笨叔叔可以给你答案……

阅读全文>>

标签: 奔跑吧 Linux内核

评论(15) 浏览(19849)

Dynamic DMA mapping Guide

作者:linuxer 发布于:2017-7-20 19:23 分类:内存管理

这是一篇指导驱动工程师如何使用DMA API的文档,为了方便理解,文档中给出了伪代码的例程。另外一篇文档dma-api.txt给出了相关API的简明描述,有兴趣也可以看看那一篇,这两份文档在DMA API的描述方面是一致的。

阅读全文>>

标签: dma Mapping

评论(8) 浏览(46658)

蜗窝微信群问题整理

作者:linuxer 发布于:2017-7-11 19:00 分类:技术漫谈

蜗窝微信群开张了,这个群是为那些愿意慢下来,仔细研究内核技术、愿意为了搞清楚内核代码逻辑而废寝忘食的工程师准备的,在这个群里,大家讨论了一些技术问题,当然,也有一些问题没有解决和答案。鉴于微信群的特点,我还是把大家讨论的技术整理了一下,分享出来,希望能够对其他工程师有所帮助。

阅读全文>>

标签: 蜗窝微信群

评论(12) 浏览(13637)

CMA模块学习笔记

作者:linuxer 发布于:2017-6-28 18:29 分类:内存管理

本文是近期学习CMA模块的一个学习笔记,方便日后遗忘的时候,回来查询以便迅速恢复上下文。

学习的基本方法是这样的:一开始,我自己先提出了若干的问题,然后带着这些问题查看网上的资料,代码,最后整理形成这样以问题为导向的index,顺便也向笨叔叔致敬。笨叔叔写了一本书叫做《奔跑吧Linux内核》,采用了问答的方式描述了4.x Linux内核中的进程管理、内存管理,同步和中断子系统。7月将和大家见面,敬请期待。

阅读本文最好手边有一份linux source code,我使用的是4.4.6版本。

阅读全文>>

标签: Memory CMA Contiguous Allocator

评论(16) 浏览(38421)

Linux的时钟

作者:linuxer 发布于:2017-5-17 18:55 分类:时间子系统

时钟或者钟表(clock)是一种计时工具,每个人都至少有一块,可能在你的手机里,也可能佩戴在你的手腕上。如果Linux也是一个普通人的话,那么她的手腕上应该有十几块手表,包括:CLOCK_REALTIME、CLOCK_MONOTONIC、CLOCK_PROCESS_CPUTIME_ID、CLOCK_THREAD_CPUTIME_ID、CLOCK_MONOTONIC_RAW、CLOCK_REALTIME_COARSE、CLOCK_MONOTONIC_COARSE、CLOCK_BOOTTIME、CLOCK_REALTIME_ALARM、CLOCK_BOOTTIME_ALARM、CLOCK_TAI。本文主要就是介绍Linux内核中的形形色色的“钟表”。

阅读全文>>

标签: clock

评论(26) 浏览(20468)

系统休眠(System Suspend)和设备中断处理

作者:linuxer 发布于:2017-4-21 12:02 分类:电源管理子系统

本文主要描述系统休眠过程是如何和中断子系统交互的,全文的结构保持和内核文档中的power/suspend-and-interrupts.txt一致,当然,本质上也可以说这份文档是对suspend-and-interrupts.txt的翻译。

阅读全文>>

标签: suspend irq

评论(31) 浏览(36368)

中断上下文中调度会怎样?

作者:linuxer 发布于:2017-3-20 19:08 分类:进程管理

每一个Linux驱动工程师都知道这样一个准则:在中断上下文中不能睡眠。但是为什么interrupt context中不能调用导致睡眠的kernel API呢?如果驱动这么做会导致什么样的后果呢?这就是本文探讨的主题。为了理解这个主题,我们设计了一些非常简单的驱动程序和用户空间的程序,实际做实验观察实验效果,最后给出了结果和分析。

阅读全文>>

标签: 中断 调度

评论(38) 浏览(24485)

Linux调度器:进程优先级

作者:linuxer 发布于:2017-3-14 18:46 分类:进程管理

本文主要描述的是进程优先级这个概念。从用户空间来看,进程优先级就是nice value和scheduling priority,对应到内核,有静态优先级、realtime优先级、归一化优先级和动态优先级等概念,我们希望能在第二章将这些相关的概念描述清楚。为了加深理解,在第三章我们给出了几个典型数据流过程的分析。

阅读全文>>

标签: 进程优先级

评论(10) 浏览(20301)

Linux调度器:用户空间接口

作者:linuxer 发布于:2017-3-10 18:50 分类:进程管理

Linux调度器神秘而充满诱惑,每个Linux工程师都想深入其内部一探究竟。不过中国有一句古话叫做“相由心生”,一个模块精巧的内部逻辑(也就是所谓的“心”)其外延就是简洁而优雅的接口(我称之为“相”)。通过外部接口的定义,其实我们也可以收获百分之六七十的该模块的内部信息。因此,本文主要描述Linux调度器开放给用户空间的接口。

阅读全文>>

标签: 调度器 进程管理

评论(3) 浏览(11395)

Debian8 内核升级实验

作者:linuxer 发布于:2017-2-27 19:28 分类:Linux应用技巧

一直以来,我都是在使用一台ThinkPad T450 + Debian 8的机器来研究内核,Debian 8上缺省的内核版本是3.16,为什么不把内核升级到4.4.6版本上呢?反正现在蜗窝主要分析的也是这个版本的内核?

本文主要记录了整个升级过程,方便后续重复使用,哈哈,也许哪天要升级到8.8版本的内核呢,到时候可以把这份文档调出来轻松升级。

阅读全文>>

标签: 内核升级

评论(1) 浏览(12192)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog