Nachos实验环境搭建

匿名 (未验证) 提交于 2019-12-02 23:39:01

写于2019.06.10

本文Nachos实验环境为:Linux-Mint 19.1(Tessa) 64位VM虚拟机

参考网站:Berkeley CS162 Fall 2010

  • 在Oracle官网下载JDK 1.8 Linux安装包 jdk-8u211-linux-x86.tar.gz并拷贝到/opt目录下
  • 在/opt目录下解压文件
$tar -xzvf jdk-8u211-linux-x86.tar.gz
  • 配置全局变量:修改/etc/profile文件
    • 新建JAVA_HOME变量
    • 编辑PATH变量
    • 新建CLASS_PATH变量

在/etc/profile文件尾部添加

# jdk export JAVA_HOME=/opt/jdk1.8.0_211 export CLASSPATH=.:$JAVA_HOME/jre/bin/lib.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
  • 使用update-alternatives切换java版本(Mint默认安装openjdk)
$sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_211/bin/java 300 $sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_211/bin/javac 300 update-alternatives: 使用 /opt/jdk1.8.0_211/bin/javac 来在自动模式中提供 /usr/bin/javac (javac) $sudo update-alternatives --install /usr/bin/javaws javaws /opt/jdk1.8.0_211/bin/javaws 300 update-alternatives: 使用 /opt/jdk1.8.0_211/bin/javaws 来在自动模式中提供 /usr/bin/javaws (javaws) $sudo update-alternatives --config java 有 2 个候选项可用于替换 java (提供 /usr/bin/java)。    选择       路径                                       优先级  状态 ------------------------------------------------------------ * 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1101      自动模式   1            /opt/jdk1.8.0_211/bin/java                    300       手动模式   2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1101      手动模式  要维持当前值[*]请按<回车键>,或者键入选择的编号:1 update-alternatives: 使用 /opt/jdk1.8.0_211/bin/java 来在手动模式中提供 /usr/bin/java (java) $sudo update-alternatives --config javac 链接组 javac (提供 /usr/bin/javac)中只有一个候选项:/opt/jdk1.8.0_211/bin/javac 无需配置。 $sudo update-alternatives --config javaws 链接组 javaws (提供 /usr/bin/javaws)中只有一个候选项:/opt/jdk1.8.0_211/bin/javaws 无需配置。
  • 验证是否配置成功
$ java -version java version "1.8.0_211" Java(TM) SE Runtime Environment (build 1.8.0_211-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)  $ javac -version javac 1.8.0_211
  • 在CS162网站下载x86 linux平台下的MIPS编译器This Page

  • 解压mips-x86.linux-xgcc到/opt/目录下

  • 配置全局变量(供所有用户使用):

    • 新建ARCHDIR变量

    • 添加mips目录到PATH

在/etc/profile文件尾部添加

# mips cross-compiler export PATH=$PATH:/opt/mips-x86.linux-xgcc export ARCHDIR=/opt/mips-x86.linux-xgcc
  • 添加nochos/bin目录到PATH环境变量

在/etc/profile文件尾部添加

# nachos excutation export PATH=$PATH:/home/zgd/docs/cs162/nachos/nachos/bin
  • 在nochos/proj1目录下,执行
    • 编译make
    • 运行nachos
$make javac -classpath . -d . -sourcepath ../.. -g ../threads/ThreadedKernel.java 注: ../../nachos/machine/Lib.java使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 javac -classpath . -d . -sourcepath ../.. -g ../threads/Boat.java  $nachos nachos 5.0j initializing... config interrupt timer user-check grader *** thread 0 looped 0 times *** thread 1 looped 0 times *** thread 0 looped 1 times *** thread 1 looped 1 times *** thread 0 looped 2 times *** thread 1 looped 2 times *** thread 0 looped 3 times *** thread 1 looped 3 times *** thread 0 looped 4 times *** thread 1 looped 4 times Machine halting!  Ticks: total 2130, kernel 2130, user 0 Disk I/O: reads 0, writes 0 Console I/O: reads 0, writes 0 Paging: page faults 0, TLB misses 0 Network I/O: received 0, sent 0
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!