博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pintos Project (1) 简介
阅读量:7180 次
发布时间:2019-06-29

本文共 2386 字,大约阅读时间需要 7 分钟。

一 实验描述

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

 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  and  simulators. Pintos has also been tested with.

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(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仓库中,请移步:

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

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

你可能感兴趣的文章
问几个 User.GetUser()的问题。各位高手来帮忙回答一下
查看>>
如何使用Oracle FND_LOAD工具在不同Instance间同步数据(Example)
查看>>
AMF目前有两种版本,AMF0和AMF3
查看>>
this 的使用方法 —— javascript中的this讲解! (share)
查看>>
[转载]基于TFS实践敏捷-实现用户场景
查看>>
ArcSDE中空间数据的备份与恢复
查看>>
android:onKeyDown
查看>>
go指针的一个小坑
查看>>
VSTO Office二次开发对PowerPoint功能简单测试
查看>>
photoshop快捷键大全
查看>>
Android -- EventBus使用
查看>>
利用gulp搭建本地服务器,并能模拟ajax
查看>>
Java一些八卦集合类
查看>>
linux进程地址空间--vma的基本操作【转】
查看>>
【转】SQLite3的各个函数(全)
查看>>
基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件运行容器
查看>>
LintCode: Minimum Path Sum
查看>>
LintCode: Maximum Subarray
查看>>
大数据在金融和贸易中的作用
查看>>
开发者必读 移动端页面优化的10个好方法
查看>>