OS-Unit I-part 2

download OS-Unit I-part 2

of 20

Transcript of OS-Unit I-part 2

  • 8/3/2019 OS-Unit I-part 2

    1/20

    Unit I: Fundamentals (part2)Unit I: Fundamentals (part2)

  • 8/3/2019 OS-Unit I-part 2

    2/20

    2.2 Silberschatz, Galvin and Gagne 2005Operating System Principles

    s

    Operating System Servicess System Calls

    s Types of System Calls

    s Operating System Design and Implementation

    s Operating System Structure

  • 8/3/2019 OS-Unit I-part 2

    3/20

    2.3 Silberschatz, Galvin and Gagne 2005Operating System Principles

    ObjectivesObjectives

    s

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

    s To discuss the various ways of structuring an operating system

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

  • 8/3/2019 OS-Unit I-part 2

    4/20

    2.4 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Operating System ServicesOperating System Services

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

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

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

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

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

    q

    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.

  • 8/3/2019 OS-Unit I-part 2

    5/20

    2.5 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Operating System Services (Cont.)Operating System Services (Cont.)

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

    q 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)

    q 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

  • 8/3/2019 OS-Unit I-part 2

    6/20

    2.6 Silberschatz, Galvin and Gagne 2005Operating System Principles

    Operating System Services (Cont.)Operating System Services (Cont.)

    s Another set of OS functions exists for ensuring the efficient operation of the system itself

    via resource sharing

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

    Many types of resources - Some (such as CPU cycles,mainmemory, and filestorage) may have special allocation code, others (such as I/O devices) mayhave general request and release code.

    q Accounting - To keep track of which users use how much and what kinds ofcomputer resources

    q Protection and security - The owners of information stored in a multiuser ornetworked computer system may want to control use of that information, concurrentprocesses 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 todefending external I/O devices from invalid access attempts

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

  • 8/3/2019 OS-Unit I-part 2

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

    System CallsSystem Calls

    s Programming interface to the services provided by the OS

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

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

    s 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)

  • 8/3/2019 OS-Unit I-part 2

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

    Example of System CallsExample of System Calls

    s System call sequence to copy the contents of one file to another file

  • 8/3/2019 OS-Unit I-part 2

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

    Example of Standard APIExample of Standard API

    s Consider the ReadFile() function in the

    s Win32 APIa function for reading from a file

    s A description of the parameters passed to ReadFile()

    q HANDLE filethe file to be read

    q LPVOID buffera buffer where the data will be read into and written from

    q DWORD bytesToReadthe number of bytes to be read into the bufferq LPDWORD bytesReadthe number of bytes read during the last read

    q LPOVERLAPPED ovlindicates if overlapped I/O is being used

  • 8/3/2019 OS-Unit I-part 2

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

    System Call ImplementationSystem Call Implementation

    s Typically, a number associated with each system call

    q System-call interface maintains a table indexed according tothese numbers

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

    s

    The caller need know nothing about how the system call isimplemented

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

    q Most details of OS interface hidden from programmer by API

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

  • 8/3/2019 OS-Unit I-part 2

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

    API System Call OS RelationshipAPI System Call OS Relationship

  • 8/3/2019 OS-Unit I-part 2

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

    Standard C Library ExampleStandard C Library Example

    s

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

  • 8/3/2019 OS-Unit I-part 2

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

    OS StructuresOS Structures

    s Simple Structure

    s Layered Structure

  • 8/3/2019 OS-Unit I-part 2

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

    Simple StructureSimple Structure

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

    q Not divided into modules

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

  • 8/3/2019 OS-Unit I-part 2

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

    MS-DOS Layer StructureMS-DOS Layer Structure

  • 8/3/2019 OS-Unit I-part 2

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

    Layered ApproachLayered Approach

    s 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.

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

  • 8/3/2019 OS-Unit I-part 2

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

    Layered Operating SystemLayered Operating System

  • 8/3/2019 OS-Unit I-part 2

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

    UNIXUNIX

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

    q Systems programs

    q 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

  • 8/3/2019 OS-Unit I-part 2

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

    UNIX System StructureUNIX System Structure

  • 8/3/2019 OS-Unit I-part 2

    20/20

    End of Unit IEnd of Unit I