- Department: Computer Science
- Credit value: 20 credits
- Credit level: I
- Academic year of delivery: 2023-24
- See module specification for other years: 2024-25
Systems & Devices 2: Operating Systems, Security, and Networking
Pre-requisite modules
Co-requisite modules
- None
Prohibited combinations
- None
Occurrence | Teaching period |
---|---|
A | Semester 1 2023-24 |
This module builds on Systems and Devices 1 by examining the system software that executes upon a computer system. Students will learn how the resources of the system can be shared by multiple programmes and users, and how networking can be used to communicate between programmes. One important aspect is how basic security and protection mechanisms are provided by the processor and memory system. Throughout, the module students will consider practical examples based on computer systems used today. This module also introduces students to the core concepts of computer networking by covering the layered network model, and discussing the utility and motivation for such an approach. Services that are layered on this model (such as UNIX sockets, DNS, TCP, IP) are detailed and students will develop software to experiment with these features. After taking this module, students will have an understanding of the role of an operating system, how computers can support multiple time-sliced programmes, and how all kinds of computer networks, including the Internet, are created.
Demonstrate application programming of OS-supported concurrency, communication and I/O. Show how the structure of the OS is supported by computer hardware, with specific reference to the hardware features that extend the basic systems introduced in S&D1.
Use basic resource management mechanisms provided by common OSes, including time and memory.
Demonstrate use of the memory protection mechanisms provided by hardware and OSes, including memory mapped I/O.
Demonstrate use of the information security provided by the OS in terms of file systems.
Demonstrate concurrent programming at the process level and show how it is supported by, and implemented on, the system hardware.
Learn to recognise and avoid issues of deadlock, livelock, and starvation.
Be able to articulate the motivation behind the layered network model
Develop software using OS-level networking concepts (i.e. sockets) to communicate with other systems.
Demonstrate understanding of networked architectures, how they are integrated into an operating system, and develop simple applications using this knowledge.
Task | % of module mark |
---|---|
Essay/coursework | 50 |
Online Exam -less than 24hrs (Centrally scheduled) | 50 |
None
Students are only required to resit any failed assessment component.
Task | % of module mark |
---|---|
Essay/coursework | 50 |
Online Exam -less than 24hrs (Centrally scheduled) | 50 |
Feedback is provided through work in practical sessions, and after the final assessment as per normal University guidelines.
*** Operating System Concepts, Tenth Edition by Silberschatz, Galvin and Gagne, Wiley (2018)
* A. S. Tanenbaum, Modern Operating Systems, Prentice Hall (2014).
* W. Stallings, Operating Systems, Internals and Design Principles (9th Edition) Ninth Edition, Prentice Hall (2017).