Latest Module Specifications
Current Academic Year 2025 - 2026
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Description The course will cover the UNIX/Linux environment and shell programming. It will also cover computer operating systems and examine the interaction of concurrent processes using C code developed on a Linux system. In particular, the course will focus on the interaction of concurrent processes: means of realising concurrency, and the use of modern interaction primitives, e.g. semaphores, message passing. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Learning Outcomes 1. Work in a UNIX environment and write shell scripts and C programs. 2. Develop code to implement key real-time optimisation techniques. 3. Apply the principles associated with process management and inter-process communications. 4. Demonstrate an understanding of the hardware architecture of modern computer platforms. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indicative Content and Learning Activities
Introductory UNIX/Linux Overview of the UNIX/Linux operating system. UNIX/Linux implementations. Basic operations and commands. File redirection. Command shells. Communicating with remote systems. Manipulating processes. Embedded Operating Systems eCos. TinyOS. Scheduling Batch. Interactive. Real Time. Memory Management Memory Abstraction. Swapping. Virtual Memory. Paging. Concurrent Processes Meaning of a process. Difference between a process and a thread. Analysis of real world applications in terms of interacting concurrent processes. Solutions based on parallel hardware architecture and/or pseudo-parallelism by time-slicing a single sequential processor. Process interaction. Inter-Process Communication Synchronisation and communication. Use of semaphore synchronisation and shared memory communication. Critical section implementation. Examples using C code fragments. Producer/consumer problem. Problems of unintended side-effects and deadlocks. Use of message passing for synchronisation and communication in distributed systems. Deadlock Formal analysis. Deadlock conditions. Resource allocation graph. Handling deadlock. Input/Output Architecture I/O device classification. I/O hardware architecture. Controller/CPU interface. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indicative Reading List Books:
Articles: None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Other Resources None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||