SlideShare a Scribd company logo
1 of 99
Process Management



                     1
Introduction
   In conventional (centralized) operating system, process
    management deals with mechanisms and policies for
    sharing the processor of the system among all processes.
   In a distributed operating system, the main goal of process
    management is to make the best possible use of the
    processing resources of the entire system by sharing them
    among all processes.
   Three important concepts are used to achieve this
    goal:
    -Processor allocation
    -Process migration
    -Threads                                                 2
Cont…
   Process allocation deals with the process of
    deciding which process should be assigned to which
    processor.

   Process migration deals with the movement of a
    process from its current location to the processor to
    which it has been assigned.

   Threads deals with fine-grained parallelism for
    better utilization of the processing capability of the
    system.                                              3
Process Migration
   Relocation of a process from its current location to
    another node.

   Process may be migrated
       either before it start executing on its source node
           known as non-preemptive process migration.

       or during the course of its execution
           Known as preemptive process migration.

                                                              4
Cont… : Flow of execution of a
migration process
                              Source node
                                                      Destination node


                  Time                Process P1 in
                                        execution

                          Execution
                         suspended
                                               Transfer of
                                                 control
  Freezing time

                                                               Execution
                                                               resumed


                                                                 Process p1 in execution



                                                                                           5
Cont…
   Preemptive process migration is costlier.

   Process Migration Policy
       Selection of a process that should be migrated.
       Selection of the destination node to which the selected
        process should be migrated.

   Process Migration Mechanism
       Actual transfer of the selected process to the destination
        node.
                                                                 6
Desirable features of a good process
migration mechanism
   Transparency
   Minimal Interference
   Minimal Residual Dependencies
   Efficiency
   Robustness
   Communication between coprocesses of a job



                                                 7
Transparency
Level of transparency:
     Object Access Level
     System Call & Interprocess Communication level




                                                       8
Cont… : Object Access level Transparency
   Minimum requirement for a system to support non-
    preemptive process migration facility.

   Access to objects such as files and devices can be
    location independent.

   Allows free initiation of program at arbitrary node.

   Requires transparent object naming and locating.
                                                           9
Cont… : System Call & IPC level
   For migrated process, system calls should be
    location independent.

   For transparent redirection of messages during the
    transient state of a process.

   Transparency must be provided            to   support
    preemptive process migration facility.


                                                        10
Minimal Interference
   Migration of a process should cause minimal
    interference of progress of the process involved.

   Achieve by minimizing the freezing time of the
    process being migrated.
       Freezing time is the time period for which the execution
        of the process is stopped for transferring its information to
        the destination node.




                                                                   11
Minimal Residual Dependencies
   No residual dependency should be left on
    previous node.




                                               12
Efficiency
   Minimum time required for migrating a process.

   Minimum cost of locating an object.

   Minimum cost of supporting remote execution
    once the process is migrated.



                                                     13
Robustness
   The failure of a node other than the one on which a
    process is currently running should not in any way
    affect the accessibility or execution of that process.




                                                         14
Communication between coprocessors of a job

   To reduce communication cost, it is necessary that
    coprocesses are able to directly communicate with
    each other irrespective of their locations.




                                                     15
Process Migration Mechanisms
Four major activities
 Freezing the process on its source node and
  restarting it on its destination node.
 Transferring the process’s address space from its
  source node to its destination node.
 Forwarding massages meant for the migrant process.

 Handling      communication between cooperating
  processes that have been separated as a result of
  process migration.
                                                   16
Cont… : Mechanisms for Freezing and
Restarting a Process
   Freezing the process:
       The execution of the process is suspended and all
        external interactions with the process are deferred.

   Issues:
       Immediate and delayed blocking of the process
       Fast and slow I/O operations
       Information about open files
       Reinstating the process on its Destination node
                                                          17
Cont… :Immediate and delayed
blocking of the process
   If the process is not executing a system call, it can
    be immediately blocked from further execution.

   If the process is executing a system call but is
    sleeping at an interruptible priority waiting for a
    kernel event to occur, it can be immediately
    blocked from further execution.

   If the process is executing a system call but is
    sleeping at an non-interruptible priority waiting for
    a kernel event to occur, it cannot be blocked
    immediately.
                                                        18
Cont… : Fast and Slow I/O Operations
   Process is frozen after the completion of all fast I/O
    operations like disk access.

   Slow I/O operation (pipe or terminal) is done after
    process migration and when process is executed on
    destination node.



                                                         19
Cont… : Information about open files

    Includes name and identifier of the file, their access
     modes and the current positions of their file pointers.

    OS returns a file descriptor to process that is used for
     all I/O.

    It is necessary to somehow preserve a pointer to the
     file so that migrated process could continue to access
     it.
                                                            20
Cont…
   Approaches :
     Link is created to the file and the pathname of the
      link is used as an access point to the file after the
      process migrates.

       An open file’s complete pathname is reconstructed
        when required by modifying the kernel.

   Keeping Track of file replicas.
                                                          21
Cont… : Reinstating the process on its
Destination Node
   On the destination node, an empty process state is
    created.

   Newly allocated process may or may not have the
    same process identifier as the migrating process.




                                                     22
Cont…
   Once all the state of the migrating process has been
    transferred from the source to destination node and
    copied into the empty state, new copy of the process
    is unfrozen and old copy is deleted.

   The process is restarted on its destination node in
    whatever state it was in before being migrated.



                                                       23
Address Space Transfer Mechanisms
   The migration of a process involves the
    transfer of

       Process’s state
       Process’s address space


    from the source node to the destination node.

                                                    24
Cont…
   Process State consists of
       Execution Status – Register Contents
       Memory Tables
       I/O State : I/O Queue, I/O buffers, Interrupts
       Capability list
       Process’s Identifier
       Process’s user and group identifier
       Information about Open Files


                                                         25
Cont…
   Process address space
       code,
       data and
       program stack

   The size of the process’s address space (several
    megabytes) overshadows the size of the process’s
    state information (few kilobytes).

                                                   26
Cont…
   Mechanisms for address space transfer:
       Total freezing
       Pretransferring
       Transfer on reference




                                             27
Cont… : Total Freezing
   A process’s execution is stopped while its address
    space is being transferred.

   Disadvantage:
       Process is suspended for long time during migration,
        timeouts may occur, and if process is interactive, the
        delay will be noticed by the user.




                                                            28
Cont…
                                 Source       Destination node
                                  node

                  Time                 Migration
                         Execution   decision made
                         suspended


                                                          Transfer of
  Freezing time                                         address space



                                                        Execution
                                                        resumed




                                                                        29
Cont … : Pretransferring
   Also known as precopying.

   The address space is transferred while the process is
    still running on the source node.

   It is done as an initial transfer of the complete
    address space followed by repeated transfers of the
    page modified during the previous transfer.

                                                       30
Cont …
   The pretransfer operation is executed at a higher
    priority than all other programs on the source node.

   Reduces the freezing time of the process but it may
    increase the total time for migrating due to the
    possibility of redundant page transfers.




                                                      31
Cont…
                                Source       Destination node
                                 node
                Time                   Migration
                                     decision made


                    Execution                           Transfer of
                   suspended                           address space
Freezing time
                                                       Execution
                                                       resumed



                                                                       32
Cont… : Transfer on Reference
   The process address space is left behind on its
    source node, and as the relocated process executes
    on its destination node.

   Attempts to reference memory page results in the
    generation of requests to copy in the desired blocks
    from their remote location.

   A page is transferred from its source node to its
    destination node only when referenced.
                                                      33
