Operating Systems Introduction S H Srinivasan shs cs ucsd edu What is an OS Collection of software that makes the computer usable processes sharing useful to to many applications abstraction Between the application and the hardware Layers Banking Airline Games Compilers Editors Shell kernel Machine language Microprogramming Physical devices APPLICATIONS SYSTEM system calls PROGRAMS device drivers HARDWARE Why an OS Functionality ease of use timesharing networking Abstractions ease of programming sockets pipes Performance efficiency manage resources efficiently OS as an idealized machine Physical machine single processor limited memory complex devices limited security physical machine OS idealized machine Idealized Machine As many processors as the number of programs Unlimited memory Clean and uniform device interfaces Access control Efficient resource use OS in action ls Mail work games Behind the scenes operations shell print prompt WAIT for user input user type ls device driver read the keyboard inform the kernel kernel send it to the shell shell look for executable code ls make system calls kernel determine the type of file system cached on disk cdrom network OS in action contd shell kernel get the contents of directory shell format the output device driver display on CRT Other operations file permissions can t execute a text file directory access ls secret quota ls listing OS in action bigger picture init init init getty getty getty init login bin sh bin sh bin date Is the complexity worth Abstraction process file harddisk cdrom network terminal Sharing cpu memory devices Control access file memory device Performance Layers Shell user cd System calls system programmer chdir Software architecture designer kernel file system networking Implementation Concepts Principles behind architecture and implementation well known algorithms well known problems Well known OSs Multics Unix Linux BSD MS Windows Realtime OS History of OS Late 50 s Early 60 s batch processing Late 60 s 70 s Multiprogramming time sharing new abstractions History of OS cont d 80s 90s GUI network support network transparency Multiprogramming Goal keep CPU busy Fact I O times are large When one program is waiting for I O run another program Multiple programs resident in memory Scheduling non preemptive Time sharing Goal allow access to multiple users at the same time Fact People s response time is large Schedule the programs fast Scheduling preemptive Major Unix Flavors First Edition Bell Labs 1969 1BSD UC Berkeley 1977 System V 1983 POSIX standard Linux open source Solaris Sun AIX IBM FreeBSD open source OS organization Libraries process process process user Kernel Device Drivers supervisor Processor s Main Memory Devices Kernel Process resource manager Memory manager File manager Device manager Processor Modes Mode bit supervisor or user Supervisor mode can execute all machine instructions can reference all memory locations User mode subset of instructions subset of memory locations Kernel Trusted management software executes in supervisor mode can enter user mode How does a user program invoke a kernel operation Trap instruction Trap is like a function call mode is set to supervisor address of function is looked up from a table the function body is executed Direct invocation of the function is not permitted Other OS organizations Object oriented object data associated procedures Microkernel most of the services implemented at the user level servers kernel provides only the communication between servers Realtime OS Performance guarantees Administration Class webpage www cs ucsd edu classes sp00 cse120 A Bulletin board send mail to qxin cs ucsd edu Section Fri 12 20 1 10 CSB 001 Text Modern Operating Systems Tanenbaum Evaluation Four group of 3 assignments programming report 12 5 each Midterm 20 Final 30
View Full Document
Unlocking...