1 / 49

Introduction

Introduction. Why Study OS?. Understand 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. System Overview.

pdeese
Download Presentation

Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction

  2. Why Study OS? • Understand 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

  3. System Overview • A computer system consists of hardware and software that are combined to provide a tool to solve specific problems • Hardware includes CPU, memory, disks, printers, screen, keyboard, mouse ... • Software includes • System software • A general environment to create specific applications • Application software • A tool to solve a specific problem

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

  5. System Software (“Middleware”) • Independent of applications, but common to all • Examples • C library functions • A window system • A database management system • Resource management functions

  6. Purpose of an OS(What is Resource Management?) • 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”

  7. Abstract Resources User Interface Application Abstract Resources (API) Middleware OS Resources (OS Interface) OS Hardware Resources

  8. Resource Abstraction • Provides an abstract model of the operation of hardware components • Like data abstraction in Object-Oriented programming • Interface functions • Internal functions and status • Eliminates the tedious details that a programmer would otherwise have to handle

  9. Hardware Resources • Processor: execute instructions • Memory: store programs and data • Input/output (I/O)controllers: transfer to and from devices • Disk devices: long-term storage • Other devices: conversion between internal and external data representations

  10. Hardware Resources – cont.

  11. Hardware Interface – cont. • Everything that a programmer needs to know in order to write programs that perform desired operation on the hardware • Disk drive is an example • Disk interface provides functions to move disk head, transfer data • Monitor • Monitor interface provides functions to move the cursor, display characters/graphics

  12. Software Classification • System software • Provides a general programming environment in which programmers can create specific applications • Application software • Intended to solve a specific problem

  13. Application Programmer Software API Command Line Interpreter Loader Window System Libraries Libraries Libraries Compiler System Software OS Database Management System Hardware Software Classification - continued

  14. What is an Operating System? • The operating system is the part of the system software that manages the use of the hardware used by other system software and all application software • It is the system program that acts between the hardware and the user programs

  15. What is an Operating System? - continued • It provides services to user programs • Through system calls / message passing • File system services • Memory services • I/O services • It hides hardware from user programs • When your program shows a message on the monitor, it does not need to know the details • When your program generates a new file, it does not need to where the free space is on your hard drive

  16. Differences between OS and System Software • Major differences between OS and general system software • General system software relies on the abstractions provided by OS • OS abstracts the hardware directly • OS provides the fundamental trusted mechanisms for resource sharing • A general purpose OS is domain-independent

  17. Operating System Functions • Resource manager • manage hardware and software resources • Resource abstraction and sharing • A nicer environment • implement a virtual machine for processes to run in • A program in execution is called a process • a nicer environment than the bare hardware

  18. Resource Management Functions • Transform physical resources to logical resources • Resource abstraction • Make the hardware resources easier to use • Multiplex one physical resource to several logical resources • Create multiple, logical copies of resources • Schedule physical and logical resources • Decide who gets to use the resources

  19. A Disk Device Abstraction • Three interface functions • load(block, length, device) • seek(device, track) • out(device, sector)

  20. A Disk Device Abstraction – cont. • An abstract function for writing write(char *block, int len, int device, int track, int sector) { ... load(block, length, device); seek(device, 236); out(device, 9); ... }

  21. Application Programmer OS Programmer int fprintf(…) { ... write(…) … } void write() { load(…); seek(…) out(…) } load(…); seek(…); out(…); (c) fprintf() abstraction (a) Direct Control (b) write() abstraction A Disk Device Abstraction – cont.

  22. Resource Abstraction – cont. • The dark side … • While simplifying the way application programmers can control hardware, abstraction can limit the flexibility by which specific hardware can be manipulated • Certain operations may be impossible to achieve using the abstraction

  23. Resource Sharing • Concurrent execution • Two or more processes appear to be (or actually are) executing at the same time • Parallel execution • Two or more processing actually executing simultaneously • Processes which are concurrent, or parallel, must share the computer

  24. Resource Sharing • Two types of sharing • Time multiplexed sharing • time-sharing • schedule a serially-reusable resource among several users • Space multiplexed sharing • space-sharing • divide a multiple-use resource up among several users

  25. Time-multiplexing the Processor - Called multiprogramming

  26. Time-multiplexing the Processor – cont. - Resulted in concurrent execution or concurrency

  27. Pi’s Total Execution Time, ti Time 0 ti (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 / paused Time-multiplexing the Processor – cont. • Improves performance

  28. Space-multiplexing Memory

  29. Time-multiplexing I/O Devices

  30. Space-multiplexing the Disk

  31. Issues in Resource Sharing • Resource isolation and sharing • Protection • Prevent unauthorized access of resources by one process when they are currently allocated to another • Sharing • Resource allocation • Scheduling

  32. Do We Need an OS? • Not always • When resource abstraction or sharing is not needed • Some programs run “stand-alone” • Early computers did not have a sophisticated OS • OS was evolved along the hardware technology • But they are very useful • Reusable functions • Easier to use than the bare hardware

  33. Operating Systems Strategies • Several different strategies have been used • Earliest computers were dedicated to a single program and there was no multiprogramming and no OS • Batch systems • Timesharing systems • There are a few other recent strategies • Personal computers and workstations • Embedded systems • Small, communicating computers • Network technology

  34. Batch Processing Systems • Reduce setup time by batching similar jobs • Automatic job sequencing – automatically transfers control from one job to another. First rudimentary operating system. • Resident monitor • initial control in monitor • control transfers to job • when job completes control transfers back to monitor

  35. Job 3 Job 19 Input Spooler Output Spooler Output Spool Input Spool Batch Processing Systems - continued

  36. Memory Layout for a Simple Batch System

  37. Spooling • Overlap I/O of one job with computation of another job. While executing one job, the OS • Reads next job from card reader into a storage area on the disk (job queue). • Outputs printout of previous job from disk to printer. • Job pool – data structure that allows the OS to select which job to run next in order to increase CPU utilization

  38. Multi-programmed Batch Systems Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them.

  39. OS Features for Multi-programming • I/O routine supplied by the system • Memory management – the system must allocate the memory to several jobs • CPU scheduling – the system must choose among several jobs ready to run • Allocation of devices

  40. Time-sharing Systems • The goal is to enable users to interact with the computer system • Batch processing systems do not allow user interactions • On-line communication between the user and the system is provided • When the operating system finishes the execution of one command, it seeks the next “control statement” not from a card reader, but rather from the user’s keyboard. • On-line system must be available for users to access data and code.

  41. Abstract Machines Result Physical Machine Command Result Command … Result Command Time-sharing Systems - continued

  42. Personal-computer Systems • Personal computers – computer system dedicated to a single user. • I/O devices – keyboards, mice, display screens, small printers. • User convenience and responsiveness. • Can adopt technology developed for larger operating system • often individuals have sole use of computer and do not need advanced CPU utilization of protection features.

  43. Win32 API Win32 API Subset Win32 API SubSet Windows CE (Pocket PC) Windows 95/98/Me Windows NT/2000/XP Personal-computer Systems - continued

  44. Embedded Systems • Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems. • Well-defined fixed-time constraints. • Hard real-time system. • Secondary storage limited or absent, data stored in short-term memory, or read-only memory (ROM) • Conflicts with time-sharing systems, not supported by general-purpose operating systems. • Soft real-time system • Limited utility in industrial control or robotics • Useful in applications (multimedia, virtual reality) requiring advanced operating-system features.

  45. Parallel systems • Multiprocessor systems with more than one CPU in close communication. • Tightly coupled system – processors share memory and a clock; communication usually takes place through the shared memory. • Advantages of parallel system: • Increased throughput • Economical • Increased reliability • graceful degradation • fail-soft systems

  46. Distributed Systems • Distribute the computation among several physical processors • Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines • Advantages of distributed systems • Resources Sharing • Computation speed up – load sharing • Reliability • Communications

  47. Distributed systems - cont. • Network operating system • provides file sharing • provides communication scheme • runs independently from other computers on the network • Distributed operating system • less autonomy between computers • gives the impression there is a single operating system controlling the network.

  48. Migration of Operating-System Concepts and Features

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

More Related