Cont…
   Very short switching time of the process from its
    source node to its destination node.

   Imposes a continued load on the process’s source
    node and results in the process if source node fails
    or is rebooted.




                                                      34
Cont…
                            Source              Destination
                             node                 node
              Time   Execution      Migration
                     suspended      decision
                                     made
   Freezing
     time                                              Execution
                                                       resumed



                                                          On-demand
                                                           transfer of
                                                         address space




                                                                         35
Message-forwarding Mechanisms
   In moving a process, it must be ensured that all
    pending, re-route, and future messages arrive at the
    process’s new location.

   Types of messages:
    1.   Messages received at the source node after the process’s execution
         has been stopped on its source node and the process’s execution has
         not yet been started on its destination node.

    2.   Messages received at the source node after the process’s execution
         has started on its destination node.

    3.   Messages that are to be sent to the migrant process from any other
         node after it has started executing on the destination node.
                                                                          36
Cont…
   Mechanisms:
       Mechanism of resending the message
       Origin site mechanism
       Link traversal mechanism
       Link update mechanism




                                             37
Cont… : Mechanisms of resending the
message
   Messages of the types 1 and 2 are returned to the
    sender as not deliverable or are simply dropped,
    with the assurance that the sender of the message is
    storing a copy of the data and is prepared to
    retransmit it.

   Does not require any process state to be left behind
    on the process’s source node.


                                                       38
Cont…
   Disadvantage:
       The message forwarding mechanism of process
        migration operation is nontransparent to the
        processes interacting with the migrant process.




                                                      39
Cont… : Origin Site Mechanism
   Each site is responsible for keeping information
    about the current locations of all the processes
    created on it.

   Messages for a particular process are always first
    sent to its origin site.

   The origin site then forwards the message to the
    process’s current location.
                                                     40
Cont…
   Disadvantage:
       Failure of the origin site will disrupt the message
        forwarding mechanism.

       Continuous load on the migrant process’s origin site even
        after the process has migrated from that node.




                                                               41
Cont… : Link Traversal Mechanism
   To redirect message type 1, a message queue for the
    migrant process is created on its source node.

   For 2 and 3 type message, a forwarding address
    known as link is left at the source node pointing to
    the destination of the migrant process.

   Two component of link, one is unique process
    identifier and second is last known location.


                                                       42
Cont…
   Disadvantage:
       Several link may have to be traversed to locate a process
        from a node and if any node in chain of link fails, the
        process cannot be located.




                                                               43
Cont… : Link Update Mechanisms
   During the transfer phase of the migrant process,
    the source node sends link-update messages to the
    kernels controlling all of the migrant process’s
    communication partners.

   Link update message
       Tells the new address of each link held by the migrant
        process.
       Acknowledged for synchronization purposes.


                                                             44
Mechanisms for Handling
Coprocesses
   To provide efficient communication between a
    process and its sub processes which might have
    been migrated on different nodes.

   Mechanisms :
       Disallowing separation of coprocesses.
       Home node or origin site concept.



                                                 45
Cont… : Disallowing Separation of
coprocesses
   Easiest method of handling communication
    between coprocesses is to disallow their separation.

   Methods :
       By disallowing the migration of processes that wait for
        one or more of their children to complete.
       By ensuring that when a parent process migrates, its
        children process will be migrated along with it.



                                                             46
Cont…
   Disadvantage:
       It does not allow the use of parallelism within jobs.




                                                                47
Cont… : Home node or Origin Sites
Concept
   Used for communication between a process and its
    sub process when the two are running on different
    nodes.

   Allows the complete freedom of migrating a
    process or its sub process independently and
    executing them on different nodes of the system.



                                                    48
Cont…
   Disadvantage:
       All communication between a parent process and its
        children processes take place via the home node.

           The message traffic and the communication cost increase
            considerably.




                                                                 49
Process Migration in Heterogeneous Systems
   All the concerned data must be translated from the
    source CPU format to the destination CPU format
    before it can be executed on the destination node.

   A heterogeneous system having n CPU types must
    have n(n-1) pieces of translation software.

   Handles problem of different data representations
    such as characters, integers and floating-point
    numbers.                                         50
Cont…
                                   1
          Processor of                            Processor of
             type 1                   4              type 2



      3         10                                  5            8
                         11                   7
                              6           2

          Processor of            9                Processor of
             type 3                                   type 4
                                  12


 Example: The need for 12 pieces of translation software
 required in a heterogeneous system having 4 types of
 processors
                                                                     51
Cont…
                               Processor of
                                  type 1

                               1          2
                       8                      3
        Processor of         External data        Processor of
           type 4           representation           type 2
                                              4
                       7
                                          5
                           6

                               Processor of
                                  type 3


Example: The need for only 8 pieces of translation software in a
heterogeneous system having 4 types of processors when the EDR
mechanism is used                                               52
Cont… : Handling Exponent
   The number of bits for the exponent varies from
    processor to processor.

   The EDR have at least as many bits in the exponent
    as the largest exponent.

   Overflow or underflow can be managed upon
    conversion from the external data representation.

                                                     53
Cont…
   Some solutions:
       Ensuring that numbers used by the programs that migrate
        have a smaller exponent value than the smallest
        processor’s exponent value in the system.

       Emulating the larger processor’s value.

       Restricting the migration of the process to only those
        nodes whose processor’s exponent representation is at
        least as large as that of the source node’s processor.
                                                             54
Cont… : Handling the Mantissa
   Suppose processor A uses 32 bits and processor B
    uses 64 bits.
       No problem from A to B migration.
       Half-Precision problem from B to A migration.

   Solution:
       The external data representation must have sufficient
        precision to handle the largest mantissa.



                                                            55
Cont…
   Problem:
       Loss of precision due to multiple migrations.

   Solution:
       Remote computations can be viewed as ‘extra precision’
        calculation.




                                                             56
Advantages of Process Migration
   Reducing average response time of processes
       To reduce the average response time of the processes,
        processes of a heavily loaded node are migrated to idle or
        underutilized nodes.

   Speeding up individual jobs
       A migration of job to different node is done and execute
        them concurrently.
       Migrate a job to a node having a faster CPU or to a node
        at which it has minimum turnaround time.
       More speed up more migration cost involved.
                                                                57
Cont…
   Gaining higher throughput
       Process migration facility may also be used properly to
        mix I/O and CPU-bound processes on a global basis for
        increasing the throughput of the system.

   Utilizing resources effectively
       Depending upon the nature of a process, it can be
        migrated to suitable node to utilize the system resource in
        the most efficient manner.


                                                                 58
Cont…
   Reducing network traffic
       Migrating a process closer to the resources it is using
        most heavily.

   Improving system reliability
       Migrate a copy of a critical process to some other node
        and to execute both the original and copied processes
        concurrently on different nodes.

   Improving system security
       A sensitive process may be migrated and run on a secure
        node.                                                 59
Process
   A basic unit of CPU utilization in traditional OS.
   A program in execution.
   Defines a data space.
   Has its own program counter, its own register states,
    its own stack and its own address space.
   Has at least one associated thread.
   Unit of distribution.

                                                         60
Threads
   It is a basic unit of CPU utilization used for
    improving a system performance through
    parallelism.
   A process consist of an address space and one or
    more threads of control.
   Threads share same address space but having its own
    program counter, register states and its own stack.
   Less protection due to the sharing of address space.

                                                       61
