Associate Professor, Department of Computer Science
University of Regina
Regina, Saskatchewan, Canada S4S 0A2
The prerequisite for CS330 is CS210 or its equivalent. Four assignments will require programming, debugging, and testing new features for HALos, an operating system written in C/C++. HALos manages a HAL9000 computer, a virtual machine written in C/C++ that runs on any computer running the Linux operating system. HALos supports the execution of both foreground and background processes, and multiprogramming. HALos and the HAL9000 provide an environment for running "real" programs written in the HAL programming language (HAL is short for Hilderman's Algorithm Language). HAL supports integer, float, and string data types, local and global variables and constants, one-dimensional arrays, functions, procedures, pass-by-value, pass-by-reference, recursion, file I/O, arithmetic operations, and conditional and unconditional branching. Assignments will include the development of enhancements to HALshell (a command line interface to HALos), as well as the development of enhancements to HALos and the HAL9000 for handling new system calls, new CPU scheduling policies, and new memory managment policies.