Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Question 2

The major issues of user-level threads is that invocation of a blocking system call will
immediately block the entire process to which the thread belongs, and thus also all the other
threads in that process. As we know, threads are particularly useful to structure large applications
into parts that could be logically executed at the same time. In that case, blocking on I/O should
not prevent other parts to be executed in the meantime. For such applications, user level threads
are of no help.

A user-level thread library has a number of advantages. First, it is cheap to create and destroy
threads. Because all thread administration is kept in the user's address space, the price of creating
a thread is primarily determined by the cost for allocating memory to set up a thread stack

Question 3
Code migration helps to improve performance by exploiting parallelism, but without the usual
intricacies related to parallel programming. One of the common example is searching for
information in the Web. Besides improving performance, there are other reasons for supporting
code migration as well. The most important one is that of flexibility. The traditional approach to
building distributed applications is to partition the application into different parts, and decide in
advance where each part should be executed. This approach, for example, has led to the different
multitiered client-server applications discussed. If code can move between different machines, it
becomes possible to dynamically configure distributed systems. For example, suppose a server
implements a standardized interface to a file system. To allow remote clients to access the file
system, the server makes use of a proprietary protocol. Normally, the client-side implementation
of the file system interface, which is based on that protocol, would need to be linked with the
client application. This approach requires that the software be readily available to the client at the
time the client application is being developed.

Question 1
 Every distributed computer system offers a programming interface to higher level
software.
 Virtualization deals with extending or replacing an existing interface so as to mimic the
behavior of another system.

Advantages:

virtualization doesn’t require actual hardware components to be used or installed, IT


infrastructures find it to be a cheaper system to implement. It reduces the workload most
virtualization providers automatically update their hardware and software that will be
utilized. Deployment of resource is fast and simple when virtualization is being used.
Virtualization can help a lot the diversity of platforms and machines can be reduced by
essentially letting each application run on its own virtual machine. Virtualization provides a
high degree of portability and flexibility.

Shortcomings:

Virtualization can coat high in implementation the providers of a virtualization environment,


however, the implementation costs can be quite high. Hardware and software are required at
some point and that means devices must either be developed, manufactured, or purchased for
implementation. When several virtual machines are running on the same host, performance
maybe hindered if the computer it’s running on lacks sufficient power. Huge use of disk
space, since it takes all the files for each system installed on each virtual machine.

limitations.
Not every application or server is going to work within an environment of virtualization. That
means an individual or corporation may require a hybrid system to function properly. This still
saves time and money in the long run, but since not every vendor supports virtualization and
some may stop supporting it after initially starting it, there is always a level of uncertainty when
fully implementing this type of system.
Random is efficient as compare to flooding

You might also like