Cont…
   On a uniprocessor, threads run in quasi-parallel
    (time sharing), whereas on a shared-memory
    multiprocessor, as many threads can run
    simultaneously as there are processors.

   States of Threads:
       Running, blocked, ready, or terminated.

   Threads are viewed as miniprocesses.
                                                   62
Threads

      Address space              Address space
         Thread               Thread   Thread   Thread




   (a) Single-threaded   (b) Multithreaded processes




                                                         63
Motivations for using Threads
   Overheads involved in creating a new process is more
    than creating a new thread.

   Context switching between threads is cheaper than
    processes due to their same address space.

   Threads allow parallelism to be combined with
    sequential execution and blocking system calls.

   Resource sharing can be achieved more efficiently and
    naturally between threads due to same address space.
                                                        64
Different models to construct a server
    process: As a single-thread process
    Use blocking system calls but without any
     parallelism.

    If a dedicated machine is used for the file server,
     the CPU remains idle while the file server is
     waiting for a reply from the disk space.

    No parallelism is achieved in this method and fewer
     client requests are processed per unit of time.

                                                       65
Cont… : As a finite state machine
   Model support parallelism but with nonblocking
    system calls.
   Implemented as a single threaded process and is
    operated like a finite state machine.
   An event queue is maintained for request & reply.
   During time of a disk access, it records current state
    in a table & fetches next request from queue.
   When a disk operation completes, the appropriate
    piece of client state must be retrieved to find out
    how to continue carrying out the request.
                                                         66
Cont… : As a group of threads
   Supports parallelism with blocking system calls.

   Server process is comprised of a single dispatcher
    thread and multiple worker threads.

   Dispatcher thread keeps waiting in a loop for
    request from the clients.

   A server process designed in this way has good
    performance and is also easy to program.
                                                       67
Models for organizing threads
   Dispatcher-workers model
   Team model
   Pipeline model




                                68
Cont… : Dispatcher-worker model
   Single dispatcher thread and multiple worker
    threads.

   Dispatcher thread accepts requests from clients and
    after examining the request, dispatches the request
    to one of the free worker threads for further
    processing of the request.

   Each worker thread works on a different client
    request.                                          69
Cont…
             Requests
                                 A Server process for
                 Port            processing incoming
                                 requests
        Dispatcher Thread


    Worker   Worker     Worker
    Thread   Thread     Thread




                                                        70
Cont… : Team Model
   There is no dispatcher-worker relationship for
    processing clients requests.
   Each thread gets and processes clients’ requests on
    its own.
   Each thread of the process is specialized in
    servicing a specific type of request.
   Multiple types of requests can be simultaneously
    handled by the process.

                                                      71
Cont…
                 Requests


                       Port            A Server process for processing
                                        incoming requests that may be
                                         of three different types, each
           type1                       types of request being handled
                              type3
               type2                          by a different thread.


        Thread     Thread     Thread




                                                                    72
Cont… : Pipeline Model
   Useful for application based on the producer-
    consumer model.

   The threads of a process are organized as a pipeline
    so that the output data generated by the first thread
    is used for processing by the second thread and so
    on.


                                                        73
Cont…
                 Requests              A Server process for processing
                                       incoming requests, each request
                                        processed in three steps, each
                       Port               step handled by a different
                                       thread and output of one step as
                                             input to the next step




        Thread     Thread     Thread




                                                                          74
Issues in designing a Thread Package
1.   Threads creation
2.   Thread termination
3.   Threads synchronization
4.   Threads scheduling
5.   Signal handling



                                       75
Threads Creation
   Created either statically or dynamically.

   Static approach:
       Threads remain fixed for its entire lifetime.
       Fixed stack is allocated to each thread.
       No. of threads of a process is decided at the time of
        writing a program or during compilation.

   Dynamic approach:
       Number of threads changes dynamically.
                                                            76
Threads Termination
   A thread may either destroy itself when it finishes
    its job by making an exit call
                          or
   be killed from outside by using the kill command
    and specifying the thread identifier as its parameter.




                                                         77
Threads Synchronization
   Threads share a common address space, so it is
    necessary to prevent multiple threads from trying to
    access the same data simultaneously.

   Mechanism for threads synchronization:
       Use of global variable within the process.
           mutex variable and condition variable.




                                                       78
Cont…
   Segment of code in which a thread may be accessing
    some shared variable is called a critical region.

   Two commonly used mutual exclusion techniques in
    a threads package are mutex variables and condition
    variables.




                                                      79
Cont…
   Mutex have only 2 states, hence simple to
    implement.

   Condition variable associated with mutex variable &
    reflects Boolean state of that variable.

   Condition – wait and signal operation.



                                                      80
Cont…
                     Thread1    Thread2

   Lock (mutex_A)                      Lock (mutex_A) fails
      succeeds                            Wait (A_free)
  Critical region (uses
  shared resource A)
                                      Blocked state

    Unlock (mutex_A)
     Signal (A_free)                      Lock (mutex_A)
                                             succeeds




  Mutex_A is a mutex variable for exclusive use of shared resource A.
  A_free is a condition variable for resource A to become free.
                                                                        81
Threads Scheduling
    Special features for threads scheduling :
    1.   Priority assignment facility
    2.   Flexibility to vary quantum size dynamically
    3.   Handoff scheduling
    4.   Affinity scheduling




                                                        82
Cont… : Priority assignment facility
   Threads are scheduled on the first-in, first-out basis
    or the round-robin policy is used.

   Used to timeshares the CPU cycles.

   To provide more flexibility priority is assigned to
    the various threads of the applications.

   Priority thread      maybe     non-preemptive      or
    preemptive.
                                                         83
Cont… : Flexibility to vary quantum size
dynamically
   Use of round-robin scheduling scheme.
   Varies the size of fixed-length time quantum to
    timeshare the CPU cycle among the threads.
   Not suitable for multiprocessor system.
   Gives good response time to short requests, even on
    heavily loaded systems.
   Provides high efficiency on lightly loaded systems.


                                                      84
Cont… : Handoff Scheduling
   Allows a thread to name its successor if it wants to.

   Provides flexibility to bypass the queue of runnable
    threads and directly switch the CPU to the thread
    specified by the currently running thread.




                                                        85
Cont… : Affinity scheduling
   A thread is scheduled on the CPU it last ran on in
    hopes that part of its address space is still in that
    CPU’s cache.

   Gives better performance on a multiprocessor
    system.



                                                        86
Signal handling
   Signals provide software-generated interrupts and
    exceptions.

   Issues :
       A signal must be handled properly no matter which
        thread of the process receives it.

       Signals must be prevented from getting lost.

                                                        87
Cont…
   Approach:
       Create a separate exception handler thread in each
        process.

       Assign each thread its own private global variables for
        signaling conditions.




                                                             88
Thread Implementation
   Often provided in form of a thread package.

   Two important approaches:
       First is to construct thread library that is entirely executed
        in user mode.

       Second is to have the kernel be aware of threads and
        schedule them.

                                                                    89
User level threads
   It is cheap to create and destroy threads.
   Cost of creating or destroying thread is determined by
    the cost for allocating memory to set up a thread
    stack.
   Switching thread context is done in few instructions.
   Only CPU registers need to be stored & subsequently
    reloaded with the previously stored values of the
    thread to which it is being switched.
   There is no need to change memory maps, flush the
    TLB, do CPU accounting etc.

                                                        90
Cont…
   Drawback: Invocation of a blocking system call will
    immediately block the entire process to which the
    thread belongs.




                                                      91
