Skip to content

ECSE 427 is an Operating Systems course. The assignments in the class are cumulative, and the end product is a fully functional operating system (In terms of functionality and behavior). More info about class: https://www.mcgill.ca/study/2020-2021/courses/ecse-427

Notifications You must be signed in to change notification settings

Runtime-Learner/ECSE427-VirtualOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Assignment 1:

The goal of Assignment 1 was to create a fully functional shell and interpreter. The shell would accept user input, parse it, and send the parsed tokens to the interpreter. The interpreter then attempts to run the user command. If the command is recognized and has a valid number of arguments, it is run.

Assignment 2:

The goal of Assignment 2 was to implement the exec command. This command emulates loading programs to RAM, adding their PCBs to a queue of running processes, and task switching between them. This in turn leads to concurrent execution of the scripts passed to the exec command.

Assignment 1 features:

1) Can navigate user command using arrow keys

Character-by-character movement Token-by-token movement
GIF of character navigation GIF of word navigation

2) Shell has command history that can be accessed using up/down arrow keys

GIF of command history

3) Commands can be Tab autocompleted

Autocomplete command Autocomplete command parameters
GIF of tab autocomplete GIF of tab autocomplete

Assignment 2 features:

Tab autocomplete has been modularized. Can now autocomplete tokens in the middle of a command

GIF of tab autocomplete on exec command

Exec command can run scripts concurrently

run script1 & run script2 exec script1 script2
GIF of running two scripts with run command GIF of running two scripts concurrently with exec

About

ECSE 427 is an Operating Systems course. The assignments in the class are cumulative, and the end product is a fully functional operating system (In terms of functionality and behavior). More info about class: https://www.mcgill.ca/study/2020-2021/courses/ecse-427

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published