Module Specifications..
Current Academic Year 2023 - 2024
Please note that this information is subject to change.
| |||||||||||||||||||||||||||||||||||||||
None Both the formal examination and coursework are available for resit. |
|||||||||||||||||||||||||||||||||||||||
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/LinuxOverview 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 SystemseCos. TinyOS.SchedulingBatch. Interactive. Real Time.Memory ManagementMemory Abstraction. Swapping. Virtual Memory. Paging.Concurrent ProcessesMeaning 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 CommunicationSynchronisation 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.DeadlockFormal analysis. Deadlock conditions. Resource allocation graph. Handling deadlock.Input/Output ArchitectureI/O device classification. I/O hardware architecture. Controller/CPU interface. | |||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||
Indicative Reading List
| |||||||||||||||||||||||||||||||||||||||
Other Resources None | |||||||||||||||||||||||||||||||||||||||
Programme or List of Programmes
| |||||||||||||||||||||||||||||||||||||||
Date of Last Revision | 21-MAY-12 | ||||||||||||||||||||||||||||||||||||||
Archives: |
|