CS 351: Computer Operating Systems
Course Description:
This course presents the theory of operating systems and an overview of
one or more operating system environments. Operating system concepts
covered should include (but are not limited to): process management, memory
management, I/O management, file management, and security. Theory concepts
will be put into practice with exercises, some requiring college algebra skills
and/or basic programming knowledge. Operating system environments may include
(but are not limited to): Windows, UNIX, Linux. Prerequisite: CS 208 and CS 225. 3:0:3
Learning Outcomes:
Upon completion of this course, the student should be able to:
- Compare and contrast the basic functions common to all operating systems.
- Know the commands of Linux by using them in a group project environment. (Optional)
-
Demonstrate the concepts and techniques of process management, including
interrupts and multitasking.
-
Demonstrate the concepts and techniques of memory management, including dynamic
memory allocation methods (Best Fit, Next Fit, First Fit, Worst Fit), and virtual
memory swapping algorithms (Round Robin, FCFS, SPN, SRT, Feedback).
-
Demonstrate the concepts and techniques of file management, including fragmenting,
storage methods, backup methods, archiving, etc.
Assessment Tools:
Homework assignments: Assign weekly written homework assignments
covering part of a class topic. Short topics will require only one assignment; longer
topics could have more.
Class Presentations: Since this is a high-level class, having
students present ideas to the class is an excellent method of assessing knowledge,
while at the same time giving them practice in preparing and giving instructions.
Exams: Give two to five exams during the semester covering
the topics discussed in class. Exam questions should be of a similar nature to the
assignment questions. Students should be able to apply the technique learned to a
problem not covered in class. Open-note or cheatsheet exams can be appropriate given
the complexity and detail of the exam.
Quizzes: Quick, 10-minute weekly exams are effective in
keeping students up with the material. They give immediate feedback to how well
they are learning the material.
Programming: While there are many opportunities for
programming assignments, they can be quite complex and cumbersome. Examples:
creating an operating system simulation, installing Linux as a server.
Textbooks
To view the approved textbook list, click
here.
Additional Information:
If the teacher would like to teach Linux operating system concepts, the teacher should
contact Park's IT department for details on how to access Park's Linux server over the Internet.