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.
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.
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.
- 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.
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