Module Catalogues, Xi'an Jiaotong-Liverpool University   
Module Code: CSE108
Module Title: Operating Systems Concepts
Module Level: Level 1
Module Credits: 5.00
Academic Year: 2017/18
Semester: SEM2
Originating Department: Computer Science and Software Engineering
Pre-requisites: N/A
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.
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.
Method of teaching and learning 
Lectures: Students will be expected to attend formal lectures in a typical week. Formal lectures will be used to introduce students to the concepts and methods covered by the module, reinforced by practical illustrations and exercises using systems available to the students (Linux, Windows, Java).

Practicals: Students will be expected to attend supervised computer lab practicals in a typical week.
Computer lab practicals are intended to allow students to undertake practical exercises with the possibility of immediate feedback.

Private study: In a typical week students will be expected to devote approximately 6 hours of unsupervised time to private study; private study will provide time for reflection and consideration of lecture material and background reading and completion of the assessment tasks.

Assessment: Continuous assessment will be used to test to what extent practical skills have been learnt.
A final examination at the end of the module will assess the academic achievement of students.
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 file store organisation: buffering, caching, store allocation and garbage collection. (3 lectures)
6. Operating systems case studies: Windows and Linux. (2 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. (5 lectures)
8. Runtime store organisation: dynamic store allocation, treatment of recursion. Organisation Of the Java virtual machine. (3 lectures)
Delivery Hours  
Lectures Seminars Tutorials Lab/Prcaticals Fieldwork / Placement Other(Private study) Total
Hours/Semester 42       14    94  150 


Sequence Method % of Final Mark
1 Final Exam 80.00
2 Assessment Task 10.00
3 Assessment Task 10.00

Module Catalogue generated from SITS CUT-OFF: 10/22/2017 10:45:05 AM