(My programs meet all functionality requirements, some points are off because I submitted them late, I get A- for this course)
Welcome! This Syllabus for CS344, Operating Systems I, describes the materials, objectives, and the course policies that I expect us all to adhere to. For everything else, please refer to our course Home Page. It's required that you understand and know the information contained both on this Syllabus and our Home Page.
Subject Matter
Yer gonna love it! In this course we will be learning about scripting and how it connects user programs and OS utilities together, communicating with the Operating System via system calls and utilities, creating and managing multiple processes at once, and inter-process communication, including networking. We will use UNIX as our model OS. By the end of the course, you should be able to:
- Explain why multiprogramming is important for modern operating systems.
- Explain the general structure of a multiprogrammed operating system.
- Explain the purpose and operation of system calls.
- Write a program utilizing system calls.
- Write a program using a scripting language.
- Explain how to use regular expressions to parse input data.
- Write a program that spawns processes and provides mutual exclusion for variables or other resources shared by the processes.
- Write a program that uses sockets to implement a client/server system.
- Explain how a common file system works, including structure, I/O operations, and security.
- Describe the memory organization of a typical process in a common operating system.
You will be using UNIX and C extensively in this course, though C will be reviewed; I expect that you have some experience programming, compiling, and using C and its libraries.