Fork me on GitHub
摘要: 1.内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。内核需要多个执行流并行,为了防止可能的阻塞,多线程化是必要的。 内核线程就是内核的分身,一个分身可以处理一件特定事情。Linux内核使用内核线程来将内核分成几个功能模块,像kswapd、kfl 阅读全文
posted @ 2021-10-24 21:23 BabyMelvin 阅读(819) 评论(0) 推荐(1)
摘要: Linux各种栈 进程栈、 线程栈、 内核栈、 中断栈 1.栈是什么?栈有什么作用? 首先,栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out),数据只能在串列的一端 (称为:栈顶 top) 进行 推入 (push) 和 阅读全文
posted @ 2021-10-24 20:24 BabyMelvin 阅读(282) 评论(0) 推荐(1)
摘要: ARM linux启动流程 对于不同体系结构的处理器来说Linux的启动过程也有所不同。以S3C2410 ARM处理器为例,详细分析了系统上电后 bootloader的执行流程及 ARM Linux的启动过程。 1.引言 一个嵌入式 Linux 系统从软件角度看可以分为四个部分: 引导加载程序(bo 阅读全文
posted @ 2021-10-24 10:35 BabyMelvin 阅读(1252) 评论(0) 推荐(0)
摘要: 老的内核版本,不带dts内核: 1. 机器 ID,启动参数 启动文件head.S,主要完成如下几件事: (0)判断是否支持此CPU (1)如何比较机器ID是:(判断是否支持单板) (3)创建页表。 (4)使能MMU。 (5)跳转到 start_kernel (它就是内核的第一个 C 函数) 2.分析 阅读全文
posted @ 2021-10-23 23:20 BabyMelvin 阅读(704) 评论(0) 推荐(1)
摘要: 内核Makefile 分析Makefile:找到第一个目标文件和链接文件。 第一个目标文件(一路跟踪启动过程) 链接文件:它表示内核应该放在哪里,里面的代码是如何排布的。 Linux内核Makefile文件分类 顶层Makefile:是所有Makefile文件的核心,从总体上控制着内核的编译,链接 阅读全文
posted @ 2021-10-21 22:49 BabyMelvin 阅读(475) 评论(0) 推荐(0)
摘要: Linux编译系统 1.概述 从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这同过去的编译系统有很大的不同,尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的 Makefile,然后 阅读全文
posted @ 2021-10-21 22:43 BabyMelvin 阅读(2238) 评论(0) 推荐(0)
摘要: 低头爬山,切勿急功近利。 专注:Linux, Android开发 架构:RISCV和ARM 方向:Secure和System 业余:锻炼好身体,学好英语 阅读全文
posted @ 2021-10-21 22:37 BabyMelvin 阅读(83) 评论(1) 推荐(0)