Report CopyRight/DMCA Form For : Operating Systems University Of Cambridge
Course Aims,This course aims to, explain the structure and functions of an operating system. illustrate key operating system aspects by concrete example and. prepare you for future courses,At the end of the course you should be able to. compare and contrast CPU scheduling algorithms,explain the following process address space file. distinguish paged and segmented virtual memory,discuss the relative merits of Unix and NT. Operating Systems Aims i,Course Outline,Introduction to Operating Systems. Processes Scheduling,Memory Management,I O Device Management. Protection,Filing Systems,Case Study Unix,Case Study Windows NT. Operating Systems Outline ii,Recommended Reading,Concurrent Systems or Operating Systems. Bacon J and Harris T Addison Wesley 1997 2003,Operating Systems Concepts 5th Ed. Silberschatz A Peterson J and Galvin P Addison Wesley 1998. The Design and Implementation of the 4 3BSD UNIX Operating. Leffler S J Addison Wesley 1989, Inside Windows 2000 3rd Ed or Windows Internals 4th Ed. Solomon D and Russinovich M Microsoft Press 2000 2005. Operating Systems Books iii,What is an Operating System. A program which controls the execution of all other programs. applications, Acts as an intermediary between the user s and the computer. Objectives,convenience,efficiency,extensibility,Similar to a government. Operating Systems Introduction 1,An Abstract View,Operating System. The Operating System OS,controls all execution,multiplexes resources between applications. abstracts away from complexity, Typically also have some libraries and some tools provided with OS. Are these part of the OS Is IE a tool,no one can agree. For us the OS the kernel,Operating Systems Introduction 2. In The Beginning,1949 First stored program machine EDSAC. to 1955 Open Shop,large machines with vacuum tubes. I O by paper tape punch cards,user programmer operator. To reduce cost hire an operator, programmers write programs and submit tape cards to operator. operator feeds cards collects output from printer,Management like it. Programmers hate it,Operators hate it,need something better. Operating Systems Evolution 3,Batch Systems, Introduction of tape drives allow batching of jobs. programmers put jobs on cards as before,all cards read onto a tape. operator carries input tape to computer,results written to output tape. output tape taken to printer,Computer now has a resident monitor. initially control is in monitor,monitor reads job and transfer control. at end of job control transfers back to monitor,Even better spooling systems. use interrupt driven I O,use magnetic disk to cache input tape. fire operator,Monitor now schedules jobs,Operating Systems Evolution 4. Multi Programming,Job 4 Job 4 Job 4,Job 3 Job 3 Job 3. Job 2 Job 2 Job 2,Job 1 Job 1 Job 1,Operating Operating Operating. System System System, Use memory to cache jobs from disk more than one job active simultaneously. Two stage scheduling,1 select jobs to load job scheduling. 2 select resident job to run CPU scheduling,Users want more interaction time sharing. e g CTSS TSO Unix VMS Windows NT,Operating Systems Evolution 5. Today and Tomorrow,Single user systems cheap and cheerful. personal computers,no other users ignore protection. e g DOS Windows Win 95 98,RT Systems power is nothing without control. hard real time nuclear reactor safety monitor,soft real time mp3 player. Parallel Processing the need for speed,SMP 2 8 processors in a box. MIMD super computing,Distributed computing global processing. Java the network is the computer,Clustering the network is the bus. CORBA the computer is the network,NET the network is an enabling framework. Operating Systems Evolution 6,Monolithic Operating Systems. Device Driver Device Driver, Oldest kind of OS structure modern examples are DOS original MacOS. Problem applications can e g,trash OS software,trash another application. hoard CPU time,abuse I O devices,No good for fault containment or multi user. Need a better solution, Operating Systems Structures Protection Mechanisms 7. Dual Mode Operation, Want to stop buggy or malicious program from doing bad things. provide hardware support to distinguish between at least two different modes of. 1 User Mode when executing on behalf of a user i e application programs. 2 Kernel Mode when executing on behalf of the operating system. Hardware contains a mode bit e g 0 means kernel 1 means user. interrupt or fault,reset Kernel User,set user mode. Make certain machine instructions only possible in kernel mode. Operating Systems Structures Protection Mechanisms 8. Protecting I O Memory,First try make I O instructions privileged. applications can t mask interrupts,applications can t control I O devices. 1 Application can rewrite interrupt vectors,2 Some devices accessed via memory. Hence need to protect memory also e g define base and limit for each program. Job 3 limit register,0x9800 0x4800,0x5000 0x5000,Job 1 base register. Accesses outside allowed range are protected, Operating Systems Structures Protection Mechanisms 9. Memory Protection Hardware,base base limit,vector to OS address error. Hardware checks every memory reference, Access out of range vector into operating system just as for an interrupt. Only allow update of base and limit registers in kernel mode. Typically disable memory protection in kernel mode although a bad idea. In reality more complex protection h w used,main schemes are segmentation and paging. covered later on in course, Operating Systems Structures Protection Mechanisms 10. Protecting the CPU,Need to ensure that the OS stays in control. i e need to prevent any a malicious or badly written application from hogging. the CPU the whole time,use a timer device,Usually use a countdown timer e g. 1 set timer to initial value e g 0xFFFF,2 every tick e g 1 s timer decrements value. 3 when value hits zero interrupt,Modern timers have programmable tick rate. Hence OS gets to run periodically and do its stuff. Need to ensure only OS can load timer and that interrupt cannot be masked. use same scheme as for other devices,viz privileged instructions memory protection. Same scheme can be used to implement time sharing more on this later. Operating Systems Structures Protection Mechanisms 11.