CSC 456 Operating Systems
The first objective is to gain an understanding of what an operating system does, how it is designed and how it is implemented. The main concepts of the process abstraction, virtual memory, file systems will be treated in detail. This course describes the critical layer between the underlying hardware and the user applications; for which a thorough understanding is required for software design. A typical student in this class will be graduating at the end of the academic year and entering the job market soon after. This course also aims at transitioning students to the profession. Students will be treated somewhat like students and somewhat like junior employees of a corporation. This means that not all assignments will be as detailed as they are in lower-level classes. You will be expected to ask questions and give your input in the projects; expected to do independent research and resolve incomplete specifications.
A student who successfully completes this course should, at a minimum, be able to:
- Describe the development, components, systems calls and architecture of an OS.
- Describe process management and interprocess communication
- Describe scheduling for processes and threads
- Describe mechanisms for managing shared resources
- Describe virtual memory concepts
- Describe file system concepts