linux内核细节
分析linux内核技术细节
badman250
专注分享IT知识技能
展开
-
kgdb跟踪调试模块
查看模块地址:/sys/module/xfs/sections/.text .data .bss#cat /sys/module/xfs/sections/.text0xffffffffa0117000# cat /sys/module/xfs/sections/.data0xffffffffa01bb000# cat /sys/module/xfs/sec...原创 2020-02-01 22:06:11 · 478 阅读 · 0 评论 -
start_kernel启动函数——简版
start_kernel函数是内核的入口函数,定义在init/main.c文件中。我们来一个一个函数看。asmlinkage __visible void __init start_kernel(void){ char *command_line; char *after_dashes; set_task_stack_end_magic(&ini...原创 2018-04-21 20:54:21 · 3801 阅读 · 0 评论 -
Linux per-cpu机制
Linux操作系统,特别是针对SMP或者NUMA架构的多CPU系统的时候,描述每个CPU的私有数据的时候,Linux操作系统提供了per_cpu机制。 1.1 定义per_cpu机制就是让每个CPU都有自己的私有数据段,便于保护与访问。相关宏定义在include/linux/percpu-defs.h文件中:/* * Normal declaration and definiti...原创 2018-03-26 14:41:59 · 3128 阅读 · 0 评论 -
start_kernel启动函数
start_kernel启动函数机器上电后,会进行BIOS自检,之后是系统引导,内核加载,最后是初始化阶段。我们这里主要关心的是初始化阶段(start_kernel)的事情,而从上电到初始化之前的事情直接忽略了。 start_kernel函数, 也是内核启动函数,位于init/main.c文件中,该函数中调用的函数都是一个大分支。asmlinkage void __init ...原创 2018-03-19 22:07:11 · 755 阅读 · 0 评论