This subject aims to provide an introduction to the design and internal operation of general purpose multi-tasking operating systems. It concentrates on the kernel aspects of such systems with the emphasis being fundamental kernel-level design and performance constraints and criteria. Where applicable, the course makes reference to modern operating systems (e.g. Linux, Windows) to illustrate real implementations and to give the learner practical experience
PROCESS MANAGEMENT
Process states and transitions; Representation of processes (PCBs); Manipulation of processes (create, suspend, mutexes etc.); Threads (including Java threads); Deadlock and starvation, Recovery, Detection and Avoidance. Inter-process communication and cooperation; Semaphores, Critical Sections, Monitors
MEMORY MANAGEMENT
Memory partitioning, Virtual storage (Paging and Segmentation); Working Sets, Caching, Demand Paging;
PROCESSOR MANAGEMENT
Pre-emptive v. non pre-emptive scheduling, Scheduling methods (FIFO, RR, SJF, SRT, Multilevel Feedback queues etc.), Process Priorities (NT and UNIX)
NETWORK OPERATING SYSTEMS ADMINISTRATION
Administration tasks; User accounts, groups, hosts, permissions.Linux shells, man files, vi editor. Files systems and service management. Backups Drive mapping Partition & processes management. Securing Operating Systems.
NETWORK OPERATING SYSTEMS MANAGEMENT
Monitoring resources; disk management, memory usage, CPU usage, daily logs: syslog, userlog. Task manager. Troubleshooting.
Virtualisation
Virtual Machine (VM) fundamentals and practical understanding of VMware or VirtualBox or other suitable virtual environment. Virtual Machines versus Containers. Student should be able to create new VMs to an appropriate specification and use existing Virtual appliances and understand how to move or copy machines.
Module Content & Assessment | |
---|---|
Assessment Breakdown | % |
Other Assessment(s) | 50 |
Formal Examination | 50 |