理解linux内核框架
文章平均质量分 65
该blog专栏,主要为建立对linux内核的框架性理解。
破木吉他
这个作者很懒,什么都没留下…
展开
-
Jeos
Jeos 又名Je’os或我的os,特别说明:代码并非原创(目前)基本是refer的,具体地给出路径见README:https://github.com/JeCortex/Jeos.git目前只具有boot及loader功能,来记录下这块的知识。...原创 2018-05-27 22:04:25 · 992 阅读 · 0 评论 -
ftrace
一直就知道有这么个工具ftrace,没使用过,恰好这段时间有个bug,想着用这个工具追踪了一下。叫ftrace总给我的感觉是个用户态工具,ftrace –help 用法就一览无余了。其实并非如此,ftrace结合debugfs挂载使用,需要手动操作一些文件系统接口实现trace的目的。如开启或关闭调试,分别向tracing_on文件写0或1,详见实例。为什么没有提供一个更方便的工具?经过这些天的试...原创 2018-05-22 22:12:30 · 3873 阅读 · 0 评论 -
radix tree
最近看了看代码,研究了一下Linux内核中诸多数据结构中的radix tree。radix tree数据结构在Linux内核中实现的很精致,没怎么看的明白!今天先来简单记录一下这段时间的一些测试和想法。 获取实例代码 https://github.com/JeCortex/jecortech/tree/master/Tree/Radix 主要实现: 1,虚拟块设备,/dev目录下标准块...原创 2018-05-12 21:15:51 · 2090 阅读 · 0 评论 -
中断嵌套
linux2.4.0内核中断嵌套处理,可能性分析如下:1,同一中断线:是否可嵌套,取决于ack是否发屏蔽中断线信号给硬件? 可嵌套中断: 场景:[cpu0 A进程 i ii] [cpu1 B进程] ,先i中断执行后执行ii。若有iii,同理。 两中断(i及ii)被中断控制器分配到同一核cpu0处理,此时使用的堆栈空间均为A的 i ii中断嵌套处理使用边缘触发方式,即i在...原创 2018-04-15 18:42:02 · 1721 阅读 · 0 评论 -
内存分页
理解linux内存管理,前面预备知识讲到了i386虚实地址方面的东西,也涉及到了一些内存页式管理的知识。这里主要延伸一下,以一个基于X86_64平台的实例来做一个直观的理解。代码://demo.c#include <stdio.h>greeting() ...原创 2018-04-07 18:15:31 · 424 阅读 · 0 评论 -
Bootloader
Bootloader是嵌入式系统加电执行的第一段代码,代码初始化cpu和相关硬件资源,最终实现引导内核加载,启动操作系统运行。Bootloader引导完内核,资源操作权便交给了内核,这时内核就像个永不退出的while(1)循环执行着。正因为这种隔离交付,内核开发者会疑惑内核怎么就能跑起来了,代码堆栈环境是如何建立起来的?等uboot bootloader并不所属于linux内核任何子...原创 2018-04-01 22:19:16 · 2175 阅读 · 0 评论 -
理解linux内核框架--预备知识
系列blogs,目的在于建立起对linux内核的框架性理解,如果能有所帮助,开心。内容将随本人的理解,不定性地扩充和更改,欢迎指正!linux内核 为方便用户辨识,linux提供了一套编号方案。linux内核版本格式为“x.yy.zz”,x介于0至9之间,yy及zz介于0至99之间。通常数字俞高版本俞新。其中x的...原创 2018-03-17 17:34:45 · 668 阅读 · 0 评论