摘要:
论文笔记:An Empirical Guide to the Behavior and Use of Scalable Persistent Memory 《An Empirical Guide to the Behavior and Use of Scalable Persistent Memor 阅读全文
摘要:
论文笔记:An Empirical Guide to the Behavior and Use of Scalable Persistent Memory 《An Empirical Guide to the Behavior and Use of Scalable Persistent Memor 阅读全文
摘要:
glibc动态链接实现方式 注:由于本文主要是从glibc的源码出发,研究动态链接的细节实现方式,因此不会介绍动态链接的基本概念或者过程。 装载时 首先,一个问题是,共享库本身是何时被加载到进程虚拟地址空间的?当我们运行一个动态链接的可执行文件时,Linux内核会将控制权转移给可执行文件的inter 阅读全文
摘要:
Shadow Stack技术概述 原文和术语 主要对下面这两篇论文的笔记和总结。 SoK: Shining Light on Shadow Stacks The Performance Cost of Shadow Stacks and Stack Canaries instrument:插桩 pr 阅读全文
摘要:
几种经典的ROP手段简述 ROP ROP一般指的是借助于栈缓冲区溢出手段,修改调函数栈帧中的返回地址。在程序进行返回的时候,会被转移到攻击者指定的地址,执行指定地址处的函数代码。从而形成控制流劫持。而Gadget,指的是能够用来起到攻击作用的,且程序中原有的代码片段。 比如,攻击前的栈结构如下 高地 阅读全文
摘要:
Linux Kernel信号处理机制源码分析 信号(Signal)是一种比较原始的IPC(Inter-Process Communication,进程间通信)机制。本文主要是进行源码的分析,阅读本文的前提是对Linux的信号机制有所了解。 术语概览 信号(Signal) 信号屏蔽/阻塞(Block) 阅读全文
摘要:
SeaBIOS实现简单分析 SeaBIOS是一个16bit的x86 BIOS的开源实现,常用于QEMU等仿真器中使用。本文将结合SeaBIOS Execution and code flow和SeaBIOS的源码对SeaBIOS的全过程进行简单分析。需要注意,本文不是深入的分析,对于一些比较复杂和繁 阅读全文
摘要:
补码的本质 在很多课堂上,老师都讲过补码的概念。可是不管怎么讲,最后留在头脑中的只有一些例如“补码的符号位可以直接参与运算”之类的方法,还有一条公式: \[ 正数补码=本身,负数补码=反码+1 \] 这些方法和公式似乎成了考试解题的金科玉律。然而,今天早上突然想知道,补码到底是什么,为什么有上面那些 阅读全文
摘要:
Scalar evolution技术与i^n求和优化 (如果不想看一开始的引例,想直接看Scalar evolution,可以直接跳过这个“引例”部分。) 引例 考虑$i^3$求和 \[ S=\sum_{i=1}^n{i^3} \] 其C语言代码为 #include <stdio.h> int ma 阅读全文
摘要:
ulam 基于C语言的无类型Lambda演算解释器 github:https://github.com/hhusjr/ulam 代码很简短,只有单个C语言文件,600行不到。后面会逐步加入更多语法特征,以及改进为具有类型的$\lambda-calculus$等等。 后续会更新解释器的具体的实现方式与 阅读全文
摘要:
1.1 个人电脑、服务器、个人移动设备、超级计算机、嵌入式计算机等 1.2 采用流水线提高性能 通过冗余提高可靠性 采用预测提高性能 加速大概率事件 存储器层次 通过并行提高性能 面向摩尔定律的设计 h, 使用抽象简化设计 这道题的题目和solution都很奇怪。先存疑。 1.3 由编译器转化为汇编 阅读全文
|