Aims The main objective of this module is to introduce important concepts of modern operating systems including processes, concurrent processes, inter-process communication, synchronization, process scheduling and deadlocks, memory management, swapping, paging, segmentation and virtual memory. Also file systems and its implementation besides the input-output systems and mass storage structure. Learning outcomes Knowledge On completion of this module, the successful student will be able to: • Demonstrate the structure and functions of an operating system. (1) • Illustrate the methods of process management, CPU scheduling and process synchronization. (2) • Characterize what are deadlocks and how they are handled. (3) • Describe memory organization and explain memory management techniques. (4) • Compare between different operating systems. (5) Skills This module will call for the successful student to: • Expertly use any operating system environment. (6) • Create any operating system component. (7) • Solve some of the common operating systems problems such as: deadlock, synchronization…etc. (8) Syllabus • Operating-System Structures. • Process Management. • CPU Scheduling. • Process Synchronization. • Deadlocks. • Memory Management. • Virtual Memory. • File System interface. • File System Implementation. • Mass Storage Structure. • I/O Systems. TEACHING/LEARNING STRATEGIES • Weekly lectures to introduce the basic concepts of the course subjects. • Weekly computer laboratory to use readymade software to apply the concepts of Neural Networks to solving problems. • Class presentations the student will be assigned a specific subject to investigate in depth and make in class presentation. Assessment Scheme • Unseen Examinations 60 % • Coursework 40% Learning materials • Operating Systems Concepts, 8th ed. Abraham Silberschatz, Peter Bear, Galvin Greg Gagne, John Wiley & Sons, 2008.