pintos Project (1) 简介

一 实验描述

  关于pintos的介绍,官方给出的introduction上是这样描述的:

 Welcome to Pintos. Pintos is a simple operating system framework for the 80x86 architecture. It supports kernel threads, loading and running user programs, and a file system, but it implements all of these in a very simple way. In the Pintos projects, you and your project team will strengthen its support in all three of these areas. You will also add a virtual memory implementation.

Pintos could, theoretically, run on a regular IBM-compatible PC. Unfortunately, it is impractical to supply every CS 140 student a dedicated PC for use with Pintos. Therefore, we will run Pintos projects in a system simulator, that is, a program that simulates an 80x86 CPU and its peripheral devices accurately enough that unmodified operating systems and software can run under it. In class we will use the Bochs and QEMU simulators. Pintos has also been tested withVMware Player.

These projects are hard. CS 140 has a reputation of taking a lot of time, and deservedly so. We will do what we can to reduce the workload, such as providing a lot of support material, but there is plenty of hard work that needs to be done. We welcome your feedback. If you have suggestions on how we can reduce the unnecessary overhead of assignments, cutting them down to the important underlying issues, please let us know.

This chapter explains how to get started working with Pintos. You should read the entire chapter before you start work on any of the projects.

二 实验准备

  安装好的bochs以及解压缩的pintos。

  之前的博客 里我也写过如何在Ubuntu14.04下编译安装pintos以及bochs虚拟机。

  最好掌握Git的常用操作如add, commit, push, pull等,在更改代码的过程中可能由于一些莫名的错误,需要返回上一个版本,这个时候Git等版本控制软件就显得非常的重要了。

  想要学习Git的使用,推荐教程  Git 教程 我在这里花了大约一天到两天的时间学会了一些常用的使用,熟悉了相关命令之后,经过一段时间的使用,感觉再也没办法离开Git(Github)了。

  推荐使用VS Code 编辑器。我在做这个实验的时候,使用的方法是,在Mac下用VS Code进行编辑,编辑完成后使用git同步到Github,然后在虚拟机中pull下来调试。(因为我的虚拟机Ubuntu有点卡顿,开了3G内存都还是慢吞吞,没办法只能委曲求全了)

  关于终端的配置,我使用的是zsh + oh-my-zsh,个人喜好,自己习惯就好。

三 实验任务

  这里我们开始进行pintos的实验任务。

  pintos的实验分成四个大的任务:

  • Project 1: Threads
  • Project 2: User Program
  • Project 3: Virtual Memory
  • Project 4: File System 

  因为本学期课程时间的原因,我们只做前两个部分,目前已经进行到第一个任务,第二个任务暂时还没有开始,后面我们会开始分步介绍每一步都做了些什么,以及这样做的目的。后面的两个任务我将在学有余力地情况下酌情完成,不一定会写。

 

OK,让我们开始第一个Project吧,Threads走起,先Pass掉27个tests再说!

 

先上一张什么都没有修改过的Pintos的make check的截图:

 

四 实验代码

本实验的代码均放在我的Github的geren仓库中,请移步:

https://github.com/crayygy/pintos

不同任务的代码在不同的分支中,目前的master分支已经完成了Project 1 Threads。

转载于:https://www.cnblogs.com/crayygy/p/pintos-project-introduction.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值