COMP20180 Intro to Operating Systems

Academic Year 2022/2023

The course is a general introduction to operating systems, with an emphasis on practical techniques and fundamental principles underlying modern general-purpose operating systems. The course is based around RISC-V computer system running XV6 operating system. References to actual systems are also made at different points in order to illustrate concepts and/or implementation issues. The course starts with a brief review of the history of operating systems, and a discussion of their main design issues. This is followed by an introduction to RISC-V assembly language programming and compilation process. The important concepts, such as interrupt, executable file, and process, which encompasses the execution context of programs, are introduced. Afterwards, we study concepts of system call, driver, file system, process scheduling, and memory management. After introducing the concept of threads, we are lead to the subject of how processes and threads communicate, cooperate and synchronise, and to the topics of race conditions and deadlock.

Show/hide contentOpenClose All

Curricular information is subject to change

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 process/thread scheduling.

- Understand the concepts of memory management and virtual memory.

- Understand the techniques associated to process synchronisation, and associated issues such as deadlock.

- Understand the mechanisms underlying file systems.

- Understand processes of compilation and the concepts of executable file

- Understand the concepts of interrupts and their use in implementation of system calls and process scheduling

- Understand the concept of driver

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 Open Book Exam Component Scale Must Pass Component % of Final Grade
Examination: End of semester examination. 2 hour End of Trimester Exam No Alternative linear conversion grade scale 40% No

40

Assignment: Questions and exercises to be completed by the students. Throughout the Trimester n/a Alternative linear conversion grade scale 40% No

60


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.

Name Role
Maryam Gillani Tutor
Hafiz Adnan Niaz Tutor
Stephen Philip Pilli Tutor