Unit 3
Unit 3
• To keep track of these virtual processors, the operating system has a process table, containing
entries to store CPU register values, memory maps, open files, accounting information, privileges,
etc.
• A process is often defined as a program in execution, that is, a program that is currently being
executed on one of the operating system's virtual processors.
• In other words, the fact that multiple processes may be concurrently sharing the same CPU and
other hardware resources is made transparent.
• Second, because threads are not automatically protected against each other,
development of multithreaded applications requires additional intellectual effort.
• The first approach is to construct a thread library that is executed entirely in user
mode, called User Level Threads (ULT).
• The second approach is to have the kernel be aware of threads and schedule them,
called Kernel Level Threads (KLT).
• Temporarily Valid
• Change with every location change and is only valid as long as the
host remains in certain guest network.
• Mobile host receives second IP address upon registration in new
network and communicate it promptly to a specific agent(Router in
home network).
• Strong Migration
The code segment and execution segment can be transferred.
Features:
✓ a running process can be stopped, subsequently moved to another machine, and
then resume execution.
✓ more general than weak mobility
✓ harder to implement
Models for Migrating Code
• sender-initiated migration
uploading programs to a compute server
• sending a search/query program across the Internet to a Web database server
to perform the queries at that server.
• receiver-initiated migration
Downloading code from server by a client
• Java applets are an example of this approach. (i.e. Java applets)
Models for Migrating Code
Migration and Local Resources
• So far, only the migration of the code and execution segment has
been taken into account. The resource segment requires some
special attention. What often makes code migration so difficult is
that:
• the resource segment cannot always be simply transferred along with
the other segments without being changed.
Resources Migration
• Depends on type of “resources”
• By Identifier: Specific website, ftp server
• By Value: Java Libraries
• By Type: Printer, Local devices
Actions to be taken with respect to the references to local resources when migrating code to another machine.
Migrating Code in Heterogeneous
Systems
• So far, we have assumed that the migrated code can be easily
executed at the target machine. This assumption is in order when
dealing with homogeneous system.
• In general, however, distributed systems are constructed on a
heterogeneous collection of platforms, each having their own
operating system and machine architecture. Migration in such
systems requires that each platform is supported, that is, that the
code segment can be executed on each platform.
Migrating Code in Heterogeneous
Systems
• Is more complex.
• Requires code portability.
• A virtual machine approach is used.
• Weak mobility is easier
• In strong mobility it is necessary to handle the execution segment.
• A migration stack is used.