Operating Systems - IntroductionWhat is an OS?LayersWhy an OS?OS as an idealized machineIdealized MachineOS in actionOS in action (contd)OS in action (bigger picture)Is the complexity worth?Slide 11ConceptsWell-known OSsHistory of OSHistory of OS (cont’d)MultiprogrammingTime sharingMajor Unix FlavorsSlide 19OS organizationKernelProcessor ModesSlide 23Trap instructionOther OS organizationsRealtime OSAdministrationEvaluationOperating Systems - IntroductionS H [email protected] is an OS?•Collection of software–that makes the computer usable•processes•sharing–useful to to many applications•abstraction•Between the application and the hardwareLayersBanking Airline Games APPLICATIONSCompilers Editors Shell SYSTEM--------------------------------- system calls kernel PROGRAMS--------------------------------- device driversMachine languageMicroprogramming HARDWAREPhysical devicesWhy an OS?•Functionality (ease of use)–timesharing–networking•Abstractions (ease of programming)–sockets, pipes, ...•Performance (efficiency)–manage resources efficientlyOS as an idealized machine•Physical machine–single processor–limited memory–complex devices–limited security•physical machine + OS = idealized machineIdealized Machine•As many processors as the number of programs•Unlimited memory•Clean and uniform device interfaces•Access control•Efficient resource useOS in action% lsMail 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, networkOS in action (contd)(shell&kernel): get the contents of directory(shell): format the output(device driver): display on CRTOther operations: file permissions (can’t execute a text file) directory access (ls /secret) quota (ls > listing)OS in action (bigger picture) initinit init initgetty getty getty login /bin/sh /bin/sh /bin/dateIs the complexity worth?•Abstraction–process–file (harddisk, cdrom, network, terminal)•Sharing–cpu, memory, devices•Control–access (file, memory, device)•PerformanceLayers•Shell - user–cd•System calls - system programmer–chdir•Software architecture - designer–kernel, file system, networking, ...•ImplementationConcepts•Principles behind architecture and implementation•well-known algorithms•well-known problemsWell-known OSs•Multics•Unix–Linux–BSD•MS Windows•Realtime OSHistory of OS•Late 50’s - Early 60’s–batch processing•Late 60’s - 70’s–Multiprogramming–time sharing–new abstractionsHistory of OS (cont’d)•80s - 90s–GUI–network support–network transparencyMultiprogramming•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-preemptiveTime sharing•Goal: allow access to multiple users at the same time•Fact: People’s response time is large•Schedule the programs fast•Scheduling: preemptiveMajor 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 organizationLibraries process process process (user) ---------------------------------------------------------Kernel Device Drivers (supervisor)Processor(s) Main Memory DevicesKernel•Process & resource manager•Memory manager•File manager•Device managerProcessor 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 locationsKernel•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 permittedOther 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 serversRealtime OS•Performance guaranteesAdministration•Class webpage–www.cs.ucsd.edu/classes/sp00/cse120_A/•Bulletin board–send mail to [email protected] •Section: Fri 12:20-1:10 , CSB 001•Text: Modern Operating Systems, TanenbaumEvaluation•Four group (of 3) assignments–programming–report–12.5% each•Midterm (20%)•Final
View Full Document