DCU Home | Our Courses | Loop | Registry | Library | Search DCU
<< Back to Module List

Latest Module Specifications

Current Academic Year 2025 - 2026

Module Title Operating Systems
Module Code EEN1019 (ITS: EE206)
Faculty Electronic Engineering School Engineering & Computing
NFQ level 8 Credit Rating 5
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.


WorkloadFull time hours per semester
TypeHoursDescription
Lecture24Classroom lecture.
Tutorial12Tutorial exercises and assignment support
Assignment Completion24Programming assignments.
Independent Study65Independent learning.
Total Workload: 125
Section Breakdown
CRN20507Part of TermSemester 2
Coursework0%Examination Weight0%
Grade Scale40PASSPass Both ElementsY
Resit CategoryRC1Best MarkN
Module Co-ordinatorRobert SadleirModule Teacher
Assessment Breakdown
TypeDescription% of totalAssessment Date
AssignmentThe purpose of this assignment is to make the students more familiar with the Linux operating system and environment by using its commands and by creating shell scripts.10%Week 4
AssignmentThe purpose of this assignment is to assess the students' ability to write C programs that utlilise shared memory and pipes for interprocess communication.15%Week 7
Formal ExaminationEnd-of-Semester Final Examination75%End-of-Semester
Reassessment Requirement Type
Resit arrangements are explained by the following categories;
RC1: A resit is available for both* components of the module.
RC2: No resit is available for a 100% coursework module.
RC3: No resit is available for the coursework component where there is a coursework and summative examination element.

* ‘Both’ is used in the context of the module having a coursework/summative examination split; where the module is 100% coursework, there will also be a resit of the assessment

Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

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:
  • Andrew S. Tanenbaum: 2009, Modern Operating Systems, 3, Pearson Education, 0138134596
  • William Stallings: 2011, Operating Systems: Internals and Design Principles, 7, Pearson Education, 593 - 626, 0273751506


Articles:
None
Other Resources

None

<< Back to Module List View 2024/25 Module Record for EE206