- 博客(17)
- 收藏
- 关注
原创 深入Linux内核(内存篇)—页表映射分页
深入Linux内核(内存篇)—页表映射一、分页二、X86中的分页三、ARM中的分页四、Kernel中的分页操作系统的核心任务是对系统资源的管理,而重中之重的是对CPU和内存的管理。为了使进程摆脱系统内存的制约,用户进程运行在虚拟内存之上,每个用户进程都拥有完整的虚拟地址空间,互不干涉。而实现虚拟内存的关键就在于建立虚拟地址(Virtual Address,VA)与物理地址(Physical Address,PA)之间的关系,因为无论如何数据终究要存储到物理内存中才能被记录下来。如下图所示,进程1和进程
2020-10-11 23:41:26 8234 7
原创 数据结构与算法(C)—矩阵
数据结构与算法—矩阵一、打印矩阵二、转圈打印矩阵三、方阵顺时针旋转90度四、测试程序本文变量命名前缀:全局变量:g_数组:a指针:p结构体:stunsigned int:ui本文代码可以到Github下载:https://github.com/liyuewu-github/DataStructure一、打印矩阵二、转圈打印矩阵三、方阵顺时针旋转90度四、测试程序...
2020-08-11 23:29:48 2580
原创 数据结构与算法(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 372
原创 数据结构与算法(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 194
原创 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 2059
原创 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 4604
原创 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 2999
原创 ARM体系架构—ARMv7-A指令集:数据处理指令
ARM体系架构—ARMv7-A指令集ARMv7-A指令集ARMv7-A架构是32位处理器架构。也是load/store架构,即数据处理指令操作在通用寄存器完成,只有load/store指令可以访问内存。
2020-07-18 23:05:08 6652
原创 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 5728 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 6487 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人