Operating Systems Principles Class 1 S. Venkatesan Department of Computer Science Spring 2003 Views of Operating Systems Resource manager Control program that controls all the devices Interface between the machine and the user S. Venkatesan Department of Computer Science Spring 2003 Overview of a Computer System OS uses/manages HW resources to provide service to users Main components are: (a) Processor, (b) Main memory, © I/O devices Processor has program counter (PC), instruction register (IR), MAR, MDR, etc. S. Venkatesan Department of Computer Science Spring 2003 Instruction execution Fetch next instruction from memory Decode instruction Fetch operand from memory if needed Execute instruction Store result in memory if needed Repeat this.. S. Venkatesan Department of Computer Science Spring 2003 Interrupts A mechanism by which the normal flow of program execution is changed Identify type of interrupt Service interrupt Resume original execution Can disable interrupts (when? Why?) S. Venkatesan Department of Computer Science Spring 2003 I/O devices Store/generate data Transfer data – Programmed I/O [CPU constantly checks status] – Interrupt driven: CPU waits for an interrupt – DMA (Direct Memory Access): Transfer large volume of data S. Venkatesan Department of Computer Science Spring 2003 Evolution of Operating Systems Today’s OS evolved over time Many techniques used in old OS are very useful S. Venkatesan Department of Computer Science Spring 2003 I. Early Systems (I generation) No OS Users operate like an open shop – sign up for slots (like renting) User has complete control of the machine Utilization is very low; set up time is high S. Venkatesan Department of Computer Science Spring 2003 II. Early batch systems Motivation: Increase CPU utilization Use a slow computer to aggregate programs and feed into fast computer. Same on the output side Issues; – Job Control Cards – Protection of OS and Users S. Venkatesan Department of Computer Science Spring 2003 III Sophisticated batch systems Refine early batch systems 1. Buffering and double buffering SPOOLing Multipogramming S. Venkatesan Department of Computer Science Spring 2003 IV. Time-sharing systems Combination of early systems (I generation) and multiprogramming Time-sharing=interactive programming+multiprogramming Suitable for small jobs S. Venkatesan Department of Computer Science Spring 2003 V. Multiprocessor Systems Multiple CPUs; two kinds – All CPUs attached to common main memory (parallel processing) NCUBE, Hybercube – Separate memory and large distances between CPUs-- distributed processing; WWW S. Venkatesan Department of Computer Science Spring 2003 Real-time systems Programs with tight deadline constraints; not much of slack time .. Examples – Flight control – Process control in factories/nuclear reactors – Military situations S. Venkatesan Department of Computer Science Spring 2003 Two approaches to implement OS Monolithic – OS is one big program – When executing, disable all interrupts – After execution, enable interrupts Kernal or Nucleus – A small portion of code executed in an interrupt-disabled mode; others?can be interrupted S. Venkatesan Department of Computer Science Spring 2003 Characteristics of modern OS Microkernal architecture – Few function to kernal (address space, IPC, scheduling, etc.) – Other services are provided by user processes in user mode – Customize servers, simplifies implementation, flexibility S. Venkatesan Department of Computer Science Spring 2003 Characteristics of modern OS; Continued Multithreading – light duty processes – DB server – web server Symmetric multiprocessing – >1 identical CPUs – Same memory, I/O, etc. – Incremental growth S. Venkatesan Department of Computer Science Spring 2003