Nachos编译与使用–Nachos配置

写在前面
操作系统课程设计要求使用Nachos,因此这里便是对Nachos的初步使用
这里的实验环境采用的是32位的Ubuntu,为什么呢,因为64位的系统,在进行Nachos编译时会出现一个指针类型转换错误的问题,目前尚未解决,大致会出现类似错误(void*)–>(int),这是因为64位系统的void类型指针是一个64位的指针,而int是一个32位的指针,因此出现精度缺失错误。解决的话可能需要使用new进行一个整型变量的强制类型转换。但还是建议更换系统更加方便一些,当然如果是大佬的话,那就随意了。


实验需求
实验环境:32位Ubuntu
实验对象:c++版Nachos
实验参考:http://blog.sina.com.cn/s/blog_a2dded3d010194pj.html
实验所需:http://pan.baidu.com/share/link?shareid=2032464898&uk=2822100601


实验步骤

  1. 下载Nachos
    在实验所需的连接中下载Nachos,得到一个压缩包
  2. 提取文件
    双击压缩包,提取文件到一个新建的文件夹中,我这里是code-linux
  3. 进入文件夹并进入子文件夹Nachos-3.4

  4. 进入code文件夹
    code文件夹所存放的便是Nachos系统的源代码,在这个文件夹中,每一个文件夹都对应着操作系统的某方面功能

    其中machine是用来模拟虚拟机的,network是模拟网络的,其余都对应着英文意思
  5. 右键进入终端
    在文件夹中打开终端,执行make操作,生成可执行文件XXX.o
    5.1

    发现出现错误,仔细观察原因,大致是因为Makefile文件中第一行gmake命令没有找到,使用gedit打开Makefile,果然如此

    这个错误的原因是因为在Ubuntu系统中没有gmake这个命令,而是使用的make命令进行编译文件,因此改成make后保存并在终端中使用make命令重新编译。
    5.2
    重新编译后发现又出现新的错误

    仔细观察错误原因,发现是在Makefile.common这个文件中的“-fwritable-strings”在Ubuntu中没有找到,果断打开Makefile.common文件,找到这个地方,删掉

    5.3
    再次在终端使用make重新编译,发现可以正常编译了
  6. 使用Nachos
    刚刚编译好了Nachos,现在使用一下吧
    6.1
    进入threads文件夹,打开终端,运行./nachos

    运行成功,其实运行的文件就是threads文件夹中的nachos文件

Nachos编译与使用--Nachos配置相关推荐

  1. 一篇编译内核的详细配置文章

    前言之前言:谁是这篇文章的读者? 不习惯读英文资料的非LINUX高手 声卡不响光驱不转连不上网等等,只要有问题就行 开发嵌入式操作系统 现在流行的ODL(only disk linux)中做内核部分, ...

  2. STM8-STVD+Cosmic编译输出信息参数配置

    STM8-STVD+Cosmic编译输出信息参数配置

  3. 沁恒CH32V103C8T6(二): Linux RISC-V编译和烧录环境配置

    目录 沁恒CH32V103C8T6(一): 核心板焊接和Windows开发环境配置 沁恒CH32V103C8T6(二): Linux RISC-V编译和烧录环境配置 硬件准备 CH32V103 开发板 ...

  4. 无线网卡(RTL8188EU)驱动编译、使用DHCP配置无线网络(1

    无线网卡(RTL8188EU)驱动编译.使用DHCP配置无线网络(1) http://www.openloongson.org/forum.php?mod=viewthread&tid=220 ...

  5. 一篇编译内核的详细配置文章(超长-强烈推荐)

    转自:http://www.linuxsir.org/bbs/thread117661.html 前言之前言:谁是这篇文章的读者? 不习惯读英文资料的非LINUX高手 声卡不响光驱不转连不上网等等,只 ...

  6. Linux编译内核的详细配置

    分类: Linux内核 2005-03-12 10:58 4492人阅读 评论(0) 收藏 举报 linux网络idedoswindowsdocumentation 前言之前言:谁是这篇文章的读者? ...

  7. 源码编译Nginx服务器及其配置与应用

    源码编译Nginx服务器及其配置与应用 文章目录 源码编译Nginx服务器及其配置与应用 一.Nginx的特点 1.高并发 2.低消耗 3.低消耗 4.高可用 5.高扩展 二.编译安装Nginx服务 ...

  8. miRanda安装、编译和环境变量配置

    miRanda安装.编译和环境变量配置 HOME=/home/Biochem,即服务器的根目录. 一.下载 工作路径:$HOME/software $ wget http://cbio.mskcc.o ...

  9. Windows 7 64位机上OpenCV2.4.3的编译、安装与配置

    1.      从http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/下载OpenCV2.4.3: 2.      ...

  10. 编译vim-8.2并配置jedi-vim插件

    目录 一.背景 二.编译vim-8.2 三.配置jedi-vim插件 3.1.安装插件vundle 3.2.用vundle安装jedi-vim插件 一.背景 CentOS 7.9上已经安装了anaco ...

最新文章

  1. 双一流校长:学校要扩大博士生规模!适当控制硕士生规模,因为住宿条件跟不上了...
  2. idea在mac版怎么配置svn_使用Mac自带svn搭建服务器,并使用idea进行连接
  3. bzoj2729: [HNOI2012]排队
  4. 分别对时分秒加减的java_Java中关于获取时间(日期)的总结大全
  5. python中字典不自动排序/删除指定类型文件/执行可执行文件的返回值
  6. 手把手-AMOS全流程实操教程
  7. 千牛2015卖家版官方电脑版
  8. 不知道音频格式转换软件哪个好?打工人都在用的几款你别错过
  9. mysql事务 start transaction
  10. 问题记录1:网络和共享中心打不开的解决办法
  11. 基于EasyX的推箱子游戏
  12. 三三速记英语 需要者看
  13. CSS:三种背景(斑马线,棋盘,格子)
  14. 基于51单片机的智能加湿控制器设计
  15. 幻想乡三连C:狂飙突进的幻想乡
  16. Linux安装fping和hping
  17. Spring IoC是什么
  18. 56 行代码,带你爬取豆瓣影评
  19. eclipse语言切换
  20. 破解Redhat开机密码过程

热门文章

  1. FFmpeg解码H264视频流局部花屏解决方法
  2. java ToStringBuilder
  3. 全球知名 CMS 提供商详细清单
  4. GPS广播星历和精密星历的下载
  5. 网络通信基础知识总结
  6. android超级终端使用,android系统超级终端怎么用?
  7. 50家大厂面试万字精华总结,高性能mysql第五版pdf
  8. GD32VF103开发环境简单介绍
  9. ASCII,UTF-8,GBK编码简介
  10. IMX6Q获取序列号方法