CSAPP LAB4:perflab-优化两个奇怪的函数

这里是前段时间写的csapp的另一个实验perflab的解题过程喵~

本实验要求优化handout里kernel.c中的两个函数,rotate函数的作用是将图像逆时针旋转90°,smooth函数的作用是对于图像中的每一个像素点,取它和周围的像素点的平均值,让图片变得模糊。下面让我来逐一优化他们^_^

CSAPP LAB2:BOMB LAB 拆个炸弹玩玩

顾名思义,这个实验要求我们拆”炸弹”,炸弹是一个可执行程序,按照实验材料所给的提示,我们要利用反汇编工具来找出拆除炸弹的方法,最终拆掉所有的炸弹。这个实验还是十分有意思的,运用游戏化的方法让我们掌握反汇编的技能,提高阅读汇编码的能力,不得不佩服设计者。

下面我们来拆炸弹,老师给了我们一个炸弹大礼包,里头有好多个炸弹,我选择拆实验材料中的bomb1。按提示我们用objdump工具反汇编一下可执行文件,可以看到它的汇编代码,就像下图:

lab2-1

可以观察到程序中有phase1~6和secret_phase七个函数,从名字上看来它们就对应着我们要拆的炸弹,看来设计者也是个会玩的家伙,隐藏关卡都做了.. 为了方便,我将反汇编后得到的汇编代码输出到文本文件中,下面我们来一个个拆掉这些炸弹。

ustc操作系统lab3

恩恩,本周的实验看起来不难,下面是实验要求:

实验内容:

  1. 制作启动硬盘并启动一个操作系统映像
  2. 下载 grub-0.97.tar.gz 并编译,或者直接下载 grub-0.97-i386-pc.tar.gz(这是已经编译好的)
  3. 制作grub启动软盘,进而制作启动硬盘
  4. 操作系统映像:可以到网络上下载一个可用的OS映像,然后编写menu.lst或grub.cfg,利用grub启动之
  5. 例如dlxlinux,或其他
  6. 这里提供2个RTEMS操作系统的映像:hello.exe ticker.exe
  7. 也可以自己编译一个Linux内核、制作一个根文件系统,并启动之

是不是看起来好简单啊。。不过做着做着发现还是挺神烦的