CS 452/552

From CS Wiki
Jump to: navigation, search

CS 452/552: Real-time Operating Systems

Catalog Description: Topics of interest in the implementation of Real-Time Operating Systems, especially as applicable to embedded systems, including a relevant hardware review, interrupts and interrupt handling, real-time scheduling principles and implementation, latency, task management, shared data and synchronization, timers, message passing, tradeoffs between memory space and speed. Students will build a simple but relatively complete real-time operating system over the course of the semester. Additional projects and assignments are required for graduate credit.

Type: CS 452 is a Technical Elective for CS majors. CS 552 is available for graduate credit.

Total Credits: 3

Course Coordinator: Robert Rinker

URL: http://www2.cs.uidaho.edu/~rinker/cs452/index.html

Prereq: CS 240

Textbook: David Simon, An Embedded Software Primer, Addison-Wesley 1999.

Major Topics Covered

  • Processor architecture review
  • C language review
  • Hardware fundamentals: interrupts, clocks, I/O devices
  • Device drivers
  • Task scheduling
  • Real-time scheduling
  • Memory allocation
  • RTOS specification and design
  • Concurrency, shared data, semaphores
  • Interprocess communication: queues, pipes, mailboxes
  • Timers, events

Course Outcomes

After completing this course, students should:

  1. Be able to work with an embedded processor environment, where program development is performed on a host computer (PC), and the result is downloaded into a standalone "bares-bones" embedded processor
  2. Be able to use a language such as C to program simple I/O devices connected to the embeddded processor.
  3. Be able to write both polled and interrupt-driven I/O device drivers, including the use of hardware timers.
  4. Be able to implement a simple task management, task scheduling system that can choose between two or more memory-resident programs.
  5. Be able to implement intertask synchronization mechanisms, such as semaphores.
  6. Understand of interprocess communication mechanisms, such as pipes and semaphores, are implemented.