Aim of Module | To provide students with a thorough knowledge of the components of a typical multiuser operating system and the interaction between those components. |
Credits | 7 |
Student Learning hours | 70 |
Content Revised | Nov 2002 |
Prescription Expiry Date | Nov 2007 |
Topics | Highest Skill Level | Suggested Assessment Percentage | |
1 Process Management | C | 20 | |
2 Storage Management | C | 25 | |
3 Processor Management | C | 20 | |
4 Auxiliary Storage Management | C | 10 | |
5 Case Study | A | 25 | |
100 |
1 | Process Management |
C | Explain the concept of a process, how processes interact with each other, and the concept of deadlock. | |
1.1 | Process concepts | |
- process states | ||
- process control blocks | ||
- operations on processes | ||
- interrupt processing | ||
- context switching | ||
1.2 | Interactions | |
- parallel processing | ||
- mutual exclusion | ||
1.3 | Deadlock | |
- definition | ||
- examples of deadlock | ||
- indefinite postponement examples | ||
- conditions necessary for deadlock to occur | ||
- prevention of deadlock | ||
- detection and recovery from deadlock | ||
- deadlock anticipation |
2 | Storage Management |
C | Explain how real storage is managed by the operating system and how virtual storage is organised and managed. | |
2.1 | Real Storage management | |
Describe the main methods of organising real storage and explain how the management problems of fetch, placement and replacement relate to them. Describe the problems of storage management in single and multi programming environments. | ||
2.1.1 | Storage Organisation | |
- contiguous | ||
- non-contiguous | ||
- fixed and variable partitions | ||
2.1.2 | Storage management strategies for: | |
- fetch | ||
- placement | ||
- replacement | ||
2.1.3 | Single user contiguous allocation. | |
2.1.4 | Single stream batch manager. | |
2.1.5 | Multi programming | |
- fixed partition | ||
- variable partition | ||
- fragmentation | ||
- swapping | ||
2.1.6 | Caching. | |
2.2 | Virtual Storage Organisation | |
Explain the concept of virtual storage organisation using paging and segmentation and explain how addresses are translated in these methods. | ||
2.2.1 | Concepts of virtual storage and address translation. | |
2.2.2 | Paging | |
- concepts | ||
- address translation using page tables | ||
- address translation using associative memory | ||
- address translation using a combination of page tables and associative memory | ||
2.2.3 | Segmentation | |
- concepts | ||
- address translation | ||
2.3 | Virtual Storage Management | |
Describe the management problems of fetch, placement, replacement as they relate to virtual storage. Explain and compare the effectiveness and implementation of the main replacement policies. Explain and compare demand and anticipatory fetch policies. | ||
2.3.1 | Management strategies | |
- fetch | ||
- placement | ||
- replacement | ||
2.3.2 | Page replacement policies | |
- FIFO (first in first out) | ||
- LRU (least recently used) | ||
- LFU (least frequently used) | ||
- NUR (not used recently) | ||
2.3.3 | The principles of locality. | |
2.3.4 | Working sets and thrashing. | |
2.3.5 | Fetch policies (demand and anticipatory). | |
2.3.6 | Page release. | |
2.3.7 | Page size. | |
2.3.8 | Program behaviour under paging (including blocking and swapping). | |
2.4 | Use an available monitoring package to document program behaviour under a variety of machine conditions. | |
3 | Processor Management |
C | Explain how processes are scheduled in a multi-tasking environment. | |
3.1 | Scheduling levels. | |
3.2 | Scheduling objectives. | |
3.3 | Scheduling criteria. | |
3.4 | Pre-emptive versus non-pre-emptive scheduling. | |
3.5 | Interval timing. | |
3.6 | Priorities | |
- none | ||
- static | ||
- dynamic | ||
3.7 | Scheduling methods | |
- FIFO (first in first out) | ||
- round robin | ||
- multilevel queues | ||
3.8 | Operator control. | |
3.9 | Swapping and its functions. | |
3.10 | Multiprocessor considerations. | |
4 | Auxiliary Storage Management |
C | Explain the main techniques used in disk scheduling and how the auxiliary storage is managed for file and database applications. | |
4.1 | Filing systems | |
- account/directory structures | ||
- block allocation | ||
4.2 | Disk scheduling. | |
4.3 | Data base systems. | |
4.4 | Security | |
- user logon | ||
- account/directory access protection | ||
- password protection | ||
- encryption | ||
- file access | ||
- memory protection | ||
5 | Case Study |
A | Identify how all of the above are handled in a particular modern multi-tasking operating system. |