COMP104 - Operating Systems Concepts
Module Information and Resources
Lecture and Practical Arrangements
There are three lectures each week, taking place at the following times
The first lecture will take place on Monday 30th January
Monday 14.00 (Life Sciences, Lecture Theatre 3)
Tuesday 15.00 (Life Sciences, Lecture Theatre 3)
Wednesday 12.00 (Chadwick Building, Chadwick Lecture Theatre)
In addition there will be one scheduled practical class each week.
These will take place at the following times commencing week beginning
Monday 13th February 2017
NOTE: TIMES AND DAYS ARE NOT YET FINALISED AND MAY CHANGE AT SHORT NOTICE.
CHECK ORBIT FOR DETAILS
Thursday 09.00 (GHOLT-H105 Lab3) (Mahmoud Mousa - firstname.lastname@example.org)
Thursday 11.00 (GHOLT-H116/117 Lab2) (Paul Gainer - email@example.com)
Friday 09.00 (GHOLT-H105 Lab3) (Paul Gainer - firstname.lastname@example.org)
Friday 15.00 (GHOLT-H116/117 Lab2- (Mahmoud Mousa - email@example.com))
FIRST PRACTICAL ASSIGNMENT - INFORMATION
The first practical assignment can be found here
The deadline for which will be 16.00, Wednesday 15th March 2017
SECOND PRACTICAL ASSIGNMENT - INFORMATION
The second practical assignment be found
The associated input files for this assignment are:
Replace longest resident page
Replace least recently used page
Replace randomly chosen page
The deadline for this assignment is
12.00, Wednesday 3rd May 2017
Relevant Notes will appear in this list prior to the material being introduced.
- Scheduling and Memory Managment
- Device Management
- File Handling
To introduce students to the structure and functionality of modern operating systems.
To explain how the principal components of computer-based systems perform their functions and how they interact with each other.
At the end of this module the student should be able to
state the overall structure and functionality of a modern
operating system and the interactions between computer hardware and user-programs;
identify the operations of the major components of an
operating system, including the device manager, file manager, memory manager, and process manager;
identify the functions of system programs, including parsers, compilers, and virtual machines;
construct programs which demonstrate in a simple form the operation of examples of systems programs, including simple compilers and programs that involve management of concurrent processes.
Process management: Communicating sequential processes, process management and scheduling. Resource allocation, mutual exclusion, semaphores, deadlock. (6 lectures)
Concurrent programming in Java. (4 lectures)
Memory management: storage organisation methods, paging, segmentation, memory allocation, housekeeping. (4 lectures)
Device Management: Polling / Interrupts. (1 lecture)
File management: Input/output, files, and filestore organisation: buffering, caching, store allocation and garbage collection. (3 lectures)
Operating systems case studies: Windows and Linux. (3 lectures)
Compilers: a practical overview of compiler construction; lexical analysis, parsing, code generation, linking,interpretation examined in the context of Java and available software tools. (6 lectures)
A. Silberschatz, P. B. Galvin, and G. Gagne: Operating system concepts with Java. Wiley (latest edition).
A. Silberschatz, P. B. Galvin, and G. Gagne: Operating system concepts. Wiley (latest edition).
I. M. Flynn and A. McIver-McHoes: Understanding operating systems. Thomson (latest edition).
K. C. Louden: Compiler Construction: Principles and Practice. Thomson (latest edition).
D. Watt, D. Brown, and R. W. Sebesta: Programming Language Processors in Java: Compilers and Interpreters. Prentice Hall (latest edition).