2.Pintos及实验环境简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《操作系统课程设计》
Pintos及实验环境简介
黄伯虎
内容
Pintos简介
实验环境简介
Pintos简介
What’s Pintos?
Pintos是Standford大学为操作系统课程专门开发的一个基于80x86架构的简单操作系统框架(A simple operating system framework)。

特点:
支持:内核线程;装载和运行用户程序;文件系统。

但这些功能都只是以一种非常简单的方式实现的。

我们能做的工作:
①从上述三个方面完善该系统
②添加虚拟内存的实现
Pintos文档
理论上来讲,Pintos是可以运行在IBM兼容PC上的,但实际中为了开发和调试的方便,我们常让Pintos运行在虚拟机上(如:
Bochs/QEMU/VMWare)。

同时因为Pintos是在UNIX下用C语言编写出来的,因此其开发环境也应为类UNIX系统。

当前使用较多的是Linux系统,Linux发行版可自由选择,我们的实验环境使用的是Ubuntu12。

Pintos, Bochs, Ununtu
Pintos
Bochs Ubuntu
运行
运行
开发(修改/编译/调试)Pintos 安装手册
演示
实验系统用户(xd)密码:123456 root用户密码:654321
Pintos中一共有4个Project
Project1: Threads
Alarm Clock; Priority Scheduling; Advanced Scheduler Project2: User Programs
Process Termination Messages; Argument Passing; System
Calls; Denying Writes to Executables
Project3: Virtual Memory
Paging; Stack Growth; Memory Mapped Files; Accessing
User Memory
Project4: File Systems
Indexed and Extensible Files; Subdirectories; Buffer Cache;
Synchronization
实验过程
Step1
通过讲解、阅读文献理解基本原理和任务Step2
设计方案,并修改Pintos源代码
Step3
编译,调试,测试
Step4
验收,撰写报告
下载地址:
/07au-cs140/pintos/pintos.tar.gz
打开../pintos/src/,你会看到如下目录树:
threads/ : 基本内核代码、线程调度的代码(project1相关)
userprog/ : 用户进程载入(project2相关)
vm/ : 虚拟内存相关代码,基本上是一个空目录(project3相关) filesys/ : 基本文件系统代码(project4相关)
devices/ : I/O设备接口: 键盘,定时器,磁盘等(project1现相关)
lib/ : C库函数一个子集的实现
lib/kernel/:一些仅能在Pintos内核中包含的C库函数
lib/user/ : 一些仅能在Pintos用户程序中包含的C库函数
tests/ : 测试代码(make check用的)
examples/ : project2中的用户程序的示例
misc/, utils/: These files may come in handy if you decide to try working with Pintos on your own machine. Otherwise, you can ignore them.。

相关文档
最新文档