第0讲:pintos概论
来源:互联网 发布:衣橱整理软件 编辑:程序博客网 时间:2024/05/03 17:11
正好在学pintos,看那个文档实在麻烦,为了方便大众~~还是写个东西~
pintos程序在simulator上跑,simulator有bochs和qemu两种选择。进入系统后首先面临的问题是无处下手。因为不知道文件的目录,就不能在command里做什么。
解决方法:打开file manager,会显示目录,如/home/osproj/Desktop
让我们先来看一下桌面上的东西~pintos是一个单纯的文件夹,pintos.tar.gz是一个打包压缩文件,可以通过解压缩变成pintos。
解决方法:在Desktop目录下打开terminal,输入tar zxvf pintos.tar.gz即可变成一般的文件夹
pintos文件夹里有很多子文件,下面一一介绍:
1.threads 最基本的内核的源文件。在project1中用到。
2.
。。。
接下来我们肯定想要了解怎么编译第一个threads的程序,进入threads文件夹,并打开terminal,输入make [SIMULATOR=--bochs | SIMULATOR=--qemu] 即可生成build文件夹,
build文件夹下有几个文件,下面介绍一下:
1.MakeFile 这是pintos/src/MakeFile.build的副本。
2.kernel.o 对于整个内核的一个object file 可用gdb编译。
3.kernel.bin 内核的内存影像文件。
4.loader.bin 内核加载器的影像文件。
5.os.dsk 内核的硬盘影像文件。
//其实这些太空了,讲了也没用。下面讲的就比较实在了。
怎样跑pintos程序这个是必须知道的,需要在simulator上跑,进入build/test/threads里有很多程序,你可以随便挑一个来泡泡~书上说跑alarm-multiple,那就先拿这个玩玩~,在build文件下打开terminal,输入pintos run alarm-multiple,即可跑一个程序,会在terminal和bochs两边都跑一遍,这是书上reproducibility,如果你不想在terminal上出现,则可以重定向~C++里也有类似概念,自己查,我不说。
输入 pintos run alarm-multiple >file.txt 即可定向到file.txt中。yeah~~
细点说~看下terminal里跑的样子~首先是仿真器的版本~2008年7月3号~三年前~~
后面是设置路径,生成一个bochsrc.txt这个文件很重要,他能启动仿真器,并初始化一些某某某~自己去看,这种对project没用的不说废话了。
pintos一般把输出映射到VGA display和第一个serial port:仿真器。
pintos -h可以帮助!!帮助是有用的,在帮助中可以看到书上有些东西是没用的,敢骗我!貌似没有什么-j seed这种东西的,帮助里都没说明。
跑了一个文件是不是不过瘾~好!接下来跑整个project:threads
在build文件夹在打开terminal 输入make check 即可跑。最后会说你成功了几个,失败了几个~初始是7/27 能对7个~ 如果你想单独查某个任务,可以在t.output看输出,t.result看success/fail。
书上又有一个东西骗我。。桑心。我在tests/threads里打开terminal,输入make alarm-multiple.result 尽然不行。哎。
好了,
第0部分我们学到了什么呢?
0.pintos目录。
1.pintos的run
2.simulator基础。
3.压缩解压缩。
- 第0讲:pintos概论
- pintos (0) --前言
- 第0章 计算器概论
- 第0章 计算机概论
- 第0章:计算机概论
- 第0章 计算机概论
- 第0章、计算器概论
- 第0章 计算机概论
- 第0节-计算机概论
- 自讲《系统分析师》----概论
- 第一周:算法概论
- 第一篇 计算机概论
- 第一篇 计算机系统概论
- 第0讲 开山篇
- 第0讲: 准备篇
- 【鸟哥 linux 基础篇】 第0章 计算机概论
- 鸟叔Linux学习笔记:第0章:计算机概论
- 数据库系统概论学习笔记----讲1
- VC动态创建控件之CButton类
- 老生常谈:学英语(转)
- 画图之线宽问题
- Struts2+Spring+Hibernate 配置步骤
- struts2注解
- 第0讲:pintos概论
- spring.jar 是包含有完整发布模块的单个jar 包。
- 谈人生(转)
- Linux编辑器--vim的tag29.4
- Linux内核在沸腾,我们如何接手?
- i++与++i的收集
- 电信华为 HG526 破解 - 简易启用USB恢复
- Google C++ Style Guide
- Linux编辑器--vim的tag29.5