Skip to content

Pintos is a simple operating system framework for the 80x86 architecture. This is our semester project for CS 333 at Alexandria University. We are assigned certain tasks to improve the implementation of Pintos.

License

Notifications You must be signed in to change notification settings

abdelhakeem/cs333-pintos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pintos

Pintos is a simple operating system framework for the 80x86 architecture. This is our semester project for CS 333 at Alexandria University. We are assigned certain tasks to improve the implementation of Pintos.

Quickstart

Install Bochs

  • Download the source code of Bochs 2.2.6 or Bochs 2.6.2

  • Use either of the two build scripts src/misc/bochs-2.2.6-build.sh and src/misc/bochs-2.6.2-build.sh depending on your downloaded version of Bochs to patch, build, and install it

    usage: env SRCDIR=<srcdir> PINTOSDIR=<srcdir> DSTDIR=<dstdir> sh src/misc/bochs-2.6.2-build.sh
      where <srcdir> contains bochs-2.6.2.tar.gz
        and <pintosdir> is the root of the pintos source tree
        and <dstdir> is the installation prefix (e.g. /usr/local)
    

Run Pintos

  • Setup the environment variables by sourcing SETUP_ENV.sh from the root of the repository:

    $ source SETUP_ENV.sh
    Updating PATH...
    Updating GDBMACROS...
  • Build the source code of the project you are working on (e.g.: threads, userprog, vm, filesys):

    src/threads $ make
  • Run Pintos in a simulator using pintos, for example:

    src/threads $ pintos -h

    Output:

    PiLo hda1
    Loading............
    Kernel command line: -h
    
    Command line syntax: [OPTION...] [ACTION...]
    Options must precede actions.
    Actions are executed in the order specified.
    
    Available actions:
      run TEST           Run TEST.
    
    Options:
      -h                 Print this help message and power off.
      -q                 Power off VM after actions or on panic.
      -r                 Reboot after actions.
      -rs=SEED           Set random number seed to SEED.
      -mlfqs             Use multi-level feedback queue scheduler.
    Timer: 0 ticks
    Thread: 0 idle ticks, 0 kernel ticks, 0 user ticks
    Console: 552 characters output
    Keyboard: 0 keys pressed
    Powering off...
    

About

Pintos is a simple operating system framework for the 80x86 architecture. This is our semester project for CS 333 at Alexandria University. We are assigned certain tasks to improve the implementation of Pintos.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •