
深入理解计算机系统
文章平均质量分 93
Niya0515
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解计算机系统实验日志(一)——Datalab
说明:Datalab是csapp的第一个lab,让我们熟悉位操作、整数和浮点数运算,本实验日志记录了完整解题思路1. bitAnd功能实现:x&y using only ~ and |解题思路:结果的第i位为1当且仅当xi=1, yi=1xiyi~xi~yi~xi|~yi~ (~xi|~yi)001110011010100110110001int bitAnd(int x, int y) {原创 2021-02-01 13:06:15 · 1006 阅读 · 0 评论 -
深入理解计算机系统实验日志(五)——Shell Lab
本次实验是csapp的最后一个实验,其目标是自己实现一个shell以处理命令行语句,主要任务是修改tsh.c文件补全以下七个函数:eval:解析命令行语句并运行进程builtin_cmd:判断是否是内建指令do_bgfg:执行 bg < job > 和 fg < job > 内置命令waitfg:等待 pid 进程不再是前台进程sigchld_handler:回收所有可获得的僵死子进程sigtstp_handler:响应 SIGTSTP(ctrl-z) 信号sigin原创 2021-01-31 22:47:43 · 972 阅读 · 0 评论 -
深入理解计算机系统实验日志(四)——MallocLab Debug实验记录
说明:本日志主要用来记录自己的debug过程,对于malloc这种需要对地址空间进行直接分配和管理的实验,必须要debug才能找出错误在哪。一开始真是不知道从何下手,通过自己慢慢摸索,逐渐找到了方法,对gdb的使用也越来越熟练,提高了自己的debug能力,也希望给同样不知道如何开始debug的小白一点参考。注意:先根据课本上给的范例实现隐式空闲链表,并且好好理解。一跑有87分还不错哦(一)显示空闲链表在隐式空闲链表的基础上,我们实现显示空闲链表。以下是设计图:写完初版代码,一运行,毋庸置原创 2021-01-10 16:05:31 · 1814 阅读 · 0 评论 -
深入理解计算机系统实验日志(三)——Memory Mountain
简介:存储器山:具有不同的时间局部性和空间局部性的程序,对存储器层次结构的利用效率是不同的。局部性较好,则能得到较快的访问速率。构造一个存储器测试程序,以不同的时间局部性和空间局部性对存储器进行访问,就能得到存储器系统在不同的局部性下的性能(即访问速率)。以控制时间局部性的变量为x轴,控制空间局部性的变量为y轴,存储器访问速率为z轴,就能得到一个三维图形,它看起来像一座有着山峰,山脊和山坡的小山,即存储器山。(参考百度百科)*本文将简单介绍如何自制存储器山并对实验结果进行详细分析。I. 制作过程(在原创 2020-11-20 21:41:09 · 3621 阅读 · 1 评论 -
深入理解计算机系统实验日志(二)——Bomblab
因为在云主机上配置好了gdb调试器,本实验在ucloud上运行。准备工作:先将bomb可执行二进制文件上传至服务器进行反汇编:objdump -d bomb_5 > my_bomb_assembly.S再下载到本地分析汇编代码(注意不论是上传文件还是下载文件都是在本地终端,要退出云主机!!!这里犯了傻,一直报路径错误却怎么也发现不了问题所在)scp [email protected]:/home/csapp07/myfile/my_bomb_assembly.S /Users/zh原创 2020-10-27 21:01:12 · 1302 阅读 · 0 评论