Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating Systems Principles Lecture 1: Introduction

Similar presentations


Presentation on theme: "Operating Systems Principles Lecture 1: Introduction"— Presentation transcript:

1 Operating Systems Principles Lecture 1: Introduction
主講人:虞台文

2 Content The Role of Operating Systems
Bridge the Hardware/Application Gap Three Views of Operating Systems Organization of Operating Systems Structural Organization The Hardware Interface The Programming Interface The User Interface Runtime Organization Operating System Evolution & Concepts

3 Operating Systems Principles Lecture 1: Introduction
The Role of Operating Systems

4 PC Hardware Organization

5 Users ←→ Hardware The Gap

6 Users ←→ Hardware The Gap
User needs to think in terms of problem to be solved High-level data structures and corresponding operations Simple, uniform interfaces to subsystems, Treat programs and data files as single entities Hardware capabilities are very low level Arithmetic and logical operators Comparison of two bit-strings Branching, reading, and writing bytes The Gap

7 Fills the Gap Software

8 Fills the Gap Software Use software to bridge this gap
Language processors e.g., - assemblers, compilers, interpreters Editors and text processors, linkers and loaders. Application programs, utility and service programs. Operating Systems Software

9 Single CPU System

10 Single CPU System

11 I/O Devices I/O Devices

12 Multiprocessor Systems
Share-Memory Model Distributed-Memory Model

13 Synchronization & Communication of CPU’s
Share-Memory Model Distributed-Memory Model through the shared memory interconnection network required.

14 Cash Coherence Problem
Cashes do not contain different values for the same memory element. Share-Memory Model Distributed-Memory Model Local Cash

15 Multicomputer System

16 Multicomputer System Network Controller Network Controller

17 Local Area Networks Local area networks (LANs) connect computers within a building or a enterprise network. LAN network topologies: Ring Network Broadcast Bus

18 Wide Area Networks A Wide Area Network (WAN) is a collection of Local Area Networks (LANs) that have been connected together. The internet is an example of a WAN.

19 Applications/Services
What are done by OS? Process Management Scheduling of process Synchronization Memory Management Virtual memory Input/Output Systems Device drivers Spooling File Systems Protection and Security Applications/Services Operating System Bare Machine

20 Applications/Services
Three Views of OS’s Application Programmer’s View Applications/Services Operating System User’s View Bare Machine System Programmer’s View

21 Applications/Services
OS is an extended machine Abstraction — hides complexity Provides high level operations User’s View Application Programmer’s View Applications/Services Operating System User’s View Bare Machine System Programmer’s View

22 Application Programmer’s View
OS is a virtual machine Virtualization — supports sharing Provides virtual CPU, memory, devices Application Programmer’s View Application Programmer’s View Applications/Services Operating System User’s View Bare Machine System Programmer’s View

23 System Programmer’s View
OS is a resource manager Balance overall performance with individual needs e.g., response time, deadlines System Programmer’s View Application Programmer’s View Applications/Services Operating System User’s View Bare Machine System Programmer’s View

24 Operating Systems Principles Lecture 1: Introduction
Organization of Operating Systems

25 Structure Organization of OS
User Applications (system & user) Library Calls System Library Kernel Calls Operating System Kernel Machine Instructions Hardware

26 Modes of CPU Execution Hardware User Applications (system & user)
Library Calls System Library nonprivileged mode Kernel Calls privileged mode Operating System Kernel Machine Instructions Hardware

27 Supervisor Call (SVC) SVC Hardware
SVCs are used to implement all kernel calls and form the basic interface btw the OS kernel and the rest of the software. Supervisor Call (SVC) User Applications (system & user) Library Calls System Library SVC nonprivileged mode Kernel Calls privileged mode Operating System Kernel Machine Instructions Hardware

28 The Hardware Interface
Applications and OS compiled into machine instructions Interrupts and Traps allow OS to seize control process management (time-sharing) device management (I/O completion) SVC

29 The Programming Interface
Invoking system services Library call (nonprivileged) Kernel call (privileged)

30 The User Interface Text-based shell e.g., Unix, MS Dos
command interpreter shell scripts Graphics-based GUI e.g., Mac, MS Windows windows icons menus pointer

31 Runtime Organization Service is an Autonomous Process (client-server)
a Subroutine

32 Operating Systems Principles Lecture 1: Introduction
Operating System Evolution & Concepts

33 History of Operating Systems
The First Generation (1945–55) Vacuum Tubes and Plugboards The Second Generation (1955–65) Transistors and Batch Systems The Third Generation (1965–1980) ICs and Multiprogramming The Fourth Generation (1980–Present) Personal Computers

34 The First Generation (1945–55)  Vacuum Tubes and Plugboards

35 The First Generation (1945–55)  Vacuum Tubes and Plugboards

36 The First Generation (1945–55)  Vacuum Tubes and Plugboards
Machines of the time were so primitive that programs were often entered one bit at time on rows of mechanical switches (plugboards). Programming languages were unknown (not even assembly languages). Operating systems were unheard of.

37 The Second Generation (1955–65)  Transistors and Batch Systems
A batch system is one in which jobs are bundled together with the instructions necessary to allow them to be processed without intervention. Often jobs of a similar nature can be bundled together to further increase economy.

38 The Second Generation (1955–65)  Transistors and Batch Systems

39 The Second Generation (1955–65)  Transistors and Batch Systems
$JOB user_spec ;identify the user for accounting purposes $FORTRAN ;load the FORTRAN compiler source program cards $LOAD ;load the compiled program $RUN ;run the program data cards $EOJ ;end of job $JOB user_spec ;identify a new user $LOAD application $RUN Data $EOJ

40 The Second Generation (1955–65)  Transistors and Batch Systems

41 The Second Generation (1955–65)  Transistors and Batch Systems
Monitor: another name of OS. The Second Generation (1955–65)  Transistors and Batch Systems Memory Layout of a Batch System Monitor (permanently resident) The monitor is system software that is responsible for interpreting and carrying out the instructions in the batch jobs. When the monitor started a job, it handed over control of the entire computer to the job, which then controlled the computer until it finished. User Space (compilers, programs, data, etc.)

42 The Second Generation (1955–65)  Transistors and Batch Systems
Advantages of batch systems move much of the work of the operator to the computer increased performance since it was possible for job to start as soon as the previous job finished Disadvantages turn-around time can be large from user standpoint more difficult to debug program due to lack of protection scheme, one batch job can affect pending jobs (read too many cards, etc) a job could corrupt the monitor, thus affecting pending jobs a job could enter an infinite loop

43 The Third Generation (1965–1980)  ICs and Multiprogramming
Have more than one active (running) program in memory at any one time. Why?

44 The Third Generation (1965–1980)  ICs and Multiprogramming
Main features of this generation CPU and I/O Overlap Spooling simultaneous peripheral operations on line Time-sharing technique

45 The Third Generation (1965–1980)  ICs and Multiprogramming
The typical CPU and I/O overlap pattern in a single program

46 The Third Generation (1965–1980)  ICs and Multiprogramming
Goal of multiprogramming  Keep CPUs and and I/O devices busy.

47 The Third Generation (1965–1980)  ICs and Multiprogramming
CPU Bound Programs Perform calculation most of time Scientific computation I/O Bound Programs Perform I/O most of time Commercial data processing

48 The Third Generation (1965–1980)  ICs and Multiprogramming
Time Saved

49 The Third Generation (1965–1980)  ICs and Multiprogramming
Spooling (simultaneous peripheral operations on line). In spooling, a high-speed device like a disk interposed between a running program and a low-speed device involved with the program in input/output. Example: Instead of writing directly to a printer, outputs are written to the disk. Programs can run to completion faster; and other programs can be initiated sooner when the printer becomes available, the outputs may be printed.

50 The Third Generation (1965–1980)  ICs and Multiprogramming
Time Sharing Technique A variant of multiprogramming technique. Each user has an on-line terminal. Because the user is present and interacting with the computer, the computer system must respond quickly to user requests, otherwise user productivity could suffer. Timesharing systems were developed to multiprogram large number of simultaneous interactive users.

51 The Fourth Generation (1980–Present)  Personal Computers
With the development of LSI circuits, chips, operating system entered entered in the personal computer and the workstation age. Microprocessor technology evolved to the point that it become possible to build desktop computers as powerful as the mainframes of the 1970s.

52 The Fourth Generation (1980–Present)  Personal Computers
CP/M (Control Program of Microcomputers) MS-Dos Windows Unix GUI

53 The Evolution Early systems  No Operating System
Batch Operating Systems Multiprogramming Systems Interactive operating Systems Personal Computer and Workstation Operating Systems Real-time Operating Systems Distributed Operating Systems


Download ppt "Operating Systems Principles Lecture 1: Introduction"

Similar presentations


Ads by Google