2022
python爬取网页
python爬取网页
python文档学习
python文档学习
windows开发环境记录
windows开发环境记录
WSL2简单探索
WSL2简单探索
数据结构与算法(二)线性表
数据结构与算法(二)线性表
eigrp协议基础
eigrp协议基础
2021
小鹤进阶-小鹤音形
小鹤进阶-小鹤音形
编程常用资料收集
编程常用资料收集
极限竞速:地平线与现实手动挡汽车研究
极限竞速:地平线与现实手动挡汽车研究
Regex Golf题目分析-incomplete
Regex Golf题目分析_incomplete
英文编程题相关单词收集
英文编程题相关单词收集
堆排序梳理与复杂度分析
堆排序梳理与复杂度分析
普通话和英语发音-incomplete
普通话和英语发音_incomplete
小鹤双拼尝试
小鹤双拼尝试
Brian Kernighan算法
Brian Kernighan算法
关于时间复杂度的理解
关于时间复杂度的理解
斐波那契数列与汉诺塔问题及递归
斐波那契数列与汉诺塔问题及递归
docker简单探索
docker简单探索
关于费曼学习法的思考-incomplete
关于费曼学习法的思考_incomplete
release版本core推导与相应工具学习-incomplete
release版本core推导与相应工具学习_incomplete
C-C++复习回忆整理-incomplete
C/C++复习回忆整理_incomplete
逻辑谬误收集,以后辩论用-incomplete
逻辑谬误收集,以后辩论用_incomplete
编程语言小记-incomplete
编程语言小记_incomplete
linux性能调优
linux性能调优
问题解决方法论
问题解决方法论
前端学习小记
前端学习小记
linux常用命令参数整理
linux常用命令参数整理
vrrp协议整理
vrrp协议整理
spf算法概述
spf算法概述
ospf基础
ospf基础
isis基础
isis基础
2020
回到顶部 ↑2019
深入理解计算机系统笔记–备忘
深入理解计算机系统笔记–备忘
- 多核cpu:将多个cpu(称为“核”)集成到一个集成电路芯片上、1. 超线程:允许一个cpu执行多个控制流的技术,cpu的某些硬件有多个备份,比如程序计数器(pc)和寄存器,而其他的硬件可能只有一份,比如浮点运算单元。超线程技术可以使cpu(核)在单个周期的基础上决定要执行哪个线程,而传统cpu可能需要20 000个时钟周期完成线程的切换。(从这里来看,一个核同一时刻还是只能执行一个控制流的,只不过快的多的线程切换速度可以将一个核模拟为两个核)1. 文件是对i/o设备的抽象,虚拟内存是对程序存储器的抽象,进程是对一个正在运行程序的抽象1. 跳转指令的编码最常用的是相对编码:将目标指令的地址与紧跟在跳转指令后面的那条指令之间的差作为编码;1. 一个模块中的两个c文件中可以定义两个同名的全局变量,但其中要有弱定义的。比如一个强定义,一个弱定义,或者多个弱定义。强定义:可以被外部文件调用的函数名,初始化了的全局变量;弱定义:比如未赋值的全局变量。 链接器处理多重定义符号的规则:1.不允许有多个同名的强符号2.若有一个强符号和多个弱符号,那么选择强符号3.如果是多个弱符号同名,任意选一个;注意:若这些同名符号不同类型,也是可以链接过的。。。。。1. 链接可执行于编译时,加载时,运行时。1. 链接:符号解析,重定位1. 编译时指定库的顺序:被依赖的要放在依赖它的的右边,若存在相互引用,可以重复出现,比如foo.c依赖libx.a,libx.a依赖liby.a,而liby.a又依赖libx.a那么,gcc foo.c libx.a liby.a libx.a1. 程序的运行时内存映像,代码段总是从0x400000开始,后面是数据段,运行时堆。用户栈最大合法用户地址空间位2的48次方。再往上的地址就是内核的代码和数据了。代码段与数据段之间有空隙(为了对齐要求),而栈,共享模块,堆由于安全性还会使用地址空间布局随机化,每次程序运行时,他们的地址都会改变。1. 处理目标文件的工具:
strings:列出一个目标文件中所有可打印的字符串
strip:从目标文件中删除符号表信息
nm:列出一个目标文件中的符号表中定义的符号
size:显示目标文件中节的名字和大小
readelf:显示一个目标文件的完整结构,包括elf头中编码的所有信息,包含size和nm的功能
objdump:能够显示一个目标文件中的所有信息,它最大的作用时反汇编.text段中的二进制指令1. 操作进程的工具
strace:打印一个进程及其子进程调用的每个系统调用的轨迹
strace -fp 可以跟踪所有线程的系统调用 进一步的,指定线程的tid可以监视特定线程的系统调用
pstack 打印栈信息