Skip to content

Ross65536/PintOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pintos

Labs for undergraduate OS class (EN.601.318/418) at Johns Hopkins CS. Pintos is a teaching operating system for x86, challenging but not overwhelming, small but realistic enough to understand OS in depth (it can run x86 machine and simulators including QEMU, Bochs and VMWare Player!). The main source code, documentation and assignments are developed by Ben Pfaff and others from Stanford (refer to its LICENSE).

Changes

The course instructor (Ryan Huang) made some changes to the original Pintos labs to tailor for his class. They include:

  • Tweaks to Makefiles for tool chain configuration and some new targets
  • Make qemu image and run it in non-test mode.
  • Tweaks and patches to get Pintos run and test on Mac OS
  • Color testing result
  • Bochs build fix
  • Various bug fixes
  • Lab 0
  • Misc enhancement

This is the upstream branch to track the changes. For students in the class, please clone or download the release version from here to work on the projects.

Setup

The instructor wrote a detailed guide on how to setup the toolchain and development environment to work on Pintos projects.

Instructions

Debugging

cd src/threads
make
pintos --gdb -- run mytest

# in another window
cd build
pintos-gdb kernel.o
target remote localhost:1234

Running:

make qemu
pintos run -- run mytest

Testing

To run unit tests run:

cd src/unit_tests
make test

Note: runtime for tests is userland. Useful for testing pure functions

To run simulator tests run:

make
cd build
make check