Lecture 2: Overview of Operating System - PowerPoint PPT Presentation

About This Presentation
Title:

Lecture 2: Overview of Operating System

Description:

An operating system is a program that controls the execution of application ... out to secondary store and the successor process read in there in no hiatus ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 43
Provided by: xw
Category:

less

Transcript and Presenter's Notes

Title: Lecture 2: Overview of Operating System


1
Lecture 2 Overview of Operating System
  • Operating System
  • Spring 2017

2
Outline
  • What is Operating System
  • OS as User/Computer Interface
  • Services provided by OS
  • OS as Resource Manager
  • Evolution of OS
  • Major Achievements of OS

3
What is Operating System?
  • An operating system is a program that controls
    the execution of application programs and acts as
    an interface between applications and the
    computer hardware.
  • Three objectives of operating systems
  • Convenience
  • Makes a computer more convenient to use
  • Efficiency
  • Allows the computer system resources to be used
    in an efficient manner
  • Ability to evolve
  • Permit the effective development, testing, and
    introduction of new system functions without
    interfering with service

4
OS as User/Computer Interface
Application Programs
Utilities
Operating-System
Computer Hardware
5
Services provided by the operating systems
  • Program Development
  • OS provides a variety of facilities and services,
    such as editors and debuggers, to assist the
    programmer in creating programs. Typically, these
    services are in the form of utility programs
    that, while not strictly part of the core of the
    OS, are supplied with the OS and are referred to
    as application program development tools.
  • Program Execution
  • A number of tasks need to be performed before we
    can execute a program. Instructions and data must
    be loaded into main memory. I/O devices and files
    must be initialized, and other resources must be
    prepared. The OS handles these duties for the
    user.

6
Services provided by the operating systems (cont.)
  • Access to I/O Devices
  • Each I/O devices requires its own peculiar set of
    instructions or control signals for operating.
    The OS provides a uniform interface that hides
    these details so that the programmer can access
    such devices using simple reads and writes.
  • Controlled Access to File
  • The OS must provide protection mechanisms to
    control access to the files for different users.
    Certain files can read only, or write only, or
    execute only. The OS must enforce the access
    mechanism.
  • System Access
  • In the case of a shared or public system, the OS
    control access to the system as a whole and to
    specific system resources.

7
Services provided by the operating systems (cont.)
  • Error Detection and Response
  • A variety of errors can occur while a computer
    system is running
  • Internal and External hardware errors such as
    memory error, device failure, or malfunctions.
  • Software error such as arithmetic overflow or
    underflow, attempt to access forbidden memory
    locations
  • Operating system cannot grant request of
    application
  • Accounting
  • Collect usage statistic
  • Monitor performance
  • Used to anticipate future enhancement
  • prepare billing information

8
OS as Resource Manager
Computer System
I/O devices
Memory
OS Software
I/O controller
printers
Keyboards etc.
Programs and data
I/O controller
. . .
I/O controller
Auxiliary storage devices, disks, tapes

processor
processor
9
OS as Resource Manager (cont.)
  • The OS is responsible for controlling and
    managing the various resources of a computer
    system.
  • The OS functions in the same way as an ordinary
    computer software, i.e., it is a program or suite
    of programs executed by the processor
  • The OS frequently relinquishes control of the
    processor and must depend on the processor to
    allow it to regain control
  • The OS itself doesnt do any useful work.

10
Ease of Evolution of an OS
  • A major OS will evolve over time for a number of
    reasons
  • Hardware upgrades plus new types of hardware
  • New services demanded by users
  • Fixer fix holes in OS

11
Evolution of OS (1)
  • 1940-1950
  • No operating system
  • Run as an open shop
  • User signs up for certain time to use it

12
Evolution of OS (2) - Simple Batch Systems
  • mid 1950s - mid 1960s
  • User no longer has direct access to the machine
  • Submit the job to an operator who batches the
    jobs together sequentially and places the entire
    batch on the input device
  • Often jobs of a similar nature can be bundled
    together to further increase economy

13
Evolution of OS (2) - Simple Batch Systems
(cont.)
  • Job Control Language (JCL)
  • Special type of programming language
  • Provide instruction to the monitor

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
14
Evolution of OS (2) - Simple Batch Systems
(cont.)
  • Need additional hardware features to support the
    batch OS
  • Memory Protection protect the OS from being
    wiped out
  • Timer prevent the job run infinitely
  • Privileged Instruction
  • certain instruction can only be executed by OS,
    and not by user.
  • I/O could only be performed in monitor
    (supervisor) mode,
  • CPU runs in supervisor mode or user mode
  • Interrupts
  • early models did not have this capability.
  • Later models have.
  • Make more efficient use of resources

Note Some memory is given to OS and some
processor time is given to OS. But we
are still better off because machine is a lot
faster than human operation.
15
Evolution of OS (3) - Multiprogrammed Batch
Systems
  • 1960s - present
  • Several users are in memory at the same time
  • Match I/O intensive job with CPU intensive job
  • Important to have Interrupt-Driven I/O or DMA to
    support multiprogrammed batch system.

16
Uniprogramming
  • Processor must wait for I/O instruction to
    complete before preceding

17
Multiprogramming
  • When one job needs to wait for I/O, the processor
    can switch to the other job

18
Multiprogramming
19
Evolution of OS (4) - Time-Sharing Systems
  • 1970s - present
  • To support interactive computing
  • In a time-sharing system, multiple users
    simultaneously access the system through
    terminals, with the OS interleaving the execution
    of each user program in a short burst or quantum
    of computation.
  • Context Switching
  • A job (now often called process) can get
    switched in or switched out.
  • OS should give the illusion for the process as if
    it exists in the CPU continuously

