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.
-
Synchronization using semaphores, locks, and condition variables
-
Remove busy-wait loops by allowing threads to sleep
-
Priority scheduling with priority donation
-
Argument passing to new processes
-
System calls:
halt, exit, exec, wait, create, remove, open, filesize, read, write, seek, tell, close
-
Manage user virtual pages and physical frames using page tables and frame tables
-
Create a swap disk
-
Allow for file lazy loading and stack growth
-
Files are extensible (upto 8MB)
-
Subdirectories
-
System calls:
chdir, mkdir, readdir, isdir. inumber