Swe305 Uniti p2

Embed Size (px)

Citation preview

  • 7/28/2019 Swe305 Uniti p2

    1/20

  • 7/28/2019 Swe305 Uniti p2

    2/20

  • 7/28/2019 Swe305 Uniti p2

    3/20

    2.3 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Objectives

    To describe the services an operating system provides to users,processes, and other systems

    To discuss the various ways of structuring an operating system

    To explain how operating systems are installed and customizedand how they boot

  • 7/28/2019 Swe305 Uniti p2

    4/20

    2.4 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Operating System Services

    One set of operating-system services provides functions that arehelpful to the user:

    User interface - Almost all operating systems have a user interface (UI)

    Varies between Command-Line (CLI), Graphics User Interface(GUI), Batch

    Program execution - The system must be able to load a program intomemory and to run that program, end execution, either normally orabnormally (indicating error)

    I/O operations - A running program may require I/O, which may involvea file or an I/O device.

    File-system manipulation - The file system is of particular interest.Obviously, programs need to read and write files and directories, createand delete them, search them, list file Information, permissionmanagement.

  • 7/28/2019 Swe305 Uniti p2

    5/20

    2.5 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Operating System Services (Cont.)

    One set of operating-system services provides functions that arehelpful to the user (Cont):

    Communications Processes may exchange information, on the samecomputer or between computers over a network

    Communications may be via shared memory or through messagepassing (packets moved by the OS)

    Error detection OS needs to be constantly aware of possible errors

    May occur in the CPU and memory hardware, in I/O devices, in userprogram

    For each type of error, OS should take the appropriate action to

    ensure correct and consistent computing Debugging facilities can greatly enhance the users and

    programmers abilities to efficiently use the system

  • 7/28/2019 Swe305 Uniti p2

    6/20

    2.6 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Operating System Services (Cont.)

    Another set of OS functions exists for ensuring the efficient operation of thesystem itself via resource sharing

    Resource allocation - When multiple users or multiple jobs runningconcurrently, resources must be allocated to each of them

    Many types of resources - Some (such as CPU cycles,mainmemory,and file storage) may have special allocation code, others (such as I/Odevices) may have general request and release code.

    Accounting - To keep track of which users use how much and what kindsof computer resources

    Protection and security - The owners of information stored in a multiuseror networked computer system may want to control use of that information,concurrent processes should not interfere with each other

    Protection involves ensuring that all access to system resources is

    controlled Security of the system from outsiders requires user authentication,

    extends to defending external I/O devices from invalid access attempts

    If a system is to be protected and secure, precautions must beinstituted throughout it. A chain is only as strong as its weakest link.

  • 7/28/2019 Swe305 Uniti p2

    7/202.7 Silberschatz, Galvin and Gagne 2005Operating System Principles

    System Calls

    Programming interface to the services provided by the OS

    Typically written in a high-level language (C or C++)

    Mostly accessed by programs via a high-level ApplicationProgram Interface (API) rather than direct system call use

    Three most common APIs are Win32 API for Windows, POSIX API

    for POSIX-based systems (including virtually all versions of UNIX,Linux, and Mac OS X), and Java API for the Java virtual machine(JVM)

  • 7/28/2019 Swe305 Uniti p2

    8/202.8 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Example of System Calls

    System call sequence to copy the contents of one file to anotherfile

  • 7/28/2019 Swe305 Uniti p2

    9/202.9 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Example of Standard API

    Consider the ReadFile() function in the

    Win32 APIa function for reading from a file

    A description of the parameters passed to ReadFile()

    HANDLE filethe file to be read

    LPVOID buffera buffer where the data will be read into and writtenfrom

    DWORD bytesToReadthe number of bytes to be read into the buffer

    LPDWORD bytesReadthe number of bytes read during the last read

    LPOVERLAPPED ovlindicates if overlapped I/O is being used

  • 7/28/2019 Swe305 Uniti p2

    10/202.10 Silberschatz, Galvin and Gagne 2005Operating System Principles

    System Call Implementation

    Typically, a number associated with each system call

    System-call interface maintains a table indexed according tothese numbers

    The system call interface invokes intended system call in OS kerneland returns status of the system call and any return values

    The caller need know nothing about how the system call isimplemented

    Just needs to obey API and understand what OS will do as aresult call

    Most details of OS interface hidden from programmer by API

    Managed by run-time support library (set of functions builtinto libraries included with compiler)

  • 7/28/2019 Swe305 Uniti p2

    11/202.11 Silberschatz, Galvin and Gagne 2005Operating System Principles

    API System Call OS Relationship

  • 7/28/2019 Swe305 Uniti p2

    12/202.12 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Standard C Library Example

    C program invoking printf() library call, which calls write() system call

  • 7/28/2019 Swe305 Uniti p2

    13/202.13 Silberschatz, Galvin and Gagne 2005Operating System Principles

    OS Structures

    Simple Structure

    Layered Structure

  • 7/28/2019 Swe305 Uniti p2

    14/202.14 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Simple Structure

    MS-DOS written to provide the most functionality in the leastspace

    Not divided into modules

    Although MS-DOS has some structure, its interfaces and levelsof functionality are not well separated

  • 7/28/2019 Swe305 Uniti p2

    15/202.15 Silberschatz, Galvin and Gagne 2005Operating System Principles

    MS-DOS Layer Structure

  • 7/28/2019 Swe305 Uniti p2

    16/202.16 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Layered Approach

    The operating system is divided into a number of layers (levels),each built on top of lower layers. The bottom layer (layer 0), is thehardware; the highest (layer N) is the user interface.

    With modularity, layers are selected such that each uses functions(operations) and services of only lower-level layers

  • 7/28/2019 Swe305 Uniti p2

    17/202.17 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Layered Operating System

  • 7/28/2019 Swe305 Uniti p2

    18/202.18 Silberschatz, Galvin and Gagne 2005Operating System Principles

    UNIX

    UNIX limited by hardware functionality, the original UNIX operatingsystem had limited structuring. The UNIX OS consists of twoseparable parts

    Systems programs

    The kernel

    Consists of everything below the system-call interface andabove the physical hardware

    Provides the file system, CPU scheduling, memorymanagement, and other operating-system functions; a largenumber of functions for one level

  • 7/28/2019 Swe305 Uniti p2

    19/202.19 Silberschatz, Galvin and Gagne 2005Operating System Principles

    UNIX System Structure

  • 7/28/2019 Swe305 Uniti p2

    20/20

    End of Unit I