COM1032 OPERATING SYSTEMS

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

COM1032  OPERATING SYSTEMS - 2023/4

Module Overview

The module covers the main concepts of modern operating systems (OS). The module has three main parts.


  • The first part of the course provides a short history of operating systems and their purposes. It also introduces the student to multiprocessing and multithreading, i.e. how an OS manages multiple tasks that execute at the same time (concurrently) and share resources.

  • The second part of the course addresses the problem of memory management.

  • The final part of the course introduces file systems and Input/output handling.
Throughout the module, case studies of various operating systems are presented with high level concepts that students explore as exercises or deploy their functionality during labs. All taught material is compatible with existing Operating Systems and is suitable to run on a platform such as Raspberry Pi.

Module content

Indicative content includes the following:

Introduction to Operating Systems
Process Management: allocation of resources, context switching
Process Scheduling
Threads vs Processes
Threads Programming
Concurrency Mechanisms such as synchronization, scheduling, and deadlock
Memory Management Concepts such as linking, dynamic memory allocation, dynamic address translation, virtual memory, and demand paging
Memory Management programming and profiling
File Management Concepts: storage devices, disk management and scheduling, directories, protection, and crash recovery
File Management Programming
I/O Concepts and Programming

Assessment pattern

Assessment type Unit of assessment Weighting
School-timetabled exam/test Invigilated class test (2hrs) 40
Coursework Individual Coursework 60

Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate that they have achieved the module learning outcomes.

Thus, the summative assessment for this module consists of:

  • A open-book mid-term class test, to be done on computer in the Lab session. This addresses LO1 and LO2.

  • An individual coursework the require programming skills and ability to solve problems. This addresses LO3 and LO4. The feedback on the coursework will be given to the students within 3 weeks after the submission deadline.
Formative assessment and feedback
Lecture slides are used extensively in the lectures with each lecture consisting of a number of slides explaining the theory and showing the examples. Solutions to lab exercises are explained during the lab session and provided to the students as part of preparation for the test and coursework.

Module aims

  • Introduce the basic principles of Operating Systems and computer architectures coupled together with aspects like process management, memory management, file systems, I/O subsystems, etc.
  • Practical application of OS principles by examining case studies in a chosen platform
  • Develop the students' knowledge of programming to support an interest in lower level programming to contribute to OS development, or use the acquired skills to be highly skilled programmers in higher level user application development

Learning outcomes

Attributes Developed
001 Understand the operations managed by the OS and design strategies: micro-kernel vs monolithic KC
002 Execute and implement multiprocessing and multithreaded applications using various concurrency and messaging mechanisms KPT
003 Understand Memory Management functionalities implemented by OS, and the various partition schemes. Execute memory profiling to various programming examples KPT
004 Critically evaluate the design of file system and I/O managers in various OS case studies and interface with them from higher level applications. KPT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to:

  • help students understand the distinctive features of various operating systems design decisions;

  • demonstrate the fundamental applications of OS features in programming higher level user applications;

  • provide the foundations on which students can build in order to be able to participate in OS development subsequently;

  • enable students to design higher level applications more efficiently by being aware of the impact the OS has on managing the access to the underlying hardware and other resources.
The learning and teaching methods include:
  • Lectures (11 weeks at 2 hours) using detailed lecture slides and interactive quizzes (e.g., Poll Anywhere) to gauge the students’ understanding.

  • Labs/Tutorials (11 weeks at 2 hours) applying learnt knowledge from lectures to solve related problems.
Students are expected to spend time outside of the contact hours on self-study to prepare and revise lecture, lab and tutorial material

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list

https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: COM1032

发表评论

电子邮件地址不会被公开。 必填项已用*标注