Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slide 1-1 Computer Systems II Gordon College Operating System Overview.

Similar presentations


Presentation on theme: "Slide 1-1 Computer Systems II Gordon College Operating System Overview."— Presentation transcript:

1 Slide 1-1 Computer Systems II Gordon College Operating System Overview

2 Slide 1-2 Class Intro Operating System Class Two Directions: –Practical Linux+ Guide to Linux Certification and Lab Manual Lab Experience –Theoretical Operating Systems (3rd Edition Gary Nutt) Lecture and Projects

3 Slide 1-3 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

4 Slide 1-4 Perspectives of the Computer Application Software System Software Hardware (a)End User View (b) Application Programmer View (c) OS Programmer View Application Software Application Software System Software System Software Hardware cut save print send malloc() fork() open() read-disk track-mouse start-printer

5 Slide 1-5 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

6 Slide 1-6 Using the System Software Loader OS Database Management System Database Management System Window System Window System Application Programmer System Software Libraries Compiler Hardware Command Line Interpreter Command Line Interpreter Libraries Software API

7 Slide 1-7 Application Software, System Software, and the OS Hardware Resources Trusted OS (Abstract Resources ) Software-Hardware Interface OS Interface System Software (More Abstract Resources ) API Application Software Human-Computer Interface

8 Slide 1-8 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”

9 Slide 1-9 Resource Abstraction 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);

10 Slide 1-10 Disk Abstractions load(…); seek(…); out(…); void write() { load(…); seek(…) out(…) } int fprintf(…) {... write(…) … } (a) Direct Control (b) write() abstraction (c) fprintf() abstraction Application Programmer OS Programmer

11 Slide 1-11 Abstract Resources Hardware Resources OS OS Resources (OS Interface) Middleware Abstract Resources (API) Application User Interface

12 Slide 1-12 Abstract Machines Program Result Program Result Program Result … … Idea Physical Machine Abstract Machines …

13 Slide 1-13 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

14 Slide 1-14 The OS as a Conductor The OS coordinates the sharing and use of all the components in the computer

15 Slide 1-15 Multiprogramming … Abstract Machine P i OS Resource Sharing P i Memory P k Memory P j Memory … Time-multiplexed Physical Processor Abstract Machine P j Abstract Machine P k Space-multiplexed Physical Memory

16 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

17 Slide 1-17 How Multiprogramming Works Process 1 Process 2 Process 3 Process 4 Space-multiplexed Memory Time-multiplexed CPU

18 Slide 1-18 Speeding Up the Car Wash Vacuum Inside WashDry Vacuum Inside WashDry (a) The Sequential Car Wash (b) The Parallel Car Wash

19 Slide 1-19 Multiprogramming Performance Time Using the processor I/O operation 0titi P i ’s Total Execution Time, t i (a) P i ’s Use of Machine Resources Time P1P1 P2P2 PiPi PNPN … … (a) All Processes’ Use of Machine Resources

20 Slide 1-20 OS Strategies Batch processing Timesharing Personal computer & workstations Process control & real-time Network Distributed Small computers

21 Slide 1-21 Batch Processing Job 19 Input SpoolerOutput Spooler Job 3 Input Spool Output Spool

22 Slide 1-22 Batch Processing(2) 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

23 Slide 1-23 A Shell Script Batch File cc -g -c menu.c cc -g -o driver driver.c menu.o driver 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

24 Slide 1-24 Timesharing Systems Physical Machine Abstract Machines … Command Result

25 Slide 1-25 Timesharing Systems(2) 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 Computer Research Corp ‘67

26 Slide 1-26 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

27 Slide 1-27 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

28 Slide 1-28 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 –???

29 Slide 1-29 Distributed OS Wave of the future Distributed OS App Multiple Computers connected by a Network

30 Slide 1-30 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, …

31 Slide 1-31 Evolution of Modern OS Modern OS Batch Timesharing PC & Wkstation Network OS Real-Time Memory Mgmt Protection Scheduling Files Devices Memory Mgmt Protection Scheduling System software Human-Computer Interface Client-Server Model Protocols Scheduling Small Computer Network storage, Resource management

32 Slide 1-32 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 …

33 Slide 1-33 The Microsoft OS Family Win32 API Windows CE (Pocket PC) Windows CE (Pocket PC) Windows 95/98/Me Windows NT/2000/XP Win32 API Subset Win32 API SubSet

34 Slide 1-34 Summary An Operating System must be able to: provide functionality to apps provide abstraction of hardware to users and apps provide the sharing of resources to processes provide security and protection be as transparent as possible be as light as possible


Download ppt "Slide 1-1 Computer Systems II Gordon College Operating System Overview."

Similar presentations


Ads by Google