Skip to content

stealthybox/pintOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,299 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pintOS

This repository is a fork of the Pintos project hosted at pintos-os.org by Ben Pfaff (@blp).

Pintos is an educational operating system framework for the 80x86 architecture.
The project was built for students of Stanford University's cs140.

Pintos supports kernel threads, loading and running user programs, and a file system.
Out of the box, it implements all of these in a very simple way.

The Pintos projects aim to teach about the fundamental implementation behind these operating system concepts by providing a template for students to strengthen the operating system's support in these three areas.
There is also a project that adds a virtual memory implementation.

This repo is being used by students instructed by Ivo Georgiev (@ivogeorg) at MSU Denver for a course in Operating Systems (CS 3600).

For more reading, see the Stanford and Virginia Tech course documentation.

dependencies

A recent version of gcc and gdb is necessary to build the project.
Pintos can run under a variety of vm's, but this repo is configured to use qemu as the 80x86 emulator.

This code base has been tested to be functional on Ubuntu and Linux Mint.
However, it should be fit for other Linux distributions, as well as OSX (with either gnu tools or modifications for clang).

installation

Repo-specific installation:

  • clone:

    git clone <this_repo>
  • using the appropriate value for PINTOS_ROOT,
    add the following to your ~/.bashrc:

    export PINTOS_ROOT=/your/path/to/pintOS    # ie: /home/stealthybox/repos/pintOS
    export PATH=$PINTOS_ROOT/src/utils:$PATH   # adds the pintos binaries to your PATH
  • load the env

    source ~/.bashrc  # or restart your terminal
  • build the pintos utils

    cd $PINTOS_ROOT/src/utils; make
  • build the threads project

    cd $PINTOS_ROOT/src/threads; make

testing

  • run a single test:

    pintos run alarm-single   # where 'alarm-single' is the test name
  • run the thread test suite:

    cd $PINTOS_ROOT/src/threads; make check VERBOSE=1
  • clean up:

    cd $PINTOS_ROOT/src/threads; make clean   # so you can `make check` new code

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors