自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 深入Linux内核(内存篇)—页表映射分页

深入Linux内核(内存篇)—页表映射一、分页二、X86中的分页三、ARM中的分页四、Kernel中的分页操作系统的核心任务是对系统资源的管理,而重中之重的是对CPU和内存的管理。为了使进程摆脱系统内存的制约,用户进程运行在虚拟内存之上,每个用户进程都拥有完整的虚拟地址空间,互不干涉。而实现虚拟内存的关键就在于建立虚拟地址(Virtual Address,VA)与物理地址(Physical Address,PA)之间的关系,因为无论如何数据终究要存储到物理内存中才能被记录下来。如下图所示,进程1和进程

2020-10-11 23:41:26 7324 7

原创 深入Linux内核(内存篇)—页表映射分段

深入Linux内核(内存篇)–页表映射

2020-09-16 23:12:58 696

原创 数据结构与算法(C)—矩阵

数据结构与算法—矩阵一、打印矩阵二、转圈打印矩阵三、方阵顺时针旋转90度四、测试程序本文变量命名前缀:全局变量:g_数组:a指针:p结构体:stunsigned int:ui本文代码可以到Github下载:https://github.com/liyuewu-github/DataStructure一、打印矩阵二、转圈打印矩阵三、方阵顺时针旋转90度四、测试程序...

2020-08-11 23:29:48 2544

原创 数据结构与算法(C)—散列表

数据结构与算法—散列表一、HASH数据结构定义二、HASH表创建三、HASH表插入四、HASH表查找五、HASH表删除六、HASH表打印七、测试程序本文变量命名前缀:全局变量:g_数组:a指针:p结构体:stunsigned int:ui本文代码可以到Github下载:https://github.com/liyuewu-github/DataStructure一、HASH数据结构定义需要定义HASH冲突域。HASH TABLE中增加HASH算法和排序算法,增强HASA TABLE可用

2020-07-30 22:37:39 346

原创 数据结构与算法(C)—二叉树

数据结构与算法—二叉树一、二叉树定义二、构建二叉树三、二叉树遍历四、二叉树公共节点五、测试代码本文变量命名前缀:全局变量:g_数组:a指针:p结构体:stunsigned int:ui本文代码可以到Github下载:https://github.com/liyuewu-github/DataStructure一、二叉树定义/* 二叉树 */typedef struct BiTreeNode{ unsigned int uiValue; struct BiTreeNode *pst

2020-07-29 00:29:49 173

原创 数据结构与算法(C)—单链表

数据结构与算法—链表

2020-07-28 23:47:53 204

原创 深入Linux内核(进程篇)—进程切换之ARM体系架构

进程切换

2020-07-26 02:57:39 3305

原创 ARM体系架构—ARMv7-A指令集:协处理器指令

ARM体系架构—ARMv7-A指令集一、ARMv7-A指令集二、ARMv7-A协处理器二、ARMv7-A协处理器指令七、ARMv7-A伪指令一、ARMv7-A指令集ARMv7-A架构是32位处理器架构。也是load/store架构,即数据处理指令操作在通用寄存器完成,只有load/store指令可以访问内存。此外ARM指令集还有一大特点,就是ARM指令集几乎所有的指令都可以增加条件码。ARM指令集可以归为一下四类:数据处理操作(ALU操作例如ADD);内存操作(load/store);控制流(

2020-07-22 00:45:28 1813

原创 ARM体系架构—ARMv7-A协处理器

ARM体系架构—ARMv7-A协处理器一、ARMv7-A协处理器二、CP15协处理器2.1、CP15协处理器寄存器2.2、CP15协处理器寄存器组织2.3、c0-c15寄存器具体组织2.4、虚拟内存控制寄存器组2.4、异常处理寄存器组2.6、cache寄存器组2.7、TLB寄存器组2.8、CPACR一、ARMv7-A协处理器ARM体系架构支持协处理器,用于扩展ARM处理器功能。协处理器指令用于访问协处理器。协处理器支持16个协处理器,编号0-15,使用CP0-CP15(Coprocessor)描述。C

2020-07-19 23:12:01 4118

原创 ARM体系架构—ARMv7-A指令集:控制流指令

五、ARMv7-A控制流指令六、ARMv7-A协处理器指令七、ARMv7-A伪指令

2020-07-19 17:13:04 1441

原创 ARM体系架构—ARMv7-A指令集:内存操作指令

ARM体系架构—ARMv7-A指令集一、ARMv7-A指令集一、ARMv7-A内存操作指令二、单寄存器寻址内存操作指令三、多寄存器寻址内存操作指令四、SWP,SWPB一、ARMv7-A指令集ARMv7-A架构是32位处理器架构。也是load/store架构,即数据处理指令操作在通用寄存器完成,只有load/store指令可以访问内存。此外ARM指令集还有一大特点,就是ARM指令集几乎所有的指令都可以增加条件码。ARM指令集可以归为一下四类:数据处理操作(ALU操作例如ADD);内存操作(load

2020-07-19 01:58:38 2659

原创 ARM体系架构—ARMv7-A指令集:数据处理指令

ARM体系架构—ARMv7-A指令集ARMv7-A指令集ARMv7-A架构是32位处理器架构。也是load/store架构,即数据处理指令操作在通用寄存器完成,只有load/store指令可以访问内存。

2020-07-18 23:05:08 5973

原创 ARM体系架构—ARMv7-A处理器模式及寄存器

ARMv7-A处理器模式及寄存器一、ARMv7-A处理器模式ARMv7架构支持安全扩展,如果使能了安全扩展,ARMv7-A架构分为安全模式(Secure State)和非安全模式(Non-secure State)两个世界。在非安全模式下,存在三种运行特权PL0,PL1和PL2(privilege level)。If the Virtualization Extensions are implemented there is a privilege model different to that

2020-07-12 22:43:14 5043 1

原创 深入Linux内核(内存篇)—用户内存空间之VMA

用户内存空间之VMA一、VMA二、VMA Flag三、VMA Find四、VMA Insert五、VMA Merge内核管理用户空间的数据结构是struct vm_area_struct,简称VMA。一、VMA用户进程拥有用户空间的地址,其可以通过malloc和mmap等函数来申请内存。malloc和mmap等函数的实现都基于进程线性区描述struct vm_area_struct。内核管理进程地址空间使用的数据结构是struct vm_area_struct,简称VMA。对于每个进程的内存描述符

2020-07-10 22:51:38 5532 2

原创 深入Linux内核(进程篇)—进程创建与退出

进程切换

2020-07-09 22:51:14 1618

原创 深入Linux内核(进程篇)—CFS调度

CFS

2020-07-09 22:44:50 1715

原创 深入Linux内核(进程篇)—进程调度

进程调度

2020-07-09 22:39:23 2939

空空如也

空空如也

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

TA关注的人

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