主要是为了熟悉Linux下的信号等相关知识。
原创 2022-02-02 15:02:01
1095阅读
提供的工具: parseline:获取参数列表char **argv,返回是否为后台运行命令(true)。 clearjob:清除job结构。 initjobs:初始化jobs链表。 maxjid:返回jobs链表中最大的jid号。 addjob:在jobs链表中添加job deletejob:在jobs链表中删除pid的job。 fgpid:返回当前前台运行job的pid号。 getjo
原创 精选 2023-08-21 17:46:24
936阅读
![](https://cdn.jsdelivr.net/gh/G-ghy/cloudImages@master/202202091541814.png) > 提供的工具: - `parseline`:获取参数列表`char **argv`,返回是否为后台运行命令(`true`)。 - `clearjob`:清除`job`结构。 - `initjobs`:初始化`jobs`链表。 - `
原创 2023-07-03 11:18:12
84阅读
只能用指定字符,实现函数功能 /* * CS:APP Data Lab * * <Please put your name and userid here> * * bits.c - Source file with your solutions to the Lab. * This is the ...
转载 2021-04-15 00:03:00
233阅读
2评论
深入了解计算机组成原理的实验:Bomb Lab
原创 精选 2022-10-30 07:38:26
550阅读
史上最全的CSAPP之Bomb实验讲解汇总已经为您精心打造,这份详尽的万字解析以其超全面、超详细的特点而自豪。如果您渴望深
原创 2024-04-10 09:28:52
59阅读
【score】36/36 【time】2 days 【tips】 1.If the highest significant bit is 1 and the datas are signed values , when shifting to right , don't forget the sig ...
转载 2021-09-14 19:38:00
154阅读
2评论
这份史上最全的CSAPP之AttackLab实验讲解汇总绝对是攻克这一难题的最佳利器!无论你是刚刚踏入计算机科学的大门,还是科学的精彩世界!
原创 2024-04-10 09:28:09
77阅读
史上最全的CSAPP之DataLab实验讲解汇总(万字详解!超全面!超详细!)收藏这一篇就够了!!!这个精心制作
原创 2024-04-10 09:28:27
104阅读
Bomb Lab 操作系统:linux 调试工具:gdb Preparation before the lab 实验由phase_1 ~ phase_6组成,共6个阶段, 我们需要分别输入6个字符串密码,以便解除Dr. Evil的炸弹, 但只要有1个字符串输错,炸弹就会爆炸。 那么如何知道6个正确的 ...
转载 2021-09-28 23:41:00
251阅读
2评论
无符号加法:正常二进制加法逐位计算,若溢出则减去上限值(恰好溢出将会变成0),检测溢出:和是否小于加数 无符号数求反(和为零的数):用MAX+1减去该数,这样相加时就会恰好溢出而返回0。 补码加法(有符号数使用):正常二进制加法逐位计算,如果进位到符号位即发生溢出,正溢出为负,负溢出为正,均减去溢出 ...
转载 2021-09-22 00:46:00
93阅读
2评论
二进制小数:小数点右边的部分表示2的负幂。 形如0.111111111111…1(2)的数表示的是刚好小于1的数,我们将用简单的1.0-ε来表示。很多十进制的小数不能准确的用二进制小数来表示。 IEEE浮点格式:用 V=(-1)^s*M*2^E 的形式来表示一个数。 符号位:s决定是正数还是负数。对 ...
转载 2021-09-24 18:48:00
389阅读
2评论
Code Injection Attacks Level 1 在test中调用getbuf()之后不再返回test,而是返回touch1 unsigned getbuf() { char buf[BUFFER_SIZE]; Gets(buf); return 1; } void touch1() { vlevel = 1; /* Part of validati
原创 精选 2023-09-04 15:51:52
845阅读
这个实验的逻辑是这样的 需要使用gdb debug 进入到phase_x的各个函数,但是单步调试step是进不去的(也不难理解,如果gdb可以直接进入那这个实验还有什么难点) 但是反汇编得到的结果是全部的内容,通过阅读反汇编代码,找到一些关键节点,通过gdb对二进制进行dubug添加breakpoint从而查看一些内容找到结果 objdump -d bomb > bomb.txt 打开反汇
原创 2023-09-05 22:06:25
596阅读
gcc -O1 -Wall -m32 -lm -o btest bits.c btest.c decl.c tests.c In file included from btest.c:16:0: /usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No such file or directory #include
原创 2023-09-06 22:07:48
153阅读
写了作业水一篇目录CSAPP Lab1得分图bitAndgetBytelogicalShiftbitCountbangtminfitsBitsdivpwr2negateisPositiveisLessOrEqualilog2float_negfloat_i2ffloat_twicebits.cCSAPP Lab1写了作业水一篇(记录一下人多菜博客园的三级标题好小bits.c得分图本地的fitsBi
转载 2021-04-03 07:35:34
699阅读
2评论
目录CSAPP Lab2答案汇编答案汇编答案汇编答案汇编答案汇编答案汇编结果HintsPhase 1Phase 2Phase 3Phase 4Phase 5Phase 6总结CSAPP Lab2人要没了。计算机也太令人头秃了不过好好做一天也就弄完了(雾)参考:https://zhuanlan.zhihu.com/p/339461318https://zhuanlan.zhihu.com/p/339
转载 2021-04-18 19:06:55
559阅读
2评论
最小可寻址的内存单位:字节(byte),包含8个二进制位(bit)。机器级程序将内存视为一个巨大的字节数组,内存的每个字节都有一个唯一数字标识,称为地址(address),所有地址的集合称为虚拟地址空间,展现给机器级程序。这实现了硬件到软件的第一步封装:程序无需关注虚拟内存的实现细节,而只需要通过访 ...
转载 2021-09-17 14:56:00
234阅读
2评论
Docker下载安装后以后,输入以下命令就行: 查看同步的目录csapp: 接下来就可以在本机用自己的编辑器写代码,然后在docker上运行代码了. 然后关闭docker之后,下次使用需要先启动centos. 先找到容器的ID 然后 docker start 容器ID 来启动容器 docker ex ...
转载 2021-08-16 11:07:38
209阅读
2评论
内容会不断更新。 配置过程是下载清华大学打包好的镜像,用虚拟机运行Ubuntu,再开启共享文件夹进行使用。 问题1:bitXOR 用~和&实现异或。思路是输入为0011和0101,输出为0110即可。(真值表的二进制化) 先使用一至两次~和&组合出0100和0010,但由于没有|也没有+,转而通过先 ...
转载 2021-09-25 16:22:00
268阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5