A Plethora of Shell Commands and a Shiny New
PREVIOUS COMMIT MESSAGE : File System

- Implemented file system and functionality to create, read, and delete
files as well as reformat the hard drive
- Added shell commands to change process scheduler algorithm as well as
view the currently set scheduler algorithm
Process Scheduling Additions and Partially Implemented Write to HDD Function

- Implementations of First-Come First-Served and Priority process
scheduling, some work still to do on Priority scheduling to get it
working without bugs
- Wrote most of the necessary code for writing data to a file on the
hard drive... more to come!
Worked Out bugs in Create File, Delete File and Format HDD

- Fully implemented create file and delete file functionality and just
need to display a success message for format HDD to be completed
- Still fixing bugs in Write file and Read file from HDD, but progress
is being made, files longer than 60 bytes are causing issues with block
chaining at the moment
Finalized Format Function, Corrected Read Function, Created HDD Device Driver

- Added output message for format HDD function to notify user of
successful HDD format
- Fixed bugs in read file function that prevented reading of any file
from occurring
- Moved HDD interaction functions from HDD class to a device driver
class that abstracts the hard drive details for operating system
interactions/requests
Added Kernel Access Privileges On HDD Operations For Process Swapping

- Implemented access parameters on HDD function calls, specifying user
and kernel access, preventing users from manipulating or viewing swap
files
Load Function Update / HDD Display Added

- Updated the load shell function to handle loading more than 3 programs
at a time by sending subsequent processes to disk
- Added a display to the OS screen to show live changes to the HDD data
- Added functions to the memory manager of the OS to handle easier
clearing and loading of process blocks in memory
Fixed Write File Bug, Reworked Kill Process Command

- Fixed an issue where the write file to hard drive function would fail
if only one word was provided to write
- Attempted a rework at the kill process method which is behaving
counter-intuitively and not having any effect on processes in progress
even when they are forcibly removed from the ready queue
All HDD Functions Work!! Memory Also Looks Nice :)

- An error in locating the next free block of space on the HDD caused my
write function to constantly overwrite itself in the same block. Fixing
this allowed me to test the read and delete functions fully which both
work now.
- Added aesthetically-pleasing labels to the main memory table in the OS
viewer so as to make it more readable and understandable
"Quad Processing Capabilities: Engage!"

- Runs four concurrent processes using swapping to HDD in both Round
Robin and First-Come, First-Served scheduling, need to fix bugs in
Priority scheduling
Still Some Bugs in Priority...

- Got Priority scheduling to make the correct first two decisions for
processes to run, but processing cuts off at two, still looking into the
cause of this issue
- Kill method still eluding me... Despite my numerous attempts to
directly remove all references to the killed process, from the
ReadyQueue and ResidentQueue, processing continues as if the removal of
these references has no impact on the process, going to look into this
issue further
Merge pull request #2 from MFigs/master

Project 4 Sync