Intr To Cloud Prep

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Cloud Virtualization:

Cloud virtualization is a technology that allows multiple virtual machines (VMs) or


containers to run on a single physical server. It enables efficient resource utilization,
isolation, and flexibility in cloud computing environments.

Advantages:
 Virtualization allows for better utilization of physical resources. Multiple virtual
machines can run on a single physical server, reducing hardware costs.
 Each virtual machine operates independently, providing isolation from other VMs on
the same host. This enhances security and stability.
 Virtualization makes it easier to allocate and reallocate resources to VMs, allowing
for dynamic scaling based on demand.
 Virtual machines are not tied to specific hardware, allowing for easier migration
between different physical servers.
Disadvantages:
 here is a slight performance overhead due to the hypervisor layer, which manages
the virtualization. This can impact performance-sensitive applications.
 In a shared environment, if one VM consumes excessive resources, it can potentially
affect the performance of other VMs on the same host.
 Managing a virtualized environment can be more complex than managing physical
servers, especially in large-scale deployments.
 If the hypervisor or host server fails, it can potentially affect multiple VMs running on
that host.
 Depending on the virtualization platform, there may be licensing costs associated
with using virtualization technology.

Conditions for dead lock:


1. Mutual Exclusion: This means that only one processor can use the resource at a
time. If another processor requests the resource, it must wait until the resource is
released.
2. No Pre-emption: Resources cannot be forcibly taken away from a process; they must
be explicitly released by the process holding them.
3. Hold and Wait: A process must be holding at least one resource and waiting for
resources that are currently acquired by other processes. This means that a process
can retain a resource and request additional resources.
4. Circular wait: There must be a circular chain of two or more processes, each of
which is waiting for a resource held by the next process in the chain.

Methods to handle Dead Lock:


1. Deadlock ignorance(ostrich method): In the Deadlock ignorance method the OS acts
like the deadlock never occurs and completely ignores it even if the deadlock occurs.
This method only applies if the deadlock occurs very rarely. The algorithm is very
simple. It says ” if the deadlock occurs, simply reboot the system and act like the
deadlock never occurred.” That’s why the algorithm is called the Ostrich Algorithm.
Linux and windows use this technology to avoid deadlock.
2. Deadlock prevention: The strategy of deadlock prevention is to design the system
in such a way that the possibility of deadlock is excluded. The indirect methods
prevent the occurrence of one of three necessary conditions of deadlock i.e.,
mutual exclusion, no pre-emption, and hold and wait.
3. Deadlock avoidance: The deadlock avoidance Algorithm works by proactively
looking for potential deadlock situations before they occur. It does this by tracking
the resource usage of each process and identifying conflicts that could potentially
lead to a deadlock. If a potential deadlock is identified, the algorithm will take steps
to resolve the conflict, such as rolling back one of the processes or pre-emptively
allocating resources to other processes.
4. Deadlock detection and recovery: Deadlock detection is used by employing an
algorithm that tracks the circular waiting and kills one or more processes so that the
deadlock is removed.

Semaphore:
A semaphore is a synchronization primitive used in concurrent programming to control
access to a shared resource.
A semaphore is associated with an integer value, often referred to as the "count" or
"counter." This integer can be either non-negative or unbounded, depending on the type of
semaphore.

Down(Semaphore s){
s.value=s.value-1;
if(s.value<0){
put prcess(PCB) in suspended list,sleep();
}
Else
Return ;
}

Up(Semaphore s){
s.value=s.value+1;
if(s.value<=0){
select a process in suspended list
wakeup();

}
Basic Ideas of Cloud Computing Platforms:
 On-Demand Service: Cloud services can be quickly provisioned and de-provisioned as
needed, allowing users to scale resources up or down based on demand.

 Broad Network Access: Cloud services are accessible over the internet from various
devices, such as laptops, tablets, smartphones, etc.

 Resource Pooling: Cloud providers use multi-tenant models, where multiple users
share the same physical infrastructure. Resources are dynamically allocated and
reassigned based on demand.

 Rapid Elasticity: Cloud resources can be rapidly scaled to accommodate changes in


demand. This allows for flexibility and cost efficiency.

 Measured Service: Cloud resources usage can be monitored, controlled, and


reported, providing transparency for both the provider and consumer.

 Self-Service: Users can provision and manage computing resources without requiring
human intervention from the service provider.

Replication
Cloud computing
Elasticity
Basic ideas of cloud computing platform and comparison?

You might also like