随笔分类 - Linux kernel
linux kernel
摘要:Linux的中断子系统机制分为中断上文(top half)和中断下文(bottom half),中断下文的处理方式主要有softirq,tasklet和workqueue。 1.softirq softirq不支持动态分配,以32位系统为例,linux提供了32个软中断类型,系统默认的软中断类型定义
阅读全文
摘要:现在的compiler与CPU为了最佳化执行效能,必要时可能重新安排执行程式的流程顺序。 1.compiler最佳化可依据CPU的instruction issue数目,执行的latency cycles以及程式流程,在不影响程式上下文结果下重排或简化程式。 2.硬件设计最佳化: multiple
阅读全文
摘要:kernel本身就是个multithread concurrent的系统。在没有适当条件保证下,存取共享资源很容易发生race condition.共享资源包括周边IO及共享内存中的数据结构等。可通过适当的synchronization机制提供critical section来保证资源的存取。个人认
阅读全文
摘要:1.内存屏障 内存屏障的作用:内存屏障主要解决的问题是编译器的优化和CPU的乱序执行 基本的内存屏障有4种: 1.写屏障 2.数据依赖屏障(常与写屏障成对出现) 3.读屏障 4.通用内存屏障 1.1 代码优化 编译器会对c语言进行代码优化,生成的汇编语言可能和c语言执行顺序不一样。在需要严格按照c语
阅读全文
摘要:ARM linux启动流程 对于不同体系结构的处理器来说Linux的启动过程也有所不同。以S3C2410 ARM处理器为例,详细分析了系统上电后 bootloader的执行流程及 ARM Linux的启动过程。 1.引言 一个嵌入式 Linux 系统从软件角度看可以分为四个部分: 引导加载程序(bo
阅读全文
摘要:老的内核版本,不带dts内核: 1. 机器 ID,启动参数 启动文件head.S,主要完成如下几件事: (0)判断是否支持此CPU (1)如何比较机器ID是:(判断是否支持单板) (3)创建页表。 (4)使能MMU。 (5)跳转到 start_kernel (它就是内核的第一个 C 函数) 2.分析
阅读全文
摘要:低头爬山,切勿急功近利。 专注:Linux, Android开发 架构:RISCV和ARM 方向:Secure和System 业余:锻炼好身体,学好英语
阅读全文

浙公网安备 33010602011771号