Albert's Blog

宁静致远

订阅linux内核邮件

订阅linux内核邮件列表

订阅linux内核邮件 前言 ​ 之前的学习内核总是在阅读代码,不懂的地方找公司相关领域的工程师询问,毕业两三年的时候,总感觉这种方式比较低效,有时候无法理解清除一个内核模块的来龙去脉,直到接触到Linux内核邮件列表(Linux kernel mailing list,LKML),对内核的理解有走进一步,能够接触到全世界大牛们的思维方式。 ​ Linux kernel是由分布在世界各...

linux内存地址空间[四]--新的VMA缓存方案

linux内存地址空间[四]--新的VMA缓存方案

Linux内存地址空间[四]–新的VMA缓存方案 ​ 原文作者兰新宇, 原文地址, 本文仅在原文的基础上进行了部分格式调整,对部分自己感觉文字较多的地方配上图片,以便于自己后续能够更好的理解。既然已经有人有写得好的文章了,那么自己也就懒得从头写了。要站在巨人的肩膀上(其实是因为我懒)。 ​ 这篇文章在介绍VMA的时候曾讲到:为了提高查找速度,对VMA的管理在传统的双向链表的基础...

linux内存地址空间[三]

linux内存地址空间[三]

Linux内存地址空间[三] ​ 原文作者兰新宇, 原文地址, 本文仅在原文的基础上进行了部分格式调整,对部分自己感觉文字较多的地方配上图片,以便于自己后续能够更好的理解。既然已经有人有写得好的文章了,那么自己也就懒得从头写了。要站在巨人的肩膀上(其实是因为我懒)。 一、mm_struct ​ 上文vm_area_struct中还有一个vm_mm没讲到,而这个vm_mm,则是联系v...

linux内存地址空间[二]-VMA

linux内存地址空间[二]-VMA

Linux内存地址空间[二]-VMA ​ 原文作者兰新宇, 原文地址, 本文仅在原文的基础上进行了部分格式调整,对部分自己感觉文字较多的地方配上图片,以便于自己后续能够更好的理解。既然已经有人有写得好的文章了,那么自己也就懒得从头写了。要站在巨人的肩膀上(其实是因为我懒)。 一、segments ​ 一个进程通常由加载一个elf文件启动,而elf文件是由若干segments组成的,...

linux内存地址空间[一]

linux内存地址空间[一]

Linux内存地址空间[一] 原文作者兰新宇, 原文地址, 本文仅在原文的基础上进行了部分格式调整,对部分自己感觉文字较多的地方配上图片,以便于自己后续能够更好的理解。 ​ 所谓进程地址空间(process address space),就是从进程的视角看到的地址空间,是进程运行时所用到的虚拟地址的集合。 一、32位系统的进程地址空间 ​ 以IA-32处理器为例,其虚拟地址为...

linux lab:linux lab

linux lab:一种简单的进行linux实验的方法

1. Linux Lab 概览(转) 1.1 项目简介 本项目致力于创建一个基于 Docker + QEMU 的 Linux 实验环境,方便大家学习、开发和测试 Linux 内核。 Linux Lab 是一个开源软件,不提供任何保证,请自行承担使用过程中的任何风险。 1.2 项目主页 主页 http://tinylab.org/linux-lab/ ...

Device Tree(四):文件结构(转)

Device Tree(四):文件结构(转)

Device Tree(四):文件结构(转) 前言 ​ 通过linuxer发表的三篇设备树的文章,我想你应该对设备已经有一个非常充分的认识了。本篇文章即作为一篇Device Tree的总结性文章,同时也作为linuxer文章的补充。本篇文章曾发表在Linuxer公众号,链接为: http://mp.weixin.qq.com/s/OX-aXd5MYlE_YoZ3p32qWA 1. D...

Device Tree(三):代码分析(转)

Device Tree(三):代码分析(转)

Device Tree(三):代码分析(转) 一、前言 Device Tree总共有三篇,分别是: 1、为何要引入Device Tree,这个机制是用来解决什么问题的?(请参考引入Device Tree的原因) 2、Device Tree的基础概念(请参考DT基础概念) 3、ARM linux中和Device Tree相关的代码分析(这是本文的主题) 本文主要内容是:以Devic...

Device Tree(二):基本概念(转)

Device Tree(二):基本概念(转)

Device Tree(二):基本概念(转) 一、前言 ​ 背景知识(为何要引入Device Tree,这个机制是用来解决什么问题的)请参考引入Device Tree的原因,本文主要是介绍Device Tree的基础概念。简单的说,如果要使用Device Tree,首先用户要了解自己的硬件配置和系统运行参数,并把这些信息组织成Device Tree Source file。通过DTC(D...

Device Tree(一):背景介绍(转)

Device Tree(一):背景介绍(转)

Device Tree(一):背景介绍(转) 一、前言 ​ 原文地址:http://www.wowotech.net/device_model/why-dt.html ​ 作为一个多年耕耘在linux 2.6.23内核的开发者,各个不同项目中各种不同周边外设驱动的开发以及各种琐碎的、扯皮的俗务占据了大部分的时间。当有机会下载3.14的内核并准备学习的时候,突然发现linux kerne...

Linux命令搜索引擎

快速索引linux常用命令的用法

Linux命令搜索引擎 ​ 周末逛github的时候发现了一个linux命令搜索工具,可以快速索引常用的linux命令。当然使用man也可以实现这个功能,但是这个索引是基于中文的,比较好用,这里记录下吧。 ​ 下图是搜索框的界面: ​ 索引地址:https://wangchujiang.com/linux-command/ ​ 只需要在搜索框里面输入需要查询的命令,点击搜索...

linux进程调度器-CPU负载(转)

linux进程调度器-CPU负载,浅析linux进程调度的负载均衡

Linux进程调度器-CPU负载 原文地址:https://mp.weixin.qq.com/s/ou8UesjAR1XGtspCy2KA5Q 公众号:LoyenWang 1. 概述 CPU负载(cpu load)指的是某个时间点进程对系统产生的压力。来张图来类比下(参考Understanding Linux CPU Load) CPU的运行能力,就如大桥的通行能力,...

网卡收发包流程浅析(一)(转)

网卡收发包流程浅析(一)--环形缓冲区

网卡收发包流程浅析(一)–环形缓冲区(转) 一、前言 ​ 原文地址:https://ylgrgyq.github.io/2017/07/23/linux-receive-packet-1/ 二、环形缓冲区收包 环形缓冲区示意图: ​ 关于环形缓冲区,维基百科上有专门的动画进行讲解—–https://en.wikipedia.org/wiki/Circular_buffer ​...

Linux内核开发文档

Linux内核开发文档

Linux内核开发文档 Linux 内核文档 该文件是 Linux 内核文档树中最顶层的,会随着内核一起更新;其目的是把散乱的文档集成为 一个逻辑清晰的完整版,非常欢迎改善文档,如果想做出自己的贡献,加入vger.kernel.org 中的 linuxdoc 列表中 许可证文件 见 Linux 内核源代码 - Linux kernel licensing rules 用户...