Teaching operating systems design
ACM SIGCSE Bulletin
The architecture of concurrent programs
The architecture of concurrent programs
Logical Design of Multiple Microprocessor Systems
Logical Design of Multiple Microprocessor Systems
Teaching operating systems and machine architecture—more on the hands-on laboratory approach
SIGCSE '81 Proceedings of the twelfth SIGCSE technical symposium on Computer science education
An integrated small computer laboratory using a central disk storage facility
SIGCSE '78 Proceedings of the ninth SIGCSE technical symposium on Computer science education
A comparative survey of concurrent programming languages
ACM SIGPLAN Notices
Some comments on ADA as a real-time programming language
ACM SIGPLAN Notices
An inexpensive concurrent programming language for operating system construction
ACM SIGCSE Bulletin
An operating systems project using structured methodology
ACM SIGCSE Bulletin
Parallel Quicksort: an exploration of concurrent programming in Ada
ACM SIGAda Ada Letters
Graphos: a graphic operating system
SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
Hi-index | 0.00 |
The educational objectives of two upper level operating systems courses are discussed. The instructional environment in which these courses are taught is also described. The primary goal is to expose students to all of the important issues involved in designing and implementing operating systems. Students should start with the architecture of the target machine and proceed through to an implementation of some functioning operating system. This is a difficult task to achieve in the confines of a single semester. However, a careful choice of software exercises that start very simply and build on each other to illustrate important points, and a high level language facility for writing operating system programs have combined to produce a successful experiment. This technique is applied in a senior level Computer Science course on Operating Systems Principles and a graduate level course on Real Time Systems. The program development system described is not only a good educational tool, but also provides a vehicle for research in comparing concurrency constructs in languages and the performance and architectural implications of concurrent programs.