前言

第四章提到的Y86-64和实验四Architecture Lab的环境安装。

先从官网下载文件:

zabbix archive目录 archive lab_操作系统


下载即可

文件的解释和一些操作可以看
《深入理解计算机系统》实验四Architecture Lab下载和官方文档机翻:
《深入理解计算机系统》实验四Architecture Lab下载和官方文档机翻

环境安装

把下载的archlab-handout.tar放进Ubuntu(我的是18.04版本)中

zabbix archive目录 archive lab_操作系统_02


解压

linux> tar xvf archlab-handout.tar

zabbix archive目录 archive lab_操作系统_03


修改一下文件权限

linux> chmod -R 777 archlab-handout

进入到archlab-handout文件

zabbix archive目录 archive lab_linux_04


继续解压sim.tar

然后修改sim文件权限

linux> cd archlab-handout
linux> tar xvf sim.tar
linux> chmod -R 777 sim

无图形化TTY安装

需要先安装
1.flex

linux> sudo apt-get install flex

2.安装bison

linux> sudo apt install bison

3.在修改sim/Makefile
注释掉
#GUIMODE=-DHAS_GUI
#TKLIBS=-L/usr/lib -ltk -ltcl
#TKINC=-isystem /usr/include/tcl8.5
这是图形化需要的,现在还没有

不完成这三步会报错

然后在sim下执行

linux> make clean;make

搞定,现在进入y86-code中测试一下

linux> ../misc/yas asum.ys
linux> ../misc/yis asum.yo
linux> ../seq/ssim -t asum.yo

就可以看到输入了

zabbix archive目录 archive lab_环境安装_05

有图形GUI安装

(先完成无图形TTY的步骤)
需要先安装
1.TCL和TK(支持图形界面)

linux> sudo apt-get install tcl-dev tk-dev
linux> sudo apt-get install tcl8.5-dev tk8.5-dev

修改Makefile文件

修改路径和装的tcl、tk版本

zabbix archive目录 archive lab_操作系统_06

然后在sim下执行

linux> make clean;make

发现报错了

zabbix archive目录 archive lab_zabbix archive目录_07


进入pipe目录并编译psim.c和pipe-std.c时出现了对’matherr’未定义引用的错误。

所以我们需要去psim.c和pipe-std.c文件中,全局搜索引用matherr的地方注释掉

只有psim.c有

zabbix archive目录 archive lab_计算机系统_08

继续

linux> make clean;make

和刚刚一样的错误

zabbix archive目录 archive lab_zabbix archive目录_09


去到seq目录打开ssim.c注释掉matherr

zabbix archive目录 archive lab_linux_10



linux> make clean;make

没有错误了
测试一下

linux> cd pipe
linux> ./psim -g ../y86-code/asum.yo

zabbix archive目录 archive lab_环境安装_11


运行成功

ssim+

会发现这样安装sim/seq里面只有ssim但是没有ssim+。

是因为版本的问题,在seq/README中有提到

zabbix archive目录 archive lab_操作系统_12


默认的是std版本的所以没有。

根据文档,在sim/seq 目录下执行

linux> make clean;make ssim+ VERSION=std

就会有ssim、ssim+文件

结尾

环境安装已经基本完成,还有一些使用可以查看官方文档。