- 2024-11-20CSAPP 系统级I/O和网络编程
frompixiv系统级I/O文件所有的I/O设备(例如网络、磁盘和终端)都被模型化为文件,而所有的输入和输出都被当作对相应文件的读和写来执行。这种将设备优雅地映射为文件的方式,允许Linux内核引出一个简单、低级的应用接口,称为UnixI/OLinux文件有主要有三种类型:普通文件目
- 2024-11-15CSAPP 并发编程
frompixiv前置知识进程逻辑控制流(简称逻辑流)CSAPPP508:一系列的程序计数器PC的值唯一地对应于包含在程序的可执目标文件中的指令或包含在运行时动态链接到程序的共享对象指令。这个PC值的序列叫逻辑控制流一个逻辑流的执行在时间上与另一个流重叠,称为并发流,这两个流被
- 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