CMPS 360 Operating Systems
Course Description

Computer Science Department
California State University, Bakersfield
V.1, 5/6/2003

Catalog Description :

A study of the introductory concepts in operating systems: historical development of batch, multiprogrammed, and interactive systems; file, memory, device, process and thread management; interrupt and trap handlers, abstraction layer, message passing; kernel tasks and kernel design issues; signals and interprocess communication; synchronization, concurrency, and deadlock problems.

Prerequisite:

CMPS 360

Units:

5

Coordinator:

Marc Thomas
Goals/Objectives:
  • history, role, purpose, and functionality of a typical operating system
  • basic OS structures, processes, resources, interrupts, the concepts of user/system state and protection, kernel mode and device organization.
  • concurrency, process/thread structure, creation ( fork() .. execve() ), priorities, states, shared data structures and process/thread synchronization, deadlock, its conditions and prevention.
  • compare and contrast different process/thread scheduling algorithms.
  • issues involved in memory system design especially virtual memory systems (e.g. TLB cache, paging, copy on write, etc.)
  • issues related to devices management, buffering, serial and parallel devices, direct memory access.
  • issues related to files, directory, system security and protection.
  • (Laboratory) Become proficient in writing basic systems programs utilizing signals, process creation, interprocess communication ( System V IPC ), multiple threads, and the Unix run-time interface; work with a batch/multiprogrammed operating system simulator. tradeoffs involved in operating system design (e.g. performance vs. security, robustness vs. modularity).

Current Texts:

  • Andrew Tanenbaum, Modern Operating Systems (2nd edition) , ISBN 0-13-031358-0
  • Kernighan and Ritchie, The ANSI C Programming Language, Chapter 8, the Unix System Interface , ISBN 0-13-110362-8

Topics:

  • (OS1) Overview of operating systems and history: understand the basic structures, primitives, and functional layers of microkernel, monolithic and virtual machine operating systems.
  • (OS2) Operating system principles: Understand the hardware issues, software abstractions and data structures required for operating system design (e.g. CPU protection, hardware traps/interrupts, call and interrupt gates, etc.).
  • (OS3) Concurrency: Understand process/thread structure, creation ( fork() .. execve() ), priorities, states, shared data structures and process/thread synchronization.
  • (OS4) Scheduling and dispatch: Understand the algorithms involved in scheduling, deadlock control, and queueing theory.
  • (OS5) Memory management: Understand all the issues involved in memory system design especially virtual memory systems (e.g. TLB cache, paging, copy on write, etc.)
  • (OS6) Device Management: Characteristics of serial and parallel devices, Buffering strategie, Direct memory access, Recovery from failures
  • (OS8) File System: Files and directories structure, organization, implementation, operations and buffering,

ACM Sub Areas or Units Covered::

OS1. Overview of operating systems 0.0
OS2. Operating system principles 0.0
OS3. Concurrency 0.0
OS4. Scheduling and dispatch 0.0
OS5. Memory management 0.0
OS6. Device management 0.0
OS8. File systems 0.0
OS: Operating Systems

Laboratory:

The laboratory session will parallel the lecture, illustrating the principles and familiarizing the student with system software constructs. Lab assignments will be in C and will cover the use of the Unix run-time interface, POSIX signal handling, the System V IPC suite, and the POSIX pthread package to write portions of operating system code, do simulations, test virtual machines, and experiment with synchronization and deadlock.

Oral and Written Communication:

Social and Ethical Issues:

 

Problem Analysis:

Solution Design:

Version & Date

Version 1, 5/6/2003

Comments

The first draft based on ACM curricula 2001 in the format of ABET sample course description.