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 - mamosa@liverpool.ac.uk)
Thursday 11.00 (GHOLT-H116/117 Lab2) (Paul Gainer - sgpgaine@student.liverpool.ac.uk)
Friday 09.00 (GHOLT-H105 Lab3) (Paul Gainer - sgpgaine@student.liverpool.ac.uk)
Friday 15.00 (GHOLT-H116/117 Lab2- (Mahmoud Mousa - mamosa@liverpool.ac.uk))

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 here

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.

Notes

  1. Introduction-
  2. Processes
  3. Concurrency
  4. Scheduling and Memory Managment
  5. Device Management
  6. File Handling
  7. Compilers

 
MODULE DESCRIPTION

28. Aims
 
  1. To introduce students to the structure and functionality of modern operating systems.
  2. To explain how the principal components of computer-based systems perform their functions and how they interact with each other.
29. Learning Outcomes
 

At the end of this module the student should be able to

  1. state the overall structure and functionality of a modern operating system and the interactions between computer hardware and user-programs;
  2. identify the operations of the major components of an operating system, including the device manager, file manager, memory manager, and process manager;
  3. identify the functions of system programs, including parsers, compilers, and virtual machines;
  4. 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.

31. Syllabus
 
  1. Process management: Communicating sequential processes, process management and scheduling. Resource allocation, mutual exclusion, semaphores, deadlock. (6 lectures)
  2. Concurrent programming in Java. (4 lectures)
  3. Memory management: storage organisation methods, paging, segmentation, memory allocation, housekeeping. (4 lectures)
  4. Device Management: Polling / Interrupts. (1 lecture)
  5. File management: Input/output, files, and filestore organisation: buffering, caching, store allocation and garbage collection. (3 lectures)
  6. Operating systems case studies: Windows and Linux. (3 lectures)
  7. 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)
32. Recommended Texts
  Core reading:
  • 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).
Further reading:
  • 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).