Module Descriptors
OPERATING SYSTEMS FOR ENGINEERS
XCOM41112
Key Facts
Faculty of Computing, Engineering and Sciences
Level 4
15 credits
Contact
Leader:
Email:
Hours of Study
Scheduled Learning and Teaching Activities: 36
Independent Study Hours: 114
Total Learning Hours: 150
Assessment
  • MULTI-CHOICE TEST weighted at 50%
  • PRACTICAL IN EXAMINATION CONDITIONS weighted at 50%
Module Details
Module Texts
Silberschatz, A., Galvin, P.B, Gagne, G, Applied Operating Systems Concepts, John Wiley & Sons, 2005, ISBN: 0471694665
Tanenbaum, A.S, Modern Operating Systems, Prentice Hall, 2001, ISBN: 0130926418
Module Additional Assessment Details
50% MCQ tests and 50% practical examination

2 written MCQ Tests, length 30 mins, weighted at 25% each assessing Learning Outcomes 2, 3 and 4
A practical examination not in examination conditions weighted at 50% (Learning Outcome 1)
Module Resources
Internet
Library
UNIX workstations
Windows workstations
Module Learning Strategies
24 hours lectures / 12 hours labs/tutorial

Weekly one hour lectures to supplement on-line material
Lab session every week to gain practical OS experience and reinforce theory
Team assignment work as part lab work and skills test
Investigation using Web
(1:n)2 (1:20)1
Module Indicative Content
The module aims to give an understanding of the underlying principles of computer operating systems, and their relation to hardware components. It also aims to show how the nature of the underlying system can affect the design and implementation of layered software systems.
Examples will be drawn from real systems throughout; these include Windows, Linux, UNIX and others as appropriate.
Content will focus on:
Examination of the purpose of an operating system; the operating system as program environment; the relevance and usefulness of a virtual machine.
Operating system structure; layered systems; monolithic systems; relevance to distributed systems.
Minimum hardware requirements; examples drawn from PC hardware.
System functions and characteristics; desirable features.
The importance of concurrency; synchronisation and communication.
Communication primitives; semaphores; message passing; monitors.
Basic kernel components; interrupt handling; low level scheduling; interprocess communication.
System data structures; an introduction.
Memory management and protection; the machine memory model; virtual memory and virtual machines. Swapping and paging mechanisms; memory management strategies.
Input and output; request queues; synchronous and asynchronous I/O. Device drivers; ancillary device driver processes (rationale and implementation); buffering. Spooling; transparent and non-transparent.
Filing systems; desirable features. On-disk structures. Performance, reliability and security considerations; disk scheduling. Installable file systems. Remote file systems. Filing system enhancements; two level systems. System backup and recovery.
The program and process environment. Virtual machine layout. Link editing; link loading; relocation; dynamic loading. Static and dynamic data areas; stacks; heaps. Effect on system performance. Object file formats and their relation to memory management. Operating system support for debugging.
Resource allocation; avoidance of deadlocks; recovery from deadlocks.
Final overall case studies. Windows NT/2000/XP; UNIX and variants, Possibly others!
Module Special Admissions Requirements
None.