sp lecture - 01

Upload: hasan-abbas

Post on 05-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 SP Lecture - 01

    1/33

    Chapter 3

    Operating SystemStructures

  • 7/31/2019 SP Lecture - 01

    2/33

    2

    Operating-System StructuresTopics

    System Components

    Operating System Services

    System Calls

    System Programs

    System Structure

    Virtual Machines

    System Design and Implementation

    System Generation

  • 7/31/2019 SP Lecture - 01

    3/33

    3

    System Components

    Process Management

    Main Memory Management

    File Management

    I/O System Management

    Secondary Management

    Protection System

    Command-Interpreter System

  • 7/31/2019 SP Lecture - 01

    4/33

    4

    Process Management

    Aprocess is a program in execution. A process needs certain

    resources, including CPU time, memory, files, and I/Odevices, to accomplish its task.

    The CPU executes one instruction of the process afteranother, until the process completes.

    The operating system is responsible for the followingactivities in connection with process management.

    Process creation and deletion of both user and system .

    process suspension and resumption. Provision of mechanisms for:

    process synchronization.

    process communication.

  • 7/31/2019 SP Lecture - 01

    5/33

    5

    Main Memory Management

    Memory is a large array of words or bytes, each with its

    own address. It is a repository of quickly accessible datashared by the CPU and I/O devices.

    Main memory is a volatile storage device. It loses itscontents in the case of system failure.

    The I/O operations implemented via DMA also read andwrite data in memory.

    To improve both the utilization of CPU and the speed of thecomputers response to its users, we keep several programsin memory.

  • 7/31/2019 SP Lecture - 01

    6/33

    6

    Main Memory Management (Cont.)

    The operating system is responsible for the followingactivities in connections with memory management:

    Keep track of which parts of memory are currently being

    used and by whom.

    Decide which processes to load when memory spacebecomes available.

    Allocate and deallocate memory space as needed.

  • 7/31/2019 SP Lecture - 01

    7/33

    7

    File Management

    A file is a collection of related information defined by its

    creator. Commonly, files represent programs (both sourceand object forms) and data.

    Data such as text files.

    Computers can store information on several different typesof physical media.

    Magnetic tape, magnetic disk, and optical disk are the mostcommon media.

    Each of these media has its own characteristics and physicalorganization.

  • 7/31/2019 SP Lecture - 01

    8/33

    8

    File Management (Cont.)

    The operating system is responsible for the followingactivities in connections with file management:

    File creation and deletion.

    Directory creation and deletion. Support of primitives for manipulating files and

    directories.

    Mapping files onto secondary storage.

    File backup on stable (nonvolatile) storage media.

  • 7/31/2019 SP Lecture - 01

    9/33

    9

    I/O System Management

    The I/O subsystem consists of:

    A memory management component including buffering, cachingand spooling.

    A general device-driver interface.

    Drivers for specific hardware devices.

  • 7/31/2019 SP Lecture - 01

    10/33

    10

    Secondary-Storage Management

    Since main memory (primary storage) is volatile and toosmall to accommodate all data and programs permanently,the computer system must provide secondary storage to backup main memory.

    Most modern computer systems use disks as the principleon-line storage medium, for both programs and data.

    The operating system is responsible for the following

    activities in connection with disk management: Free space management

    Storage allocation

    Disk scheduling

  • 7/31/2019 SP Lecture - 01

    11/33

    11

    Protection System

    Protection refers to a mechanism for controlling access byprograms, processes, or users to both system and userresources.

    An unprotected resource cannot defend against use (ormisuse) by an unauthorized or incompetent user.

    The protection mechanism must:

    distinguish between authorized and unauthorized usage.

    specify the controls to be imposed.

  • 7/31/2019 SP Lecture - 01

    12/33

    12

    Command-Interpreter System

    Many commands are given to the operating system bycontrol statements which deal with:

    process creation and management

    I/O handling secondary-storage management

    main-memory management

    file-system access

    protection networking

  • 7/31/2019 SP Lecture - 01

    13/33

    13

    Command-Interpreter System (Cont.)

    The program that reads and interprets control statements iscalled variously:

    command-line interpreter

    shell (in UNIX)

    Its function is to get and execute the next commandstatement.

  • 7/31/2019 SP Lecture - 01

    14/33

    14

    Operating System Services

    An operating system provides an environment for theexecution of programs.

    Program execution

    System capability to load a program into memory and to run it. Program must be able to end its execution, either normally orabnormally (indicating error).

    I/O operations

    Since user programs cannot execute I/O operations directly, theoperating system must provide some means to perform I/O.

  • 7/31/2019 SP Lecture - 01

    15/33

    15

    Operating System Services (Cont.)

    File-system manipulation Program capability to read, write, create, and delete files.

    Communications Exchange of information between processes executing either on the

    same computer or on different systems tied together by a network.Implemented via shared memory or message passing.

    Error detection Ensure correct computing by detecting errors in the CPU and

    memory hardware, in I/O devices, or in user programs.

  • 7/31/2019 SP Lecture - 01

    16/33

    16

    Additional Operating System Functions

    Additional functions exist not for helping the user, butrather for ensuring efficient system operations.

    Resource allocation Allocating resources to multiple users or multiple jobs running at the

    same time.

    Accounting Keep track of and record which users use how much and what kinds

    of computer resources for account billing or for accumulating usagestatistics.

    Protection Ensuring that all access to system resources is controlled. Security of the system from outsiders is also important.

  • 7/31/2019 SP Lecture - 01

    17/33

    17

    System Calls

    System calls provide the interface between a running

    program and the operating system.

    Generally available as assembly-language instructions.

    Languages defined to replace assembly language for systems

    programming allow system calls to be made directly (e.g., C, C++)

    Three general methods are used to pass parameters betweena running program and the operating system. Pass parameters in registers.

    Store the parameters in a table in memory, and the table address ispassed as a parameter in a register.

    Push (store) the parameters onto the stack by the program, andpopoff the stack by operating system.

  • 7/31/2019 SP Lecture - 01

    18/33

    18

    Passing of Parameters As A Table

  • 7/31/2019 SP Lecture - 01

    19/33

    19

    Types of System Calls

    Process and job control

    File manipulation

    Device management

    Information maintenance

    Communication

  • 7/31/2019 SP Lecture - 01

    20/33

    20

    Process and job controlMS-DOS Execution

    At System Start-up Running a Program

  • 7/31/2019 SP Lecture - 01

    21/33

    21

    Process and job controlUNIX Running Multiple Programs

  • 7/31/2019 SP Lecture - 01

    22/33

    22

    Process and job controlCommunication Models

    Communication may take place using either message passing orshared memory.

    Message Passing Shared Memory

  • 7/31/2019 SP Lecture - 01

    23/33

    23

    System Programs

    System programs provide a convenient environment forprogram development and execution. They can be dividedinto:

    File manipulation

    Status information File modification

    Programming language support

    Program loading and execution

    Communications

  • 7/31/2019 SP Lecture - 01

    24/33

    24

    System Programs (Contd.)

    File manipulation These programs creates, delete copy, rename, print, dump, list and

    manipulate files and directories.

    Status information Programs simply ask the system for the date, time, amount of

    memory or disk space, number of users or similar statusinformation.

    The information is printed on terminal or other output device.

    File modification Several text editors are available to create and modify the contents of

    files and save it on disk or tape.

  • 7/31/2019 SP Lecture - 01

    25/33

    25

    System Programs (Contd.)

    Programming language support Compilers, assemblers, and interpreters (FORTRAN, COBOL,

    Pascal, BASIC and C).

    Program loading and execution Once a program is assembled or compiled, it must be loaded into

    memory to be executed.

    Communications Provide the mechanism for creating virtual connections among

    processes, users and different computer systems.

  • 7/31/2019 SP Lecture - 01

    26/33

    26

    System Structure

    MS-DOS System Structure

    MS-DOS written to provide the most functionality in theleast space

    Not divided into modules

    Although MS-DOS has some structure, its interfaces andlevels of functionality are not well separated

  • 7/31/2019 SP Lecture - 01

    27/33

    27

    System Structure

    MS-DOS Layer Structure

  • 7/31/2019 SP Lecture - 01

    28/33

    28

    System Structure (Contd.)

    UNIX System Structure

    Limited by hardware functionality, the original UNIXoperating system had limited structuring. The UNIX OSconsists of two separable parts.

    Systems programs Consists of everything below the system-call interface and above

    the physical hardware

    The kernel Provides the file system, CPU scheduling, memory management,

    and other operating-system functions; a large number offunctions for one level.

  • 7/31/2019 SP Lecture - 01

    29/33

    29

    System Structure

    UNIX System Structure

  • 7/31/2019 SP Lecture - 01

    30/33

    30

    System Structure (Contd.)

    Layered Approach

    The operating system is divided into a number of layers

    (levels), each built on top of lower layers. The bottomlayer (layer 0), is the hardware; the highest (layer N) isthe user interface.

    With modularity, layers are selected such that each usesfunctions (operations) and services of only lower-levellayers.

  • 7/31/2019 SP Lecture - 01

    31/33

    31

    System Structure (Contd.)

    An Operating System Layer

  • 7/31/2019 SP Lecture - 01

    32/33

    32

    System Structure (Contd.)

    Layered Approach

    Layer 5: User programs

    Layer 4: Buffering for input and output devices

    Layer 3: Operator-console device driver

    Layer 2: Memory management

    Layer 1: CPU scheduling

    Layer 0: Hardware

  • 7/31/2019 SP Lecture - 01

    33/33

    33

    System Structure (Contd.)

    General OS Layers