The aim of this module is to give learners an appreciation and understanding of the internal workings and designs of modern operating systems while also providing learners with the necessary basic knowledge, skills and understanding to install, configure and troubleshoot the Linux operating system. The module is a balance between theoretical and practical aspects of modern operating systems. The module aims to- develop the students’ knowledge of operating systems by covering the theory of how modern, multi-user, network operating systems function; in particular the issues of concurrency and deadlock, which arise, in such systems on uni-processor and multi-processor/multicore platforms.- To enhance the students’ operating systems administration skills through the advanced configuration and troubleshooting of the Linux operating systems in a multi-user networked environment.
Operating Systems Structures
- System components, OS services, system calls, system programs- OS structures- Virtual machines
- Process concept, schedulers, operations on processes- Cooperating processes: Producer-Consumer problem- Interprocess Communication- Communication in client-server systems
- Uni-processor scheduling. - High, medium and low level schedulers. - Low level scheduling algorithms. - Thread, multiprocessor and real-time scheduling.
- Means of supporting threads in an OS- Multithreading models- Threading Issues- Case study: Linux
- Logical vs. physical address space. - Paging and segmentation. - Segmentation with paging. - Virtual Memory Management (demand paging, page-replacement etc.). - Case study: Linux
- Basic concepts and file management techniques. - Disk partitions and file management utilities. - Journalling. - Case study: Linux.
- I/O Device characteristics and objectives of I/O systems. - Physical and logical organisation of I/O functions. - Categorisation of types of devices. - Buffering.
- The critical-section problem- Synchronisation hardware- Semaphores- Classical problems of synchronisation- Critical regions- Monitors- OS synchronisation- Atomic transactions- Practical Project with ThreadMentor or similar software
- System Model- Deadlock characterisation- Methods for handling deadlocks- Deadlock prevention, avoidance, detection and recovery
System Administration in Linux
- Installing the Linux OS- Configuring, compiling and installing software from source code- Monitoring processes including measuring CPU- and memory-usage- Configuring and compiling the Linux kernel
|Module Content & Assessment