20
Batch Multiprogramming versus Time Sharing
Batch Multiprogramming Time Sharing
Principal objective Maximize processor use Minimize response time
Source of directives to operating system Job control language commands provided with the job Commands entered at the terminal
21
Evolution of OS (5)
  • Real-time computer
  • Execute programs that are guaranteed to have an
    upper bound on tasks that they carry out.
  • e.g. guided missile systems, medical monitoring
    equipment
  • Multiprocessor have more than one CPU
  • Shared memory multiprocessors
  • Access the same memory - memory access must be
    synchronized
  • Distributed memory multiprocessors
  • Each CPU has its own associated memory
    communication between processors is often slow
    and complicated
  • Networked/Distributed Systems consist of
    multiple computers
  • Networked systems users are aware of the
    different computers that make up the system
  • Distributed systems multiple computers are
    transparent to the user.

22
Major Achievements of OS
  • OS are the most complex software ever developed
  • In the last several decades, we have made
    several theoretical advances in the development
    of OS
  • Processes
  • Memory management
  • Information protection and security
  • Scheduling and resources management
  • Systems structures

23
Processes - Definition
  • The concept of process is fundamental to the
    structure of OS. Many definitions have been
    given
  • A program in execution
  • An instance of a program running on a computer
  • The entity that can be assigned to and executed
    by a processor
  • A unit of activity characterized by a single
    sequential thread of execution, a current state,
    and an associated set of system resources.

24
Processes
  • In a multiprogrammed systems, many jobs are in
    progress at the same time. It became impossible
    to analyze their interactions. Therefore, there
    are many source of errors
  • Improper Synchronization
  • It is often the case that a routine must be
    suspended awaiting an event that occurs elsewhere
  • Failed Mutual Exclusion
  • Certain shared resources can only be used by one
    user at a time
  • Nondeterminate Program Execution
  • The results of a particular program should depend
    only on the input and not on the activities of
    other programs in a shared system
  • Deadlocks
  • It is possible for two or more programs to be
    hung up waiting for each other
  • We need to tackle these problems in a systematic
    way. The concept of the process provides the
    foundation.

25
Processes - Components
  • We can think of a process as consisting of three
    components
  • An executable program
  • The associated data needed by the program
  • The execution context of the program
  • All information the operating system needs to
    manage the process

26
Processes
27
Memory management
  • Process isolation
  • The OS must prevent independent processes from
    interfering with the data and memory of each
    other
  • Automatic allocation and management
  • Programs should be dynamically allocated across
    the memory hierarchy as required.
  • Support for modular programming
  • Protection and access control
  • Sometimes it is desirable to share data.
    Sometimes it is not. The OS must enforce them
  • Long-term storage

28
Virtual Memory
  • Allows programmers to address memory from a
    logical point of view
  • While one process is written out to secondary
    store and the successor process read in there in
    no hiatus

29
File System
  • Implements long-term store
  • Information stored in named objects called files

30
Paging
  • Allows process to be comprised of a number of
    fixed-size blocks, called pages
  • Virtual address is a page number and an offset
    within the page
  • Each page may be located any where in main memory
  • Real address or physical address in main memory

31
(No Transcript)
32
Virtual Memory Addressing
33
Information Protection and Security
  • Access control
  • Regulate user access to the system
  • Information flow control
  • Regulate flow of data within the system and its
    delivery to users
  • Certification
  • Providing that access and flow control perform
    according to specifications

34
Scheduling and Resources Management
  • A key task of an OS is to manage the various
    resources available to it and to schedule their
    use by the various active processes.
  • Any scheduling policy must consider three
    factors
  • Fairness
  • Give equal and fair access to all processes
  • Differential Responsiveness priorities
  • Discriminate between different classes of jobs
  • Efficiency
  • maximize throughput, minimize response time, and
    accommodate as many uses as possible etc.

35
System Structure
  • Early OS are monolithic
  • Later OS are modular
  • View the system as a series of levels
  • Each level performs a related subset of functions
  • Each level relies on the next lower level to
    perform more primitive functions
  • This decomposes a problem into a number of more
    manageable subproblems

36
System Structure (cont.)
  • Microkernel architecture
  • assigns only a few essential functions to the
    kernel
  • address space
  • interprocess communication (IPC)
  • basic scheduling

37
System Structure (cont.)
  • Modules
  • Most modern operating systems implement kernel
    modules
  • Uses object-oriented approach
  • Each core component is separate
  • Each talks to the others over known interfaces
  • Each is loadable as needed within the kernel
  • Overall, similar to layers but with more flexible

38
Solaris Modular Approach
39
Operating System Design Hierarchy
Level Name Objects Example operations
13 Shell User programming environment Statements in shell language
12 User processes User processes Quit, kill, suspend, resume
11 Directories Directories Create, destroy, attach, detach, search, list
10 Devices External devices, such as printer, displays and keyboards Open, close, read, write
9 File system Files Create, destroy, open, close, read, write
8 Communications Pipes Create, destroy, open, close, read, write
40
Operating System Design Hierarvichy (cont.)
Level Name Objects Example operations
7 Virtual Memory Segments, pages Read, write, fetch
6 Local secondary store Blocks of data, device channels Read, write, allocate, free
5 Primitive processes Primitive process, semaphores, ready list Suspend, resume, wait, signal
41
Operating System Design Hierarvichy (cont.)
Level Name Objects Example operations
4 Interrupts Interrupt-handler Invoke, enable, disable interrupt
3 Procedures Procedures, call stack, display Mark stack, call, return
2 Instruction Set Evaluation stack, microprogram interpreter, scalar and array data Load, store, add, subtract branch
1 Electronic circuits Registers, gates, buses, etc. Clear, transfer, activate, complement
42
End
Thank you!
Write a Comment
User Comments (0)
About PowerShow.com