写于2019.06.10
本文Nachos实验环境为:Linux-Mint 19.1(Tessa) 64位VM虚拟机
$tar -xzvf jdk-8u211-linux-x86.tar.gz
在/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
在/etc/profile文件尾部添加
# nachos excutation
export PATH=$PATH:/home/zgd/docs/cs162/nachos/nachos/bin
$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
原文:https://www.cnblogs.com/vincent-zhu/p/10999414.html