Module Specifications.
Current Academic Year 2024 - 2025
All Module information is indicative, and this portal is an interim interface pending the full upgrade of Coursebuilder and subsequent integration to the new DCU Student Information System (DCU Key).
As such, this is a point in time view of data which will be refreshed periodically. Some fields/data may not yet be available pending the completion of the full Coursebuilder upgrade and integration project. We will post status updates as they become available. Thank you for your patience and understanding.
Date posted: September 2024
| |||||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||||||||||||||||||||||||||||||||||