You are on page 1of 2

Operating Systems

Part I. Computer Organisation


* Computer Foundations. History: from vacuum tubes to VLSI. Von Neumann arch
itecture. Hardware/software layers. Digital electronics review: boolean algebra,
logic gates, adders, multiplexors, latches.
* Operation of a Simple Computer. Overview: processors, memory, buses, devic
es. Memory: concepts, structures, hierarchy. Processor: control and execution un
its. ALU and computer arithmetic. Logical and Conditional Operations. Branches.
Memory access. Data representation: (integers), text, reals, compound structures
, instructions. Fetch-Execute Cycle Revisited. [2 lectures]
* Input/Output. General I/O architecture. Example devices. Buses: general op
eration, hierarchy, synchronous versus asynchronous. Interrupts. Direct Memory A
ccess. Review of Part I.
Part II. Operating Systems
* Introduction to Operating Systems. Abstract view of an operating system. O
S Evolution: multi-programming, time-sharing. Dual-mode operation. Protecting I/
O, memory, CPU. Kernels and micro-kernels.
* Processes and Scheduling. Job/process concepts. Scheduling basics: CPU-I/O
interleaving, (non-)preemption, context switching. Scheduling algorithms: FCFS,
SJF, SRTF, priority scheduling, round robin. Combined schemes.
* Memory management. Processes in memory. Logical addresses. Partitions: sta
tic versus dynamic, free space management, external fragmentation. Segmented mem
ory. Paged memory: concepts, internal fragmentation, page tables. Comparison. So
ftware segments.
* Filing Systems and I/O. File concept. Directories: functions, hierarchies,
DAGs, hard/soft links. Protection. Locating data: contiguous allocation, chaini
ng in the media/a map, indexed schemes. Directory implementation. Recovery. Poll
ing and interrupts. Application I/O interface: block and character devices, bloc
king versus non-blocking I/O. Caching and buffering. [2 lectures]
Part III. OS Case Studies
* Unix case study. History. General structure. Processes: memory image, life
cycle, system calls, process groups, signals. The shell: basic operation, comma
nds, standard I/O, redirection, pipes. Process implementation. Memory management
. File system: hierarchy, mount points, directories, inodes. FFS: fragments, cyl
inder groups. I/O subsystem. [2 lectures]
* Windows NT case study. History. Design principles. Overall architecture. K
ernel: objects, processes, threads, scheduling. Executive: object manager, proce
ss manager, I/O manager, LPC. Environmental subsystems. NTFS.
Objectives

At the end of the course students should be able to


* describe the fetch-execute cycle of a simple computer with reference to th
e control and execution units
* understand the different types of information which may be stored within a
computer memory
* compare and contrast polled, interrupt-driven and DMA-based access to I/O
devices
* state the three basic objectives of an operating system
* describe, with the aid of a diagram, the differences between monolithic, k
ernel and microkernel operating system structures
* explain the concepts of process, address space, and file
* recognise the opportunities afforded by a mixture of I/O and CPU bound tas
ks
* differentiate between hard and soft links
* compare and contrast various CPU scheduling algorithms
* understand the differences between segmented and paged memories, and be ab
le to describe the advantages and disadvantages of each
* discuss the different ways in which file data may be located
* realise the motivation behind the use of buffering and caching schemes
* write a short essay outlining the differences between Unix and NT with reg
ard to structure, execution models, scheduling algorithms and native filing syst
ems

You might also like