• 2024-06-15HIT计算机系统CSAPP期末大作业
                                            计算机系统大作业题    目  程序人生-Hello’sP2P 专      业     数据科学与大数据技术                  学  号     202
  • 2024-06-14HIT CSAPP 计算机系统大作业 程序人生-Hello’s P2P From Program to Process
    摘 要本文借助hello.c跌宕起伏的一生——P2P(FromProgramToProcess)、020(FromZero-0toZero-0)从源代码到可执行程序以及和计算机系统硬件的配合,从计算机系统的角度阐述从源代码到可执行程序的转变,以及在计算机系统当中作为众多进程中的一员的运行过程。源程序首先经
  • 2024-06-09CSAPP Lab04——Cache Lab大师手笔,匠心制作
    浮沉浪似人潮哪会没有思念你我伤心到讲不出再见——讲不出再见完整代码见:CSAPP/cachelab-handoutatmain·SnowLegend-star/CSAPP(github.com)PartA:CacheSimulator这个lab描述背大锅,开始我是真有点没看懂题目的描述。特别是“M20,1”“L10,1”,这种描述二
  • 2024-06-05CSAPP
    感悟:原来读名校和非名校的区别是这样的在以前的211的时候,我上一门叫《你应该知道的数学》的课程,那时老师给我们介绍各种历史留名的大数学家,言语之间流露出“你们只能读这个水平的学校,自然也很难做出什么大成就”。现在到了top3,在上CSAPP的时候,老师对我们的期待就变成了——你们
  • 2024-06-05CSAPP Lab02——Bomb Lab完成思路详解
    看见的看不见的瞬间的永恒的青草长啊大雪飘扬——月亮之上完整代码见:CSAPP/bombatmain·SnowLegend-star/CSAPP(github.com)01字符串比较简单的把输入的字符串和地址“0x402400”内早已存储的字符串相比较。如果两个字符串相等则函数返回,否则炸弹爆炸。这里有
  • 2024-06-01HIT-CSAPP大作业——程序人生-Hello‘s P2P
    计算机系统大作业题    目  程序人生-Hello’sP2P 专      业        信息安全        学号       2022******        班    级          22*****        
  • 2024-06-01CSAPP 第五章 优化程序性能
    5-1&2优化程序性能保守性编译器优化是保守的,只要有矛盾就不会激进的优化。CPECPE表示每个元素执行所需要的周期数。如368+6*k,6就是CPE。一个优化的例子这个代码每一次迭代要读两次内存,写入一次。这个只用读一次。以上优化会有一定的效果,读写内存是占用时间的。5-3
  • 2024-05-26CSAPP(datalab)解析
    操作符的解释右移操作符>>算术右移(通常用符号>>表示)保留符号位。对于正数,算术右移和逻辑右移的效果相同,即在左边填充0。对于负数,算术右移会在左边填充1,保持符号位的1不变。对于正数5(二进制表示00000101),右移1位:00000101>>1=00000010对于负数-5(二进制补
  • 2024-05-17CSAPP第二章
    gcc指定不同的C语言版本 注意寻址和字节顺序讲的, 对象的地址都是从小地址开始算起, 而所谓大端法就是高位字节在前; 小端法则是低位字节在前注意: 等号上的小圆点的组合表示"被定义为"的意思 反码有+0和-0,-0就是全为1的位模式,负数的反码就是对应正数所有位取反
  • 2024-05-12csapp_实验_-__datalab
    Datalab前言该实验是《深入理解计算机系统》(英文缩写CSAPP)课程附带实验——Lab1:DataLab,对应书中第二章内容(信息的表示和处理),是所有实验中的第一个实验,**实验目的**datalab实验提供了一个文件夹,我们的目的只是改写bits.c中的15个函数,使其完成相应的功能即可。至于其他文件
  • 2024-05-04csapp-bomblab(自信满满版)
    反汇编bomb文件要查看机器代码文件的内容,有一类称为反汇编器(disassembler,assembler是汇编程序,dis-加在某些词语前表示相反的意思)的程序非常有用。这些程序根据机器代码产生一种类似于汇编代码的格式。在linux系统中,带‘-d’命令行标志的程序OBJDUMP(表示“objectdump”)可以充当这
  • 2024-05-04csapp-datalab(菜鸟小白版)
    第1题:/**bitXor-x^yusingonly~and&*Example:bitXor(4,5)=1*Legalops:~&*Maxops:14*Rating:1*/intbitXor(intx,inty){return(~(x&y))&(~((~x)&(~y)));}第2题:二进制补码表示的最小值为0x80000000/**tmin
  • 2024-04-24CSAPP Lab 7 Malloc Lab
    本次实验的内容也比较清晰,只需要完成一个手写的malloc动态内存分配器即可。书上第\(9\)章第\(9\)节介绍了这样的分配器的实现方法。实验要求本次实验提供了基本的框架,需要完成下面几个函数:intmm_init(void);void*mm_malloc(size_tsize);voidmm_free(void*ptr);v
  • 2024-04-24CSAPP Lab 8 Proxy lab
    终于到最后一个Lab啦!这个Lab的任务是实现一个代理服务器,将客户端发送的请求转发到服务端。这个Lab分为三个任务,第一个任务需要实现这个代理服务,第二个任务支持处理并发请求,第三个任务需要实现缓存。PartI:Implementingasequentialwebproxy这个部分其实很好写,很多
  • 2024-04-24CSAPP Lab-1 DATALAB
    本文原发于2023-09-0215:32:57于我的hexo博客,现迁移至此。最近看完了CSAPP整本书,发现官网上还有11次实验可以做。UPD:好像只有9个,因为有两个是旧版本的,可以被新版的替代掉。UPD:好像只有8个,performance也算是旧的实验了,但是没有明确指出。Lab地址:http://csapp.cs
  • 2024-04-24CSAPP Lab-3 ATTACKLAB
    书接上回,这次做到了第三个Lab啦。任务描述这一个Lab的任务就更有意思了,实验给了我们两个程序,每个程序都会让我们输入一行字符串,而它们是通过下面这个函数来读取的:unsignedgetbuf(){ charbuf[BUFFER_SIZE]; Gets(buf); return1;}其中,Gets函数和C库的gets函数
  • 2024-04-24CSAPP Lab-4 Architecture Lab
    本次实验是有关书上第四章设计的Y86-64处理器的,实验分为三个部分,分别是编写几个简单的Y86-64程序、使用一条新指令扩展SEQ模拟器以及优化Y86-64的基准测试程序和处理器设计。实验准备需要简单复习一下Y86-64的指令集架构以及处理器架构呢。指令集架构指令集:指令功
  • 2024-04-24CSAPP Lab5 Cache Lab
    到实验5啦!这次的实验是有关高速缓存的。让我们先来复习一下高速缓存的基础知识吧!复习高速缓存的结构在一个存储器地址有\(m\)位的系统上,一共有\(M=2^m\)个地址。假设高速缓存被组织成一个有\(S=2^s\)个高速缓存组的数组,其中每个组包括\(E\)个高速缓存行,每行存
  • 2024-04-24CSAPP Lab6 Shell Lab
    本次实验的任务很清晰,实现一个简单的UnixShell。需要用到基础的进程控制、信号处理等知识。简单来说,实验已经提供了一些简单的功能,我们需要在此基础上,实现下面的功能:eval:解析和解释命令行的主例程。[70行]builtin_cmd:识别并解释内置命令quit(退出)、fg(前台运行某个作业)、bg(后
  • 2024-04-24CSAPP Lab-2 BOMBLAB
    第二个Lab就比较有趣了。这一个Lab的任务是,我们得到了一个bomb炸弹程序,这个炸弹程序有\(6\)个phase,每个phase都会读取我们的输入,判断我们的输入是否符合要求,如果正确这个phase的炸弹就会被拆除,否则炸弹就会爆炸。我们需要借助各种工具,对程序进行反汇编等等,获得能够
  • 2024-03-24CSAPP Shell Lab
    sakura
  • 2024-03-22CSAPP Cache Lab
    春が来る知识点在这里我会回答以下几个问题:计算机的范围内存的整个流程是什么?计算机中虚拟地址,物理地址(P573),以及访问缓存的地址(P426)他们之间的关系是什么,又是如何进行转换的?我们在两个C语言程序中打印某个变量的内存,发现他们的内存显示是一样的,难道不会冲突吗?P
  • 2024-03-20现代化方式打造CSAPP环境
    前情提要距离我上次尝试完成Csapp已是一年前,在期末周时迅速放弃了两年前的环境搭建ArchLinux本地一把梭,出于对本地环境的隔离与保护这次将使用容器化技术+Vscode搭建尽量避免对本机的影响,以及达到对环境更好的管理与备份。yay-Sdockersudouseradd-aGdocker$USER#
  • 2024-03-15CSAPP Attack Lab
    frompixiv吐槽首先不得不说说官网的WriteUp了,看了半天看不懂他在讲啥我的输出与官网演示的不一样:而我的是查了一下,说是默认连接评分服务器,要用-q关闭我都没输入任何字符串呢,就直接让我Segmentationfault了我用gdb调试进去,发现只要没有用-ifile指定输入文件,那么程序
  • 2024-03-15CSAPP Architechture Lab
    frompixiv知识点在上一章"程序的机器级表示"中,我们可以知道所谓ISA(指令集体系结构)定义了机器级程序的格式和行为:P113定义了指令的格式(编码方式)定义了处理器状态定义了每条指令对状态的影响软件设计师和硬件设计师以ISA为规则,分别编写出合法的汇编程序,制造出实