The objectives of this subject are that students should: be familiar with the Unix operating system at the POSIX definition level; know how to develop C applications to run on a POSIX standard operating system; know the basic principles of the design and implementation of a centralised POSIX defined operating system; know how the centralised operating system functionality can be expanded into a distributed operating system; know the basic principles of hard real-time application programming (rate monotonic and deadline monotonic to be examined in depth); and know how to apply the hard real-time principles to existing hard real-time operating systems employing the POSIX standard (as a minimum).
Topics include: the use of the Unix operating system and other POSIX defined operating systems as tools for developing real-time control applications; advanced control application-based C programming; real-time principles and concurrent programming techniques; distributed operating systems employing distributed memory management, process management, file systems, and I/O; and client/server programming, typically using Windows NT. Rate monotonic and deadline monotonic analysis will be examined as a method of providing hard real-time application verification.
Assessment: Typically assessment for this subject involves a series of programming assignments and a final examination.
Autumn semester, City campus
Spring semester, City campus