Taught: Fall 2000, Fall 2001, Fall 2002, Spring 2003, Winter 2004, Spring 2004, Fall 2004, Fall 2005, Fall 2006, Winter 2007
We explain how the concept of operating system (OS) has developed, evolved and what are the common features of an OS. We describe what an OS does for the user, and what it does for the computer-system operator. We discuss the Java virtual machine (JVM), clarify what a process is, describe sockets and remote procedures calls (RPC’s). We cover methods for process scheduling, interprocess communication, process synchronization and deadlock handling. We include the concept of threads, describe multithreaded computer systems since many modern OS now provide features for a process to contain multiple threads of control. We cover memory management, virtual memory and the file-system interface such as directory structure, file system mounting and file sharing. We conclude this course by introducing Windows 2000 as a case study.
Silberschatz et al, Operating System Concepts 6/e, XP Edition, Wiley, © 2003
Ron White, Timothy Downs, How Computers Work, 6th Edition, Pearson Education, © 2002
P. Niemeyer and J. Knudsen, Learning Java, O'Reilly & Associates, May 2000