- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 操作系统原理:虚拟地址
The Memory Hierarchy存储系统是有层次的,从快到慢依次是:CPU寄存器、静态SRAM、动态DRAM、磁盘。如下图: 如 Inter Core i7 存储结构如下: i7的存储架构支持48-bit虚拟地址,52-bit物理地址. Page Size启动时可配置 4KB or 4MB, Linux使用4KB,4-level page table hierarchy。...
2017-02-23 00:54:27 3911
原创 从汇编角度看C++类的方法访问类成员的原理
C++编译后最终也是生成了机器码,不需要任何解释器或虚拟机来运行。相比C语言,C++有了类class大大的方便了代码结构的组织,使得构建大程序简便了很多。实例化一个类后,类的成员方法就可以访问这个类的成员了,那么从汇编角度看,到底是如何实现的呢?原理也十分简单,类所有成员本质上就是一个结构体,每个类的方法第一个入参就是把这个结构体的地址穿进去,类的方法就是这样实现了访问类的成员。
2017-02-08 22:58:41 2237 1
原创 操作系统原理:链接与ELF文件
ELF文件本文主要针对Linux系统。在x86架构下,Linux使用的是ELF(Executable and Linkable Format)目标文件格式。目标文件的三种格式:Relocatable object file. 可重定位目标文件包含二进制代码和数据,编译时可与其他可重定位目标文件合并组成可执行目标文件,如 .o,.a文件。Executable object file. 可...
2017-02-05 17:06:18 2729
原创 小练习 - 排序:冒泡、选择、快排
好久没手写过排序了,用C89标准的C重新练习下三种排序方法,快排的边界还是需要注意下。练习这些经典算法要在脑子里能够形象的想象出这些数据结构的表现与操作,这样才能理解深刻。// c89 标准#include <stdio.h>// [begin, end) 前闭后开,索引范围是[begin, end - 1]// 冒泡, 稳定排序void bubble_sort(int data[], int
2017-02-02 22:07:29 581
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人