Explore UCD

UCD Home >

COMP20180

Academic Year 2024/2025

Intro to Operating Systems (COMP20180)

Subject:
Computer Science
College:
Science
School:
Computer Science
Level:
2 (Intermediate)
Credits:
5
Module Coordinator:
Assoc Professor Pavel Gladyshev
Trimester:
Spring
Mode of Delivery:
Blended
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

The course is an introduction to operating systems, with an emphasis on fundamental principles underlying modern general-purpose operating systems. The course is based on exploring and modifying a teaching operating system running on a simulated RISC-V computer. References to popular operating systems are also made at different points in order to illustrate concepts and/or implementation issues. The course starts with an introduction to “bare metal” programming using a combination of C and RISC-V assembly languages. The important concepts and historic developments related to Operating Systems are then introduced using a combination of lectures, historic videos, and practical assignments in which students develop extensions to the teaching operating system. These concepts include interrupts, executable file, execution context switching, process, system call, driver, file system, Unix system call API and shell language, process scheduling, virtual memory, interprocess synchronisation and communication.

About this Module

Learning Outcomes:

- Know what an operating system is and why operating systems are studied as a subject matter.

- Understand the concepts of process and thread.

- Understand the concepts of software and hardware interrupts.

- Understand the concept of the device driver.

- Understand the concepts of process/thread scheduling.

- Understand the concept of virtual memory.

- Understand the concept of system calls (syscalls).

- Understand key concepts of the Unix syscall API.

- Understand key ideas of Unix shell language

- Understand the concepts related to process synchronisation, interprocess communication, and associated issues such as deadlock.

- Understand essential concepts and techniques underlying file system implementation.

Indicative Module Content:

(see above)

Student Effort Hours:
Student Effort Type Hours
Lectures

22

Tutorial

16

Autonomous Student Learning

88

Total

126


Approaches to Teaching and Learning:
Lectures; Problem-based learning

Requirements, Exclusions and Recommendations
Learning Recommendations:

The students are expected to have knowledge of programming and data structures equivalent to that acquired in the Computer Science modules offered in these areas in levels 1 and 2.


Module Requisites and Incompatibles
Not applicable to this module.
 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Quizzes/Short Exercises: Brightspace MCQ quizzes about historic videos presented in the course Week 1, Week 2, Week 3, Week 4, Week 5, Week 6, Week 7, Week 8, Week 9, Week 10, Week 11, Week 12, Week 14, Week 15 Alternative linear conversion grade scale 40% No
4
No
Assignment(Including Essay): "Bare metal" computer programming Week 3 Alternative linear conversion grade scale 40% No
9
No
Assignment(Including Essay): System calls, interrupts, multitasking Week 6 Alternative linear conversion grade scale 40% No
9
No
Assignment(Including Essay): Unix syscall API and shell command syntax Week 9 Alternative linear conversion grade scale 40% No
9
No
Assignment(Including Essay): Virtual address spaces, interprocess communication and synchronisation, related topics Week 12 Alternative linear conversion grade scale 40% No
9
No
Exam (In-person): Written exam on all aspects of the module End of trimester
Duration:
2 hr(s)
Alternative linear conversion grade scale 40% No
60
No

Carry forward of passed components
Yes
 

Resit In Terminal Exam
Autumn No
Please see Student Jargon Buster for more information about remediation types and timing. 

Feedback Strategy/Strategies

• Feedback individually to students, post-assessment

How will my Feedback be Delivered?

Not yet recorded.

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Spring Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Thurs 12:00 - 12:50
Spring Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Tues 14:00 - 14:50
Spring Tutorial Offering 1 Week(s) - 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Wed 14:00 - 15:50
Spring Tutorial Offering 2 Week(s) - 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Mon 15:00 - 16:50