自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 LMK实现原理

LMK实现原理

2023-02-23 10:26:57 1263

原创 Linux内存管理

内存管理简要理解

2023-02-23 10:19:12 417

原创 andorid使能ftrace失败

android使能ftrace失败

2022-08-22 20:18:11 996

原创 Ftrace实现原理

ftrace实现原理

2022-08-22 19:58:42 1635

原创 glibc堆内存管理

glibc堆内存管理

2022-08-02 19:40:13 1814 1

原创 Linux内核PID管理

linux pid管理

2022-07-19 20:49:00 1332

原创 linux链表

2022-06-29 16:56:30 596

原创 UBIFS文件系统(五)

UBIFS文件系统(五)本文主要解释如下几个问题:为什么data node在空间索引时,并不从freeable_list中查找,而为index node索引剩余空间的时候则会?写data node时,当该node对应的key在TNC中存在时,会发生node的替换,原node所在LEB的dirty值增加,该LEB可能会成为freeable LEB,但是写数据时该LEB并不在索引的范围之内,这是由于将该存在于该LEB中的node编成脏的新的node可能此时正存在于jhead的wbuf中,还没有同步到f

2022-03-06 19:12:23 1305

原创 UBIFS文件系统(四)

UBIFS文件系统(四)

2022-03-06 18:56:33 910

原创 ELF文件——DWARF源码解析

前言此前LEF文件——栈回溯中只描述了通过exidx进行栈回溯的过程,本文将描述根据eh_frame进行栈回溯的原理及过程。原理说明dwarf的核心是一张表格,该表格根据函数的压栈过程获取,以一个函数的汇编代码为例:0000000000023c80 <_dl_start>:_dl_start():/usr/src/debug/glibc/2.31+gitAUTOINC+f84949f1c4-r0/git/csu/init-first.c:96 23c80: a9bf7bfd

2021-12-21 17:32:00 3662 2

原创 ELF文件——映射

前言主要描述的是动态库的映射。动态库映射动态库加载时会根据动态库的program header table进行内存映射,主要是对具有LOAD属性的segment进行映射,以一例说明:通过readelf得到的其program header的内容为:Elf file type is DYN (Shared object file)Entry point 0x1ab19There are 10 program headers, starting at offset 52Program Heade

2021-12-03 16:11:54 1262

原创 ELF文件——栈回溯

前言本文以libunwind库对栈回溯流程进行描述。libunwind栈回溯流程libunwind包含两套使用接口,分别以前缀unw_和_Unwind标识,其中_Unwind前缀的接口是供C++异常处理的高级函数接口,unw前缀的则是更为底层通用的接口。根据libunwind代码中的configure.ac文件,在arm架构下是不使能C++的异常处理的,所以栈回溯使用的接口均为前缀位unw的函数接口。AC_MSG_CHECKING([whether to enable C++ exception s

2021-09-26 19:32:26 2727

原创 ELF文件——动态链接

前言下文所示案例为运行在armV7架构、linux平台之下的动态库文件。ELF文件格式链接器以ELF文件的固定格式对目标程序进行链接,程序加载器以ELF文件的固定格式对其进行解析。ELF文件的组成框架在链接器和加载器的视角中分别如下:如上图所示,链接器以section为单位对数据进行组织,以section header table对section进行描述,而忽略program header table中的内容;加载器以segment为单位对数据进行组织,以program header table对

2021-09-22 17:00:14 1456

原创 UBIFS文件系统(三)

UBIFS文件系统(三)ubifs文件系统为异地更新,数据总是写到日志区中,只有当page cache中的数据达到一定条件时,才会将日志区的文件数据同步到flash。将日志区的内容同步到flash的操作称之为commit,本文主要对ubifs的commit过程进行描述。...

2021-07-26 21:07:27 1147

原创 UBIFS文件系统(二)

UBIFS文件系统(二)本文主要对ubifs文件系统数据回写过程进行描述,即将处于page cache中的数据写入flash的过程。下文以ubifs_data_node为例描述ubifs中数据回写到flash的过程,其他类型node的回写过程与此类似。ubifs_data_node的数据回写过程由ubifs_jnl_write_data函数实现:将待回写的数据(固定为一个block大小)封装成为一个ubifs_data_node;在journal head中查找足够存储该ubifs_data_node的

2021-07-07 22:29:18 1287 1

原创 UBIFS文件系统(一)

UBIFS文件系统(一)UBIFS磁盘结构ubifs文件系统将整个磁盘空间划分为superblock、master、log、lpt、orphan和main六个区域,其区域划分如下所图所示:

2021-06-21 22:22:29 4627

原创 yocto中的init manager

前言根据前文Linux根文件系统挂载流程中的分析,内核通过调用根文件系统中的init程序跳转到用户空间,并对用户空间所需的基础框架进行初始化。类比于内核启动时,需要对各个功能模块初始化进行初始化,当进入用户空间时,也需要启动各项服务来搭建基础的应用环境。对于不同的init系统管理器,服务启动的方式有所区别,下文主要对yocto中使用的sysVinit、busybox init和systemd进行...

2020-04-21 20:09:10 2271 1

原创 Linux存储管理

内存访问

2020-04-11 19:59:27 171

原创 Linux根文件系统挂载流程

根文件系统的概念根文件系统是控制权从linux内核转移到用户空间的一个桥梁。linux内核就类似于一个黑匣子,只向用户提供各种功能的接口,但是功能的具体实现不可见,用户程序通过对这些功能接口的不同整合实现不同的功能需求。以用户的角度来说,应用程序调用内核的接口实现不同的功能,此时系统的控制权在用户手中,但是实际上却是先有内核的初始化提供这些接口,用户才可以使用这些接口的,也就是系统的控制权最初应...

2020-04-11 19:34:56 2207 1

原创 Linux内核makefile框架

前瞻官方文档位置:Linux/Documentation/Kbuild/makefiles.txt内核makefile框架linux内核makefile由五部分组成:Makefile:顶层makefile,主makefile,用于定义vmlinux(kernel image)和module这两个目标的编译和构建及其在软件层面的依赖。arch/$(ARCH)/Makefile:arch相关...

2020-03-29 22:11:22 652

原创 yocto基本概念

前瞻https://blog.csdn.net/qq_28992301/article/details/52872209https://www.jianshu.com/p/2b5df45e614fyocto元数据recipe:后缀为.bb的文件,是bitbake最基本的元数据文件,定义了如何构建一个target的全过程,该target的输出为一个或多个package。即当使用bitbake...

2020-03-22 11:01:16 4497 1

原创 Linux文件写缓存

问题1.应用发起的写操作何时将内容真正写入文件?2.如何保证在异常掉电的情况下,应用写入文件的数据不丢失?文件的写流程应用对文件的操作一般基于标准库函数fopen、fread、fwrite、fclose实现,本文主要是针对fwrite操作的阐述。当应用调用fwrite向文件中写入数据时,实际上经过用户空间和内核空间中的两层缓冲区,如下图所示:当用户只调用fwrite写文件时,数据首先被...

2020-03-04 22:03:07 841

libc-2.31.so

用于分析ELF文件格式

2021-12-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除