• 2024-08-21CSAPP:Lab1 -DataLab
    环境准备最好准备一个纯净的Linux系统,可以通过vmware创建虚拟机,或者使用docker 构建一个centos或者 ubuntu系统。主机我是windows系统,本机上安装vscode,通过vscode安装remotessh插件,连接Linux虚拟机,vscode上直接可以打开远程虚拟机中工作区,进行软件开发,比较方便。主要还是c
  • 2024-08-14csapp lab1 data-lab记录(一)
    1.bitXor/*1*bitXor-x^yusingonly~and&*Example:bitXor(4,5)=1*Legalops:~&*Maxops:14*Rating:1*/intbitXor(intx,inty){return~((~x)&(~y))&(~(x&y));}思路:2.tmin*tmin-returnm
  • 2024-08-09CSAPP学习随笔
    个人感想        这本书应该不需要我过多介绍了,看这本书个人依赖了视频和书本对照学习,学习的进度慢,某些章节理解起来也会比较痛苦(也有中文翻译不够准确的缘故),不知道多久可以更一期,做这个系列也算是鼓励自己加油学习。        关于书中的练习题,这个是帮助理解
  • 2024-08-02CSAPP笔记:Lecture 02 Bits, Bytes and Integer
    位移操作二进制优势在于容易表示、抗干扰等,在表示模拟信号的时候也有优势。运算符&,|,!&&,||,!!>>,<<:位移运算又分为逻辑位移、算术位移,其中理解算数右移需要理解计算机内如何表示负数.位移实验移动的位数等于int的位数(4bytes*8=32bis),结果不变。如果是3
  • 2024-08-01Lab0 C Programming Lab(CMU)(CSAPP深入理解计算机系统)
    该文章是我在别处写的小随笔,现在转过来实验下载地址15-213/14-513/15-513:IntrotoComputerSystems,Spring2022大致要求1.Linux命令行基础2.C语言基础3.数据结构基础(链表基本操作)4.基本英语阅读能力大致操作下载.tar文件,解压后对着README操作即可;简单来说,允许直
  • 2024-07-31CSAPP
    深入理解计算机系统0xff杂项InstructionsetArchitecture:ISA,指令集体系架构软件和硬件之间的一层抽象层冯诺依曼计算机,即程序存储型计算机重要思想:程序就是一系列被编码了的字节序列(看上去和数据一模一样)https://www.cnblogs.com/SovietPower/p/14877143.html0x00参
  • 2024-07-30CSAPP:Cache模拟器
    实验要求实现一个组相联的DataCache,达到最高命中率DataCache最大只能使用16KB的数据存储空间附加功能:实现指令Cache分析实验的框架代码已经给出(直接映射),要改成组相联的结构,无非就是修改访问DataCache的接口,确定组号后遍历组内每一行的Tag,若能与Address匹配上则hit,否则
  • 2024-07-30CSAPP(一)
    0x01关于补码iHATE公式对于char类型2Byte,8位,其中有1位视为符号位表示最大值2^72^62^52^42^32^22^12^001111111UMax:-2^7*0+2^6+2^5+2^4+2^3+2^2+2^1+1=127转为16进制表示即:7FTMax:-2^7+2^6+2^5+2^4+2^3+2^2+2
  • 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的指令集架构以及处理器架构呢。指令集架构指令集:指令功