Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-2 Introduction Copyright © 2004 Pearson Education, Inc. 1 Operating Systems: A Modern Perspective, Chapter 1 Why Study Operating Systems? • Understand the model of operation – Easier to see how to use the system – Enables you to write efficient code • Learn to design an OS • Even so, OS is pure overhead of real work • Application programs have the real value to person who buys the computer Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-3 Perspectives of the Computer print cut save send open() malloc() fork() read-disk start-printer track-mouse Application Software System Software Application Software System Software Application Software System Software Hardware Hardware Hardware (b) Application Programmer View (c) OS Programmer View (a) End User View Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-4 System Software •Independent of individual applications, but common to all of them •Examples –C library functions –A window system –A database management system –Resource management functions –The OS Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-5 Slide 1-6 Using the System Software Application Programmer System Software Software API Command Line Interpreter Compiler Loader Libraries Libraries Libraries Database Management System Window System OS Hardware Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Application Software, System Software, and the OS Human-Computer Interface Application Software API System Software (More Abstract Resources) OS Interface Trusted OS (Abstract Resources) Software-Hardware Interface Hardware Resources Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-7 The OS as Resource Manager •Process: An executing program •Resource: Anything that is needed for a process to run –Memory –Space on a disk –The CPU •“An OS creates resource abstractions” •“An OS manages resource sharing” Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-8 Resource Abstraction Slide 1-9 load(block, length, device); seek(device, 236); out(device, 9) write(char *block, int len, int device, int track, int sector) { ... load(block, length, device); seek(device, 236); out(device, 9); ... } write(char *block, int len, int device,int addr); fprintf(fileID, “%d”, datum); Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Disk Abstractions Slide 1-10 Application Programmer OS Programmer void write() { load(…); seek(…) out(…) } load(…); seek(…); out(…); (a) Direct Control Copyright © 2004 Pearson Education, Inc. (b) write() abstraction Operating Systems: A Modern Perspective, Chapter 1 int fprintf(…) { ... write(…) … } (c) fprintf() abstraction Abstract Resources User Interface Application Abstract Resources (API) Middleware OS Resources (OS Interface) OS Hardware Resources Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-11 Slide 1-12 Abstract Machines Abstract Machines Idea Program Physical Machine Result Idea Program Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 … Result … Idea … Program Result Resource Sharing • Space- vs time-multiplexed sharing • To control sharing, must be able to isolate resources • OS usually provides mechanism to isolate, then selectively allows sharing – How to isolate resources – How to be sure that sharing is acceptable • Concurrency Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-13 The OS as a Conductor The OS coordinates the sharing and use of all the components in the computer Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-14 Multiprogramming Abstract Machine Pi Abstract Machine Pj Abstract Machine Pk … OS Resource Sharing Pi Memory Pk Memory … Time-multiplexed Physical Processor Pj Memory Space-multiplexed Physical Memory Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-15 Slide 1-16 Multiprogramming(2) • Technique for sharing the CPU among runnable processes – Process may be blocked on I/O – Process may be blocked waiting for other resource, including the CPU • While one process is blocked, another might be able to run • Multiprogramming OS accomplishes CPU sharing “automatically” – scheduling • Reduces time to run all processes Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 How Multiprogramming Works Process 1 Process 2 Process 3 Time-multiplexed CPU Process 4 Space-multiplexed Memory Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-17 Speeding Up the Car Wash Vacuum Inside Wash (a) The Sequential Car Wash Vacuum Inside Wash Dry (b) The Parallel Car Wash Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-18 Dry Slide 1-19 Multiprogramming Performance Pi’s Total Execution Time, ti 0 ti Time (a) Pi’s Use of Machine Resources P1 P2 Pi … … PN Time (a) All Processes’ Use of Machine Resources Using the processor I/O operation Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 OS Strategies • • • • • • • Batch processing Timesharing Personal computer & workstations Process control & real-time Network Distributed Small computers Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-20 Slide 1-21 Batch Processing Job 3 Job 19 Input Spooler Output Spooler Output Spool Input Spool Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Batch Processing(2) • • • • • • • Slide 1-22 Uses multiprogramming Job (file of OS commands) prepared offline Batch of jobs given to OS at one time OS processes jobs one-after-the-other No human-computer interaction OS optimizes resource utilization Batch processing (as an option) still used today Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 A Shell Script Batch File Slide 1-23 cc -g -c menu.c cc -g -o driver driver.c menu.o driver < test_data > test_out lpr -PthePrinter test_out tar cvf driver_test.tar menu.c driver.c test_data test_out uuencode driver_test.tar driver_test.tar >driver_test.encode Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Timesharing Systems Abstract Machines Result Physical Machine Command Result … Command Result Command Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-24 Timesharing Systems(2) Slide 1-25 • Uses multiprogramming • Support interactive computing model (Illusion of multiple consoles) • Different scheduling & memory allocation strategies than batch • Tends to propagate processes • Considerable attention to resource isolation (security & protection) • Tend to optimize response time Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Personal Computers • CPU sharing among one person’s processes • Power of computing for personal tasks – Graphics – Multimedia • Trend toward very small OS • OS focus on resource abstraction • Rapidly evolved to “personal multitasking” systems Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-26 Process Control & Real-Time • Computer is dedicated to a single purpose • Classic embedded system • Must respond to external stimuli in fixed time • Continuous media popularizing real-time techniques • An area of growing interest Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-27 Networks • LAN (Local Area Network) evolution • 3Mbps (1975) 10 Mbps (1980) 100 Mbps (1990) 1 Gbps (2000) • High speed communication means new way to do computing – – – – Shared files Shared memory Shared procedures/objects ??? Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-28 Slide 1-29 Distributed OS • Wave of the future App App App App App App Distributed OS Multiple Computers connected by a Network Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Small Computers • PDAs, STBs, embedded systems became commercially significant • Have an OS, but – Not general purpose – Limited hardware resources – Different kinds of devices • Touch screen, no keyboard • Graffiti – Evolving & leading to new class of Oses • PalmOS, Pocket PC (WinCE), VxWorks, … Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-30 Slide 1-31 Evolution of Modern OS Timesharing Network OS Memory Mgmt Scheduling Batch Protection Memory Mgmt Protection Scheduling Files Devices PC & Wkstation Protocols System software Real-Time Human-Computer Interface Scheduling Small Computer Modern OS Copyright © 2004 Pearson Education, Inc. Client-Server Model Network storage, Resource management Operating Systems: A Modern Perspective, Chapter 1 Examples of Modern OS • UNIX variants (e.g. Linux) -- have evolved since 1970 • Windows NT/2K -- has evolved since 1989 (much more modern than UNIX – Win2K = WinNT, V5 • • • • Research OSes – still evolving … Small computer OSes – still evolving … Book provides Linux examples This course will use Windows NT as the main example Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-32 The Microsoft OS Family Win32 API Win32 API Subset Win32 API SubSet Windows CE (Pocket PC) Windows 95/98/Me Windows NT/2000/XP Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-33 Microsoft Windows NT • Heavily window-oriented • Foundation behavior is windowsindependent – We will focus on the foundation – Use only the “MS-DOS prompt” -- cmd.exe OS API NT Executive NT Kernel Copyright © 2004 Pearson Education, Inc. NT User Interface and Graphics Operating Systems: A Modern Perspective, Chapter 1 Slide 1-34 Windows NT (cont) • • • • • OS API has text orientation (like UNIX) Object-oriented implementation Heavy use of threads Broad spectrum of synchronization tools Modern I/O system Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-35 VxWorks Organization Applications VxWorks Runtime System VxWorks Configurable Core OS Extension Wind Microkernel Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-36 Windows CE Organization Shells and Applications Win32 API (& Network Extensions) Kernel Object Store Network Graphics, and Window Mgr, Comm and Services Event Mgr Device Drivers OEM Abstraction Layer Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1 Slide 1-37