- 博客(6)
- 收藏
- 关注
原创 平衡树系列(1)——红黑树及其插入
平衡二叉树系列(1)——红黑树及其插入1970 年,31 岁的 Hopcroft 教授研究出了一种新的数据结构,叫 2-3 树。后来的 B 树就是以它为基础的。1972年,Bayer 在 B 树的基础上又发明了“对称二叉 B 树”。六年后,施乐帕洛奥图研究中心(这个地方也是 GUI、Smalltalk 和鼠标的诞生地。)的 Guibas 和 Sedgewick 发了一篇论文,叫“平衡树的双色框架”。众所周知,框架是用来套的。把这个框架套给 Bayer 口中所说的“对称二叉 B 树” ,也就是下文将要提到的
2021-11-22 18:03:10 335
原创 caspp-shlab详解
目录开始sigint_handler 和 sigtstp_handlersigchld_handlereval 和 waitfgbuiltin_cmddo_bgfg这里是实验要用到的文件这里是实验的 writeup开始这次的实验呢,要求我们写一个简单的 shell。像之前一样,在正式开始写代码之前,我们先来看一看下下来的 shlab-handout 里都有些什么:首先是 “my” 开头的四个 .c 文件——这些是测试 shell 时要用到的;还有 16 个 “trace” 开头的文件、一个 .pl
2021-10-17 18:39:01 1525
原创 深入理解计算机系统-cachelab详解
开始这个lab有两个部分,第一个部分要求我们写一个缓存模拟器。第二部分要求我们优化矩阵转置的函数,使它的缓存脱靶数降到最低。Part A其实这个模拟器不必从头开始写。反正作者已经给我们写好了 csim-ref 对不对?我们只要把它反汇编了,之后把汇编翻译成C语言代码就行了。好了,我们看 Part B.嘿嘿,开个玩笑而已。不过如果你有足够耐心的话,这种办法真的可以一试……1. 要用到的几个结构要写这个模拟程序,我们先从缓存的结构看起。我们知道,缓存的结构是下面这个样子:所以,我们应该先定义一个
2021-10-09 15:59:58 6421 5
原创 深入理解计算机系统-datalab详解
目录bitXortminisTmaxallOddBitsnegateisAsciiDigitlogicalNegconditionalisLessThanOrEqualhowManyBitsfloatScale2floatFloat2IntfloatPower2下载实验用的文件戳这里bitXor(以下推导方法改编自 StackOverflow 用户 @Mike 的回答。比心~)这道题呢,我们可以列一张表:xxxyyyxxx ^ yyy000011101
2021-08-31 15:32:25 5224
原创 深入理解计算机系统-bomblab详解
目录Phase 1Phase 2Phase 3Phase 4Phase 5Phase 6Secret Phase几条野路子下载实验用的文件们戳这里bomblab的背景很有趣。Dr. Evil(evil得可爱死了!!!)把“二进制炸弹”装在了教室的机子里。想要拆掉炸弹,你必须反编译“炸弹”,通过其中的汇编指令推测出可以拆掉炸弹的phrase。好啦,我们看一看下载的文件夹里都有什么。bomb就是要我们去拆的“炸弹”;bomb.c是炸弹的源代码,但是最为关键的部分被删掉了,只保留了骨架。gdbnotes-x
2021-08-14 11:11:35 15858 5
原创 深入理解计算机系统(CSAPP) attack-lab详解
深入理解计算机系统(CSAPP) attack-lab详解下载实验用的程序戳这里戳这里下载实验说明开始target1里的两个程序,ctraget和rtarget,都有缓冲区溢出的bug。实验要求我们做的,是利用这些bug,让程序通过缓冲区溢出,执行我们想执行的代码。下载的文件夹里,ctarget是做代码注入攻击 (code-injection attacks) 用的。rtarget,还有后面的cookie.txt、hex2raw、farm.c都和后面的ROP攻击(return-oriented-pr
2021-07-30 15:43:11 2287 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人