Skip to content

qbaula/Pintos_EE461S_F16

 
 

Repository files navigation

Pintos

Our solution of Pintos for EE 461S: Operating Systems Fall 2016. It should be noted that the solution for threads and filesys are under their own branches in order to remove their interactions with userprog and vm (master). This change, along with other new requirements, are made under the disrection of our professor.

What Was Actually Implemented

  1. Threads

  2. Synchronization using semaphores, locks, and condition variables

  3. Remove busy-wait loops by allowing threads to sleep

  4. Priority scheduling with priority donation

  5. User Programs

  6. Argument passing to new processes

  7. System calls: halt, exit, exec, wait, create, remove, open, filesize, read, write, seek, tell, close

  8. Virtual Memory

  9. Manage user virtual pages and physical frames using page tables and frame tables

  10. Create a swap disk

  11. Allow for file lazy loading and stack growth

  12. File Systems

  13. Files are extensible (upto 8MB)

  14. Subdirectories

  15. System calls: chdir, mkdir, readdir, isdir. inumber

About

Our implementation of Stanford's Pintos

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 68.7%
  • Perl 23.2%
  • Makefile 3.6%
  • Assembly 2.5%
  • C++ 1.1%
  • Shell 0.4%
  • Other 0.5%