深大计算机系统2
文章平均质量分 91
深大计算机系统2
归忆_AC
for dream in szu...会看消息,欢迎交流,若有错误可以私信反馈。
实验报告仅供参考!
github:https://github.com/guiyi886
展开
-
【深圳大学计算机系统2】实验五 Cache实验
在优化后的代码中,我们使用OpenMP库的指令进行并行化,通过使用#pragma omp parallel for指令,将矩阵相乘的任务分配给多个线程并行执行。2.矩阵分块:将大矩阵分割为更小的块,可以提高局部性,减少对主存的访问次数,从而提高Cache的命中率和数据重用,进而提高性能。在优化后的代码中,我们使用了矩阵分块的策略,将矩阵相乘过程划分为多个小块的计算,以充分利用局部性。通过调整循环的顺序,使得内层循环访问的数据更加连续,可以提高缓存命中率,减少缓存不命中的次数,从而提高性能。原创 2024-01-29 00:49:19 · 1945 阅读 · 0 评论 -
【深圳大学计算机系统2】实验四 缓冲区溢出攻击与堆栈实验
通过反汇编,可以获得bang()函数的入口地址为0x08048e10。第一关只需要返回到指定函数,第二关不仅返回到指定函数还需要为该指定函数准备好参数,最后一关要求在返回到指定函数之前执行一段汇编代码完成全局变量的修改。另外,因为在fizz函数中取的是ebp+0x8地址中的值,而每个字节需要使用两个字符填充,因此再添加8个0,最后添加cookie的小端表示的值。两个位置相差28字节,因此构造28个任意字符,然后加上smoke()的地址,就能准确覆盖到”返回地址”,完成溢出攻击返回到smoke()。原创 2024-01-29 00:41:52 · 1574 阅读 · 1 评论 -
【深圳大学计算机系统2】实验三 逆向工程实验
本实验设计为一个黑客拆解二进制炸弹的游戏。我们仅给黑客(同学)提供一个二进制可执行文件bomb_64和主函数所在的源程序bomb_64.c,不提供每个关卡的源代码。程序运行中有6个关卡(6个phase),每个关卡需要用户输入正确的字符串或数字才能通关,否则会引爆炸弹(打印出一条错误信息,并导致评分下降)!要求同学运用,通过分析汇编代码找到在每个phase程序段中,引导程序跳转到“explode_bomb”程序段的地方,并分析其成功跳转的条件,以此为突破口寻找应该在命令行输入何种字符串来通关。原创 2024-01-29 00:37:29 · 2490 阅读 · 3 评论 -
【深圳大学计算机系统2】实验二 数据表示实验
1,补码最大值+1为1000…* 参数和结果都会被作为unsigned返回,但是会表示为二进制的单精度浮点值。对于32位整数来说,最小值是2-31,即为0x 8000 0000,则将1左移31位。* isAsciiDigit - 如果x是ascii码中的0~9,返回1;* 参数和结果都会被作为unsigned返回,但是会表示为二进制的单精度浮点值。* 参数和结果都会被作为unsigned返回,但是会表示为二进制的单精度浮点值。* isTmax - 如果x是最大的二进制补码,返回1;原创 2024-01-29 00:30:38 · 1710 阅读 · 0 评论 -
【深圳大学计算机系统2】实验一 实验环境配置与使用
起初我是在windows的linux子系统上进行实验的,前面本来都非常顺利,直到进行gdb调试时,添加断点后报错并且程序无法运行,查阅了各种资料并进行了大量尝试后仍然无果,个人怀疑是windows和linux系统不兼容的缘故,导致在运行像gdb这种较低层的程序极易出现错误。通过本次实验,我学会了大量的linux指令例如vim,sudo等等,也了解怎么创建文件,编译文件,运行文件,调试文件。本次实验的实验内容虽然较为简单,但是完成实验配置的过程中缺出现了不少麻烦,耗费了大量的时间和精力。原创 2024-01-29 00:24:21 · 1538 阅读 · 0 评论