User and Kernel Level
   Threads are useful to structure large application into
    parts that could be logically executed at the same
    time.

   In user level thread, blocking on I/O does prevent
    other parts to be executed in the meantime.

   This can be circumvented by implementing threads
    in the OS Kernel.
                                                         92
Cont…
   Price: Every thread operation will have to be carried
    out by kernel requiring system calls. Hence benefits
    of using threads disappear.




                                                        93
Implementing a Threads Package
User-level approach
   Consists of a runtime system that is a collection of threads
    management routines.

   Threads run in the user space on the top of the runtime
    system and are managed by it.

   System maintains a status information table having one
    entry per thread.

   Two-level scheduling is preformed in this approach.       94
Cont… : User level

                     Processes and their
                           threads

     User space
                       Runtime system
                      (maintain threads
                         status info.)

                             Kernel
    Kernel space     (maintains processes
                          status info.)



                                            95
Cont…
Kernel-level approach
   No runtime system is used and threads are managed by the
    kernel.

   Threads status info. table maintained within kernel.

   Single-level scheduling is used in this approach.

   All calls that might block a thread are implemented as
    system calls that trap to the kernel.
                                                           96
Cont… : Kernel level


     User space     Processes and their
                          threads




     Kernel space    Kernel (maintains
                    threads status info.)




                                            97
Cont…
Advantages of the approaches
   User-level approach can be implemented on top of an
    existing OS that does not support threads.

   In user-level approach due to use of two-level scheduling,
    users have the flexibility to use their own customized
    algorithm to schedule the threads of a process.

   Switching the context from one thread to another is faster in
    the user-level approach than in the kernel approach.

   No status information cause poor scalability in the kernel as
    compared to the user-level approach.
                                                               98
Cont…
Disadvantages of the approaches:
   Since there is no clock interrupt within a single process, so
    once CPU is given to a thread to run, there is no way to
    interrupt it.

   To solve this runtime system can request a clock interrupt
    after every fixed unit of time




                                                               99

More Related Content

What's hot

Remote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemRemote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemPoojaBele1
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating SystemsDr Sandeep Kumar Poonia
 
file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada umardanjumamaiwada
 
Synchronization in distributed systems
Synchronization in distributed systems Synchronization in distributed systems
Synchronization in distributed systems SHATHAN
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 
File replication
File replicationFile replication
File replicationKlawal13
 
Distributed process and scheduling
Distributed process and scheduling Distributed process and scheduling
Distributed process and scheduling SHATHAN
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computingSVijaylakshmi
 
Distributed Shared Memory Systems
Distributed Shared Memory SystemsDistributed Shared Memory Systems
Distributed Shared Memory SystemsArush Nagpal
 
Processor allocation in Distributed Systems
Processor allocation in Distributed SystemsProcessor allocation in Distributed Systems
Processor allocation in Distributed SystemsRitu Ranjan Shrivastwa
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed SystemsNandakumar P
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems Maurvi04
 
Distributed Operating System
Distributed Operating SystemDistributed Operating System
Distributed Operating SystemAjithaG9
 
User Datagram protocol For Msc CS
User Datagram protocol For Msc CSUser Datagram protocol For Msc CS
User Datagram protocol For Msc CSThanveen
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing modelsishmecse13
 
Communication in Distributed Systems
Communication in Distributed SystemsCommunication in Distributed Systems
Communication in Distributed SystemsDilum Bandara
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure callsAshish Kumar
 

What's hot (20)

Remote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemRemote Procedure Call in Distributed System
Remote Procedure Call in Distributed System
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems
 
file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada
 
Synchronization in distributed systems
Synchronization in distributed systems Synchronization in distributed systems
Synchronization in distributed systems
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
File replication
File replicationFile replication
File replication
 
Distributed process and scheduling
Distributed process and scheduling Distributed process and scheduling
Distributed process and scheduling
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computing
 
Distributed Shared Memory Systems
Distributed Shared Memory SystemsDistributed Shared Memory Systems
Distributed Shared Memory Systems
 
Processor allocation in Distributed Systems
Processor allocation in Distributed SystemsProcessor allocation in Distributed Systems
Processor allocation in Distributed Systems
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems
 
Chap 4
Chap 4Chap 4
Chap 4
 
Distributed Operating System
Distributed Operating SystemDistributed Operating System
Distributed Operating System
 
Distributed Operating System_4
Distributed Operating System_4Distributed Operating System_4
Distributed Operating System_4
 
User Datagram protocol For Msc CS
User Datagram protocol For Msc CSUser Datagram protocol For Msc CS
User Datagram protocol For Msc CS
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing models
 
Communication in Distributed Systems
Communication in Distributed SystemsCommunication in Distributed Systems
Communication in Distributed Systems
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 

Viewers also liked

Consistency in Distributed Systems
Consistency in Distributed SystemsConsistency in Distributed Systems
Consistency in Distributed SystemsShane Johnson
 
The elements of scale
The elements of scaleThe elements of scale
The elements of scaleFastly
 
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...Legacy Typesafe (now Lightbend)
 
Distributed systems and consistency
Distributed systems and consistencyDistributed systems and consistency
Distributed systems and consistencyseldo
 
Distributed System Management
Distributed System ManagementDistributed System Management
Distributed System ManagementIbrahim Amer
 
Consistency Models in New Generation Databases
Consistency Models in New Generation DatabasesConsistency Models in New Generation Databases
Consistency Models in New Generation Databasesiammutex
 
Scaling up food safety information transparency
Scaling up food safety information transparencyScaling up food safety information transparency
Scaling up food safety information transparencyNikos Manouselis
 
3. distributed file system requirements
3. distributed file system requirements3. distributed file system requirements
3. distributed file system requirementsAbDul ThaYyal
 
Client-centric Consistency Models
Client-centric Consistency ModelsClient-centric Consistency Models
Client-centric Consistency ModelsEnsar Basri Kahveci
 
Distributed shared memory shyam soni
Distributed shared memory shyam soniDistributed shared memory shyam soni
Distributed shared memory shyam soniShyam Soni
 
Transparency - The Double-Edged Sword
Transparency - The Double-Edged SwordTransparency - The Double-Edged Sword
Transparency - The Double-Edged SwordAcando Consulting
 
Distributed & parallel system
Distributed & parallel systemDistributed & parallel system
Distributed & parallel systemManish Singh
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed SystemsRupsee
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systemskaran2190
 

Viewers also liked (17)

Consistency in Distributed Systems
Consistency in Distributed SystemsConsistency in Distributed Systems
Consistency in Distributed Systems
 
The elements of scale
The elements of scaleThe elements of scale
The elements of scale
 
Scaling Scribd
Scaling ScribdScaling Scribd
Scaling Scribd
 
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...
 
Distributed systems and consistency
Distributed systems and consistencyDistributed systems and consistency
Distributed systems and consistency
 
Distributed System Management
Distributed System ManagementDistributed System Management
Distributed System Management
 
Consistency Models in New Generation Databases
Consistency Models in New Generation DatabasesConsistency Models in New Generation Databases
Consistency Models in New Generation Databases
 
Scaling up food safety information transparency
Scaling up food safety information transparencyScaling up food safety information transparency
Scaling up food safety information transparency
 
3. distributed file system requirements
3. distributed file system requirements3. distributed file system requirements
3. distributed file system requirements
 
3. challenges
3. challenges3. challenges
3. challenges
 
Client-centric Consistency Models
Client-centric Consistency ModelsClient-centric Consistency Models
Client-centric Consistency Models
 
Distributed shared memory shyam soni
Distributed shared memory shyam soniDistributed shared memory shyam soni
Distributed shared memory shyam soni
 
message passing
 message passing message passing
message passing
 
Transparency - The Double-Edged Sword
Transparency - The Double-Edged SwordTransparency - The Double-Edged Sword
Transparency - The Double-Edged Sword
 
Distributed & parallel system
Distributed & parallel systemDistributed & parallel system
Distributed & parallel system
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
 

Similar to Process Management Techniques in Distributed Systems

Cs 704 d aos-resource&processmanagement
Cs 704 d aos-resource&processmanagementCs 704 d aos-resource&processmanagement
Cs 704 d aos-resource&processmanagementDebasis Das
 
Operating system Interview Questions
Operating system Interview QuestionsOperating system Interview Questions
Operating system Interview QuestionsKuntal Bhowmick
 
Chapter -2 operating system presentation
Chapter -2 operating system presentationChapter -2 operating system presentation
Chapter -2 operating system presentationchnrketan
 
Intro Basic of OS .ppt
Intro Basic of OS .pptIntro Basic of OS .ppt
Intro Basic of OS .pptVarsha506533
 
Week 11Linux InternalsProcesses, schedulingLecture o.docx
Week 11Linux InternalsProcesses, schedulingLecture o.docxWeek 11Linux InternalsProcesses, schedulingLecture o.docx
Week 11Linux InternalsProcesses, schedulingLecture o.docxmelbruce90096
 
Process & Thread Management
Process & Thread  ManagementProcess & Thread  Management
Process & Thread ManagementVpmv
 
Processes and operating systems
Processes and operating systemsProcesses and operating systems
Processes and operating systemsRAMPRAKASHT1
 
Ch2_Processes_and_process_management_1.ppt
Ch2_Processes_and_process_management_1.pptCh2_Processes_and_process_management_1.ppt
Ch2_Processes_and_process_management_1.pptMohammad Almuiet
 
Operating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - EngineeringOperating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - EngineeringYogesh Santhan
 
Introduction to Operating System (Important Notes)
Introduction to Operating System (Important Notes)Introduction to Operating System (Important Notes)
Introduction to Operating System (Important Notes)Gaurav Kakade
 
Process management
Process managementProcess management
Process managementBirju Tank
 
Operating system interview question
Operating system interview questionOperating system interview question
Operating system interview questionsriram saravanan
 

Similar to Process Management Techniques in Distributed Systems (20)

Task migration in os
Task migration in osTask migration in os
Task migration in os
 
Cs 704 d aos-resource&processmanagement
Cs 704 d aos-resource&processmanagementCs 704 d aos-resource&processmanagement
Cs 704 d aos-resource&processmanagement
 
Operating system Interview Questions
Operating system Interview QuestionsOperating system Interview Questions
Operating system Interview Questions
 
Processing management
Processing managementProcessing management
Processing management
 
Os
OsOs
Os
 
Process Management
Process ManagementProcess Management
Process Management
 
Chapter -2 operating system presentation
Chapter -2 operating system presentationChapter -2 operating system presentation
Chapter -2 operating system presentation
 
Intro Basic of OS .ppt
Intro Basic of OS .pptIntro Basic of OS .ppt
Intro Basic of OS .ppt
 
Process
ProcessProcess
Process
 
Week 11Linux InternalsProcesses, schedulingLecture o.docx
Week 11Linux InternalsProcesses, schedulingLecture o.docxWeek 11Linux InternalsProcesses, schedulingLecture o.docx
Week 11Linux InternalsProcesses, schedulingLecture o.docx
 
Process & Thread Management
Process & Thread  ManagementProcess & Thread  Management
Process & Thread Management
 
Process migration and load balancing
Process migration and load balancingProcess migration and load balancing
Process migration and load balancing
 
Processes and operating systems
Processes and operating systemsProcesses and operating systems
Processes and operating systems
 
OS (1).pptx
OS (1).pptxOS (1).pptx
OS (1).pptx
 
Ch2_Processes_and_process_management_1.ppt
Ch2_Processes_and_process_management_1.pptCh2_Processes_and_process_management_1.ppt
Ch2_Processes_and_process_management_1.ppt
 
Operating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - EngineeringOperating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - Engineering
 
Introduction to Operating System (Important Notes)
Introduction to Operating System (Important Notes)Introduction to Operating System (Important Notes)
Introduction to Operating System (Important Notes)
 
Process management
Process managementProcess management
Process management
 
Operating system interview question
Operating system interview questionOperating system interview question
Operating system interview question
 
scheduling
schedulingscheduling
scheduling
 

More from Ashish Kumar

Computer architecture
Computer architecture Computer architecture
Computer architecture Ashish Kumar
 
Introduction vision
Introduction visionIntroduction vision
Introduction visionAshish Kumar
 
Introduction image processing
Introduction image processingIntroduction image processing
Introduction image processingAshish Kumar
 
Image pre processing-restoration
Image pre processing-restorationImage pre processing-restoration
Image pre processing-restorationAshish Kumar
 
Image pre processing
Image pre processingImage pre processing
Image pre processingAshish Kumar
 
Image pre processing - local processing
Image pre processing - local processingImage pre processing - local processing
Image pre processing - local processingAshish Kumar
 
Enhancement in spatial domain
Enhancement in spatial domainEnhancement in spatial domain
Enhancement in spatial domainAshish Kumar
 
Enhancement in frequency domain
Enhancement in frequency domainEnhancement in frequency domain
Enhancement in frequency domainAshish Kumar
 
Digitized images and
Digitized images andDigitized images and
Digitized images andAshish Kumar
 
Introduction image processing
Introduction image processingIntroduction image processing
Introduction image processingAshish Kumar
 
video compression techique
video compression techiquevideo compression techique
video compression techiqueAshish Kumar
 
online game over cryptography
online game over cryptographyonline game over cryptography
online game over cryptographyAshish Kumar
 

More from Ashish Kumar (20)

Computer architecture
Computer architecture Computer architecture
Computer architecture
 
Lecture2 color
Lecture2 colorLecture2 color
Lecture2 color
 
Introduction vision
Introduction visionIntroduction vision
Introduction vision
 
Introduction image processing
Introduction image processingIntroduction image processing
Introduction image processing
 
Image pre processing-restoration
Image pre processing-restorationImage pre processing-restoration
Image pre processing-restoration
 
Image pre processing
Image pre processingImage pre processing
Image pre processing
 
Image pre processing - local processing
Image pre processing - local processingImage pre processing - local processing
Image pre processing - local processing
 
Enhancement in spatial domain
Enhancement in spatial domainEnhancement in spatial domain
Enhancement in spatial domain
 
Enhancement in frequency domain
Enhancement in frequency domainEnhancement in frequency domain
Enhancement in frequency domain
 
Digitized images and
Digitized images andDigitized images and
Digitized images and
 
Data structures
Data structuresData structures
Data structures
 
Lecture2 light
Lecture2 lightLecture2 light
Lecture2 light
 
color
colorcolor
color
 
Introduction image processing
Introduction image processingIntroduction image processing
Introduction image processing
 
system design
system designsystem design
system design
 
video compression techique
video compression techiquevideo compression techique
video compression techique
 
Compression
CompressionCompression
Compression
 
1.animation
1.animation1.animation
1.animation
 
online game over cryptography
online game over cryptographyonline game over cryptography
online game over cryptography
 
MHEG
MHEGMHEG
MHEG
 

Recently uploaded

Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
CHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptxCHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptxAneriPatwari
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6Vanessa Camilleri
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfChristalin Nelson
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesVijayaLaxmi84
 
ARTERIAL BLOOD GAS ANALYSIS........pptx
ARTERIAL BLOOD  GAS ANALYSIS........pptxARTERIAL BLOOD  GAS ANALYSIS........pptx
ARTERIAL BLOOD GAS ANALYSIS........pptxAneriPatwari
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17Celine George
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
CHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptxCHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptx
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdf
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their uses
 
ARTERIAL BLOOD GAS ANALYSIS........pptx
ARTERIAL BLOOD  GAS ANALYSIS........pptxARTERIAL BLOOD  GAS ANALYSIS........pptx
ARTERIAL BLOOD GAS ANALYSIS........pptx
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 

Process Management Techniques in Distributed Systems

  • 2. Introduction  In conventional (centralized) operating system, process management deals with mechanisms and policies for sharing the processor of the system among all processes.  In a distributed operating system, the main goal of process management is to make the best possible use of the processing resources of the entire system by sharing them among all processes.  Three important concepts are used to achieve this goal: -Processor allocation -Process migration -Threads 2
  • 3. Cont…  Process allocation deals with the process of deciding which process should be assigned to which processor.  Process migration deals with the movement of a process from its current location to the processor to which it has been assigned.  Threads deals with fine-grained parallelism for better utilization of the processing capability of the system. 3
  • 4. Process Migration  Relocation of a process from its current location to another node.  Process may be migrated  either before it start executing on its source node  known as non-preemptive process migration.  or during the course of its execution  Known as preemptive process migration. 4
  • 5. Cont… : Flow of execution of a migration process Source node Destination node Time Process P1 in execution Execution suspended Transfer of control Freezing time Execution resumed Process p1 in execution 5
  • 6. Cont…  Preemptive process migration is costlier.  Process Migration Policy  Selection of a process that should be migrated.  Selection of the destination node to which the selected process should be migrated.  Process Migration Mechanism  Actual transfer of the selected process to the destination node. 6
  • 7. Desirable features of a good process migration mechanism  Transparency  Minimal Interference  Minimal Residual Dependencies  Efficiency  Robustness  Communication between coprocesses of a job 7
  • 8. Transparency Level of transparency:  Object Access Level  System Call & Interprocess Communication level 8
  • 9. Cont… : Object Access level Transparency  Minimum requirement for a system to support non- preemptive process migration facility.  Access to objects such as files and devices can be location independent.  Allows free initiation of program at arbitrary node.  Requires transparent object naming and locating. 9
  • 10. Cont… : System Call & IPC level  For migrated process, system calls should be location independent.  For transparent redirection of messages during the transient state of a process.  Transparency must be provided to support preemptive process migration facility. 10
  • 11. Minimal Interference  Migration of a process should cause minimal interference of progress of the process involved.  Achieve by minimizing the freezing time of the process being migrated.  Freezing time is the time period for which the execution of the process is stopped for transferring its information to the destination node. 11
  • 12. Minimal Residual Dependencies  No residual dependency should be left on previous node. 12
  • 13. Efficiency  Minimum time required for migrating a process.  Minimum cost of locating an object.  Minimum cost of supporting remote execution once the process is migrated. 13
  • 14. Robustness  The failure of a node other than the one on which a process is currently running should not in any way affect the accessibility or execution of that process. 14
  • 15. Communication between coprocessors of a job  To reduce communication cost, it is necessary that coprocesses are able to directly communicate with each other irrespective of their locations. 15
  • 16. Process Migration Mechanisms Four major activities  Freezing the process on its source node and restarting it on its destination node.  Transferring the process’s address space from its source node to its destination node.  Forwarding massages meant for the migrant process.  Handling communication between cooperating processes that have been separated as a result of process migration. 16
  • 17. Cont… : Mechanisms for Freezing and Restarting a Process  Freezing the process:  The execution of the process is suspended and all external interactions with the process are deferred.  Issues:  Immediate and delayed blocking of the process  Fast and slow I/O operations  Information about open files  Reinstating the process on its Destination node 17
  • 18. Cont… :Immediate and delayed blocking of the process  If the process is not executing a system call, it can be immediately blocked from further execution.  If the process is executing a system call but is sleeping at an interruptible priority waiting for a kernel event to occur, it can be immediately blocked from further execution.  If the process is executing a system call but is sleeping at an non-interruptible priority waiting for a kernel event to occur, it cannot be blocked immediately. 18
  • 19. Cont… : Fast and Slow I/O Operations  Process is frozen after the completion of all fast I/O operations like disk access.  Slow I/O operation (pipe or terminal) is done after process migration and when process is executed on destination node. 19
  • 20. Cont… : Information about open files  Includes name and identifier of the file, their access modes and the current positions of their file pointers.  OS returns a file descriptor to process that is used for all I/O.  It is necessary to somehow preserve a pointer to the file so that migrated process could continue to access it. 20
  • 21. Cont…  Approaches :  Link is created to the file and the pathname of the link is used as an access point to the file after the process migrates.  An open file’s complete pathname is reconstructed when required by modifying the kernel.  Keeping Track of file replicas. 21
  • 22. Cont… : Reinstating the process on its Destination Node  On the destination node, an empty process state is created.  Newly allocated process may or may not have the same process identifier as the migrating process. 22
  • 23. Cont…  Once all the state of the migrating process has been transferred from the source to destination node and copied into the empty state, new copy of the process is unfrozen and old copy is deleted.  The process is restarted on its destination node in whatever state it was in before being migrated. 23
  • 24. Address Space Transfer Mechanisms  The migration of a process involves the transfer of  Process’s state  Process’s address space from the source node to the destination node. 24
  • 25. Cont…  Process State consists of  Execution Status – Register Contents  Memory Tables  I/O State : I/O Queue, I/O buffers, Interrupts  Capability list  Process’s Identifier  Process’s user and group identifier  Information about Open Files 25
  • 26. Cont…  Process address space  code,  data and  program stack  The size of the process’s address space (several megabytes) overshadows the size of the process’s state information (few kilobytes). 26
  • 27. Cont…  Mechanisms for address space transfer:  Total freezing  Pretransferring  Transfer on reference 27
  • 28. Cont… : Total Freezing  A process’s execution is stopped while its address space is being transferred.  Disadvantage:  Process is suspended for long time during migration, timeouts may occur, and if process is interactive, the delay will be noticed by the user. 28
  • 29. Cont… Source Destination node node Time Migration Execution decision made suspended Transfer of Freezing time address space Execution resumed 29
  • 30. Cont … : Pretransferring  Also known as precopying.  The address space is transferred while the process is still running on the source node.  It is done as an initial transfer of the complete address space followed by repeated transfers of the page modified during the previous transfer. 30
  • 31. Cont …  The pretransfer operation is executed at a higher priority than all other programs on the source node.  Reduces the freezing time of the process but it may increase the total time for migrating due to the possibility of redundant page transfers. 31
  • 32. Cont… Source Destination node node Time Migration decision made Execution Transfer of suspended address space Freezing time Execution resumed 32
  • 33. Cont… : Transfer on Reference  The process address space is left behind on its source node, and as the relocated process executes on its destination node.  Attempts to reference memory page results in the generation of requests to copy in the desired blocks from their remote location.  A page is transferred from its source node to its destination node only when referenced. 33
  • 34. Cont…  Very short switching time of the process from its source node to its destination node.  Imposes a continued load on the process’s source node and results in the process if source node fails or is rebooted. 34
  • 35. Cont… Source Destination node node Time Execution Migration suspended decision made Freezing time Execution resumed On-demand transfer of address space 35
  • 36. Message-forwarding Mechanisms  In moving a process, it must be ensured that all pending, re-route, and future messages arrive at the process’s new location.  Types of messages: 1. Messages received at the source node after the process’s execution has been stopped on its source node and the process’s execution has not yet been started on its destination node. 2. Messages received at the source node after the process’s execution has started on its destination node. 3. Messages that are to be sent to the migrant process from any other node after it has started executing on the destination node. 36
  • 37. Cont…  Mechanisms:  Mechanism of resending the message  Origin site mechanism  Link traversal mechanism  Link update mechanism 37
  • 38. Cont… : Mechanisms of resending the message  Messages of the types 1 and 2 are returned to the sender as not deliverable or are simply dropped, with the assurance that the sender of the message is storing a copy of the data and is prepared to retransmit it.  Does not require any process state to be left behind on the process’s source node. 38
  • 39. Cont…  Disadvantage:  The message forwarding mechanism of process migration operation is nontransparent to the processes interacting with the migrant process. 39
  • 40. Cont… : Origin Site Mechanism  Each site is responsible for keeping information about the current locations of all the processes created on it.  Messages for a particular process are always first sent to its origin site.  The origin site then forwards the message to the process’s current location. 40
  • 41. Cont…  Disadvantage:  Failure of the origin site will disrupt the message forwarding mechanism.  Continuous load on the migrant process’s origin site even after the process has migrated from that node. 41
  • 42. Cont… : Link Traversal Mechanism  To redirect message type 1, a message queue for the migrant process is created on its source node.  For 2 and 3 type message, a forwarding address known as link is left at the source node pointing to the destination of the migrant process.  Two component of link, one is unique process identifier and second is last known location. 42
  • 43. Cont…  Disadvantage:  Several link may have to be traversed to locate a process from a node and if any node in chain of link fails, the process cannot be located. 43
  • 44. Cont… : Link Update Mechanisms  During the transfer phase of the migrant process, the source node sends link-update messages to the kernels controlling all of the migrant process’s communication partners.  Link update message  Tells the new address of each link held by the migrant process.  Acknowledged for synchronization purposes. 44
  • 45. Mechanisms for Handling Coprocesses  To provide efficient communication between a process and its sub processes which might have been migrated on different nodes.  Mechanisms :  Disallowing separation of coprocesses.  Home node or origin site concept. 45
  • 46. Cont… : Disallowing Separation of coprocesses  Easiest method of handling communication between coprocesses is to disallow their separation.  Methods :  By disallowing the migration of processes that wait for one or more of their children to complete.  By ensuring that when a parent process migrates, its children process will be migrated along with it. 46
  • 47. Cont…  Disadvantage:  It does not allow the use of parallelism within jobs. 47
  • 48. Cont… : Home node or Origin Sites Concept  Used for communication between a process and its sub process when the two are running on different nodes.  Allows the complete freedom of migrating a process or its sub process independently and executing them on different nodes of the system. 48
  • 49. Cont…  Disadvantage:  All communication between a parent process and its children processes take place via the home node.  The message traffic and the communication cost increase considerably. 49
  • 50. Process Migration in Heterogeneous Systems  All the concerned data must be translated from the source CPU format to the destination CPU format before it can be executed on the destination node.  A heterogeneous system having n CPU types must have n(n-1) pieces of translation software.  Handles problem of different data representations such as characters, integers and floating-point numbers. 50
  • 51. Cont… 1 Processor of Processor of type 1 4 type 2 3 10 5 8 11 7 6 2 Processor of 9 Processor of type 3 type 4 12 Example: The need for 12 pieces of translation software required in a heterogeneous system having 4 types of processors 51
  • 52. Cont… Processor of type 1 1 2 8 3 Processor of External data Processor of type 4 representation type 2 4 7 5 6 Processor of type 3 Example: The need for only 8 pieces of translation software in a heterogeneous system having 4 types of processors when the EDR mechanism is used 52
  • 53. Cont… : Handling Exponent  The number of bits for the exponent varies from processor to processor.  The EDR have at least as many bits in the exponent as the largest exponent.  Overflow or underflow can be managed upon conversion from the external data representation. 53
  • 54. Cont…  Some solutions:  Ensuring that numbers used by the programs that migrate have a smaller exponent value than the smallest processor’s exponent value in the system.  Emulating the larger processor’s value.  Restricting the migration of the process to only those nodes whose processor’s exponent representation is at least as large as that of the source node’s processor. 54
  • 55. Cont… : Handling the Mantissa  Suppose processor A uses 32 bits and processor B uses 64 bits.  No problem from A to B migration.  Half-Precision problem from B to A migration.  Solution:  The external data representation must have sufficient precision to handle the largest mantissa. 55
  • 56. Cont…  Problem:  Loss of precision due to multiple migrations.  Solution:  Remote computations can be viewed as ‘extra precision’ calculation. 56
  • 57. Advantages of Process Migration  Reducing average response time of processes  To reduce the average response time of the processes, processes of a heavily loaded node are migrated to idle or underutilized nodes.  Speeding up individual jobs  A migration of job to different node is done and execute them concurrently.  Migrate a job to a node having a faster CPU or to a node at which it has minimum turnaround time.  More speed up more migration cost involved. 57
  • 58. Cont…  Gaining higher throughput  Process migration facility may also be used properly to mix I/O and CPU-bound processes on a global basis for increasing the throughput of the system.  Utilizing resources effectively  Depending upon the nature of a process, it can be migrated to suitable node to utilize the system resource in the most efficient manner. 58
  • 59. Cont…  Reducing network traffic  Migrating a process closer to the resources it is using most heavily.  Improving system reliability  Migrate a copy of a critical process to some other node and to execute both the original and copied processes concurrently on different nodes.  Improving system security  A sensitive process may be migrated and run on a secure node. 59
  • 60. Process  A basic unit of CPU utilization in traditional OS.  A program in execution.  Defines a data space.  Has its own program counter, its own register states, its own stack and its own address space.  Has at least one associated thread.  Unit of distribution. 60
  • 61. Threads  It is a basic unit of CPU utilization used for improving a system performance through parallelism.  A process consist of an address space and one or more threads of control.  Threads share same address space but having its own program counter, register states and its own stack.  Less protection due to the sharing of address space. 61
  • 62. Cont…  On a uniprocessor, threads run in quasi-parallel (time sharing), whereas on a shared-memory multiprocessor, as many threads can run simultaneously as there are processors.  States of Threads:  Running, blocked, ready, or terminated.  Threads are viewed as miniprocesses. 62
  • 63. Threads Address space Address space Thread Thread Thread Thread (a) Single-threaded (b) Multithreaded processes 63
  • 64. Motivations for using Threads  Overheads involved in creating a new process is more than creating a new thread.  Context switching between threads is cheaper than processes due to their same address space.  Threads allow parallelism to be combined with sequential execution and blocking system calls.  Resource sharing can be achieved more efficiently and naturally between threads due to same address space. 64
  • 65. Different models to construct a server process: As a single-thread process  Use blocking system calls but without any parallelism.  If a dedicated machine is used for the file server, the CPU remains idle while the file server is waiting for a reply from the disk space.  No parallelism is achieved in this method and fewer client requests are processed per unit of time. 65
  • 66. Cont… : As a finite state machine  Model support parallelism but with nonblocking system calls.  Implemented as a single threaded process and is operated like a finite state machine.  An event queue is maintained for request & reply.  During time of a disk access, it records current state in a table & fetches next request from queue.  When a disk operation completes, the appropriate piece of client state must be retrieved to find out how to continue carrying out the request. 66
  • 67. Cont… : As a group of threads  Supports parallelism with blocking system calls.  Server process is comprised of a single dispatcher thread and multiple worker threads.  Dispatcher thread keeps waiting in a loop for request from the clients.  A server process designed in this way has good performance and is also easy to program. 67
  • 68. Models for organizing threads  Dispatcher-workers model  Team model  Pipeline model 68
  • 69. Cont… : Dispatcher-worker model  Single dispatcher thread and multiple worker threads.  Dispatcher thread accepts requests from clients and after examining the request, dispatches the request to one of the free worker threads for further processing of the request.  Each worker thread works on a different client request. 69
  • 70. Cont… Requests A Server process for Port processing incoming requests Dispatcher Thread Worker Worker Worker Thread Thread Thread 70
  • 71. Cont… : Team Model  There is no dispatcher-worker relationship for processing clients requests.  Each thread gets and processes clients’ requests on its own.  Each thread of the process is specialized in servicing a specific type of request.  Multiple types of requests can be simultaneously handled by the process. 71
  • 72. Cont… Requests Port A Server process for processing incoming requests that may be of three different types, each type1 types of request being handled type3 type2 by a different thread. Thread Thread Thread 72
  • 73. Cont… : Pipeline Model  Useful for application based on the producer- consumer model.  The threads of a process are organized as a pipeline so that the output data generated by the first thread is used for processing by the second thread and so on. 73
  • 74. Cont… Requests A Server process for processing incoming requests, each request processed in three steps, each Port step handled by a different thread and output of one step as input to the next step Thread Thread Thread 74
  • 75. Issues in designing a Thread Package 1. Threads creation 2. Thread termination 3. Threads synchronization 4. Threads scheduling 5. Signal handling 75
  • 76. Threads Creation  Created either statically or dynamically.  Static approach:  Threads remain fixed for its entire lifetime.  Fixed stack is allocated to each thread.  No. of threads of a process is decided at the time of writing a program or during compilation.  Dynamic approach:  Number of threads changes dynamically. 76
  • 77. Threads Termination  A thread may either destroy itself when it finishes its job by making an exit call or  be killed from outside by using the kill command and specifying the thread identifier as its parameter. 77
  • 78. Threads Synchronization  Threads share a common address space, so it is necessary to prevent multiple threads from trying to access the same data simultaneously.  Mechanism for threads synchronization:  Use of global variable within the process.  mutex variable and condition variable. 78
  • 79. Cont…  Segment of code in which a thread may be accessing some shared variable is called a critical region.  Two commonly used mutual exclusion techniques in a threads package are mutex variables and condition variables. 79
  • 80. Cont…  Mutex have only 2 states, hence simple to implement.  Condition variable associated with mutex variable & reflects Boolean state of that variable.  Condition – wait and signal operation. 80
  • 81. Cont… Thread1 Thread2 Lock (mutex_A) Lock (mutex_A) fails succeeds Wait (A_free) Critical region (uses shared resource A) Blocked state Unlock (mutex_A) Signal (A_free) Lock (mutex_A) succeeds Mutex_A is a mutex variable for exclusive use of shared resource A. A_free is a condition variable for resource A to become free. 81
  • 82. Threads Scheduling  Special features for threads scheduling : 1. Priority assignment facility 2. Flexibility to vary quantum size dynamically 3. Handoff scheduling 4. Affinity scheduling 82
  • 83. Cont… : Priority assignment facility  Threads are scheduled on the first-in, first-out basis or the round-robin policy is used.  Used to timeshares the CPU cycles.  To provide more flexibility priority is assigned to the various threads of the applications.  Priority thread maybe non-preemptive or preemptive. 83
  • 84. Cont… : Flexibility to vary quantum size dynamically  Use of round-robin scheduling scheme.  Varies the size of fixed-length time quantum to timeshare the CPU cycle among the threads.  Not suitable for multiprocessor system.  Gives good response time to short requests, even on heavily loaded systems.  Provides high efficiency on lightly loaded systems. 84
  • 85. Cont… : Handoff Scheduling  Allows a thread to name its successor if it wants to.  Provides flexibility to bypass the queue of runnable threads and directly switch the CPU to the thread specified by the currently running thread. 85
  • 86. Cont… : Affinity scheduling  A thread is scheduled on the CPU it last ran on in hopes that part of its address space is still in that CPU’s cache.  Gives better performance on a multiprocessor system. 86
  • 87. Signal handling  Signals provide software-generated interrupts and exceptions.  Issues :  A signal must be handled properly no matter which thread of the process receives it.  Signals must be prevented from getting lost. 87
  • 88. Cont…  Approach:  Create a separate exception handler thread in each process.  Assign each thread its own private global variables for signaling conditions. 88
  • 89. Thread Implementation  Often provided in form of a thread package.  Two important approaches:  First is to construct thread library that is entirely executed in user mode.  Second is to have the kernel be aware of threads and schedule them. 89
  • 90. User level threads  It is cheap to create and destroy threads.  Cost of creating or destroying thread is determined by the cost for allocating memory to set up a thread stack.  Switching thread context is done in few instructions.  Only CPU registers need to be stored & subsequently reloaded with the previously stored values of the thread to which it is being switched.  There is no need to change memory maps, flush the TLB, do CPU accounting etc. 90
  • 91. Cont…  Drawback: Invocation of a blocking system call will immediately block the entire process to which the thread belongs. 91
  • 92. User and Kernel Level  Threads are useful to structure large application into parts that could be logically executed at the same time.  In user level thread, blocking on I/O does prevent other parts to be executed in the meantime.  This can be circumvented by implementing threads in the OS Kernel. 92
  • 93. Cont…  Price: Every thread operation will have to be carried out by kernel requiring system calls. Hence benefits of using threads disappear. 93
  • 94. Implementing a Threads Package User-level approach  Consists of a runtime system that is a collection of threads management routines.  Threads run in the user space on the top of the runtime system and are managed by it.  System maintains a status information table having one entry per thread.  Two-level scheduling is preformed in this approach. 94
  • 95. Cont… : User level Processes and their threads User space Runtime system (maintain threads status info.) Kernel Kernel space (maintains processes status info.) 95
  • 96. Cont… Kernel-level approach  No runtime system is used and threads are managed by the kernel.  Threads status info. table maintained within kernel.  Single-level scheduling is used in this approach.  All calls that might block a thread are implemented as system calls that trap to the kernel. 96
  • 97. Cont… : Kernel level User space Processes and their threads Kernel space Kernel (maintains threads status info.) 97
  • 98. Cont… Advantages of the approaches  User-level approach can be implemented on top of an existing OS that does not support threads.  In user-level approach due to use of two-level scheduling, users have the flexibility to use their own customized algorithm to schedule the threads of a process.  Switching the context from one thread to another is faster in the user-level approach than in the kernel approach.  No status information cause poor scalability in the kernel as compared to the user-level approach. 98
  • 99. Cont… Disadvantages of the approaches:  Since there is no clock interrupt within a single process, so once CPU is given to a thread to run, there is no way to interrupt it.  To solve this runtime system can request a clock interrupt after every fixed unit of time 99