Skip to main content

Fall Course Registration open now. Register today to get the courses you need!

ICS 664 Real Time Operating Systems

This course is the study of fundamentals of design and implementation of real-time operating systems. Most embedded computer systems have dedicated microprocessors as their computational and controlling elements and run real-time operating systems. This course covers concepts, programming languages, tools, hardware, and methodologies used in the construction of real-time operating systems and their peripheral components. Topics include: applications of real-time operating systems; communications between PC computers and embedded systems; fundamental concepts of scheduling (multitasking and interruptions); introduction of basic hardware components used in most real-time operating systems; Hardware description language[VHDL]; and the writing of a real-time operating system [RTOS] using industrial standard C language, debugging, and loading the code to the target hardware.

Special information

First day attendance is mandatory.Note: Full graduate admission; if admitted conditionally, must have the undergraduate courses in the following areas: computer organization and architecture, computer operating systems, and programming proficiency in C based languages. Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.
4 Graduate credits

Effective January 9, 2006 to present

Learning outcomes


  • Know the characteristics and application areas of embedded systems and real-time operating systems; understand the basic components of embedded computer systems and their interactions among different components (including hardware and software).
  • Demonstrate expertise in reading peer reviewed papers in real-time operating systems and explain them in writing.
  • Understand and modify Window programs that communicate to peripheral devices such as parallel port, etc. and write code that to be loaded to real hardware or to control the simulator.
  • Use circuitry diagrams to represent and modify logic.
  • Use electronic equipment's to debug hardware, load the compiled code onto the target system by using chip programmer, etc.
  • Use hardware design language VHDL to design and verify embedded systems.
  • Use software simulator and in-circuit hardware to test and debug C code written for embedded systems.
  • Write application code and system code for different types of real-time operating systems.