Aa
Aa
distributed system
A distributed system contains multiple nodes that are physically separate
but linked together using the network. All the nodes in this system
communicate with each other and handle processes in tandem. Each of
these nodes contains a small part of the distributed operating system
software.
A diagram to better explain the distributed system is −
Semaphore
A semaphore is a variable that controls the access to a
common resource by multiple processes. The two types of
semaphores are binary semaphores and counting semaphores.
Mutual Exclusion
Mutual exclusion requires that only one process thread can
enter the critical section at a time. This is useful for
synchronization and also prevents race conditions.
Barrier
A barrier does not allow individual processes to proceed until
all the processes reach it. Many parallel languages and
collective routines impose barriers.
Spinlock
This is a type of lock. The processes trying to acquire this lock
wait in a loop while checking if the lock is available or not. This
is known as busy waiting because the process is not doing any
useful operation even though it is active.
Pipe
A pipe is a data channel that is unidirectional. Two pipes can
be used to create a two-way data channel between two
processes. This uses standard input and output methods. Pipes
are used in all POSIX systems as well as Windows operating
systems.
Socket
The socket is the endpoint for sending or receiving data in a
network. This is true for data sent between processes on the
same computer or data sent between different computers on
the same network. Most of the operating systems use sockets
for interprocess communication.
File
A file is a data record that may be stored on a disk or acquired
on demand by a file server. Multiple processes can access a
file as required. All operating systems use files for data
storage.
Signal
Signals are useful in interprocess communication in a limited
way. They are system messages that are sent from one
process to another. Normally, signals are not used to transfer
data but are used for remote commands between processes.
Shared Memory
Shared memory is the memory that can be simultaneously
accessed by multiple processes. This is done so that the
processes can communicate with each other. All POSIX
systems, as well as Windows operating systems use shared
memory.
Message Queue
Multiple processes can read and write data to the message
queue without being connected to each other. Messages are
stored in the queue until their recipient retrieves them.
Message queues are quite useful for interprocess
communication and are used by most operating systems.
A diagram that demonstrates message queue and shared memory
methods of interprocess communication is as follows −
Virtualization Concept
Hypervisor
Full Virtualization
Emulation Virtualization
Paravirtualization
Full Virtualization
In full virtualization, the underlying hardware is completely simulated.
Guest software does not require any modification to run.
Emulation Virtualization
In Emulation, the virtual machine simulates the hardware and hence
becomes independent of it. In this, the guest operating system does not
require modification.
Paravirtualization
In Paravirtualization, the hardware is not simulated. The guest software
run their own isolated domains.
VMware vSphere is highly developed infrastructure that offers a
management infrastructure framework for virtualization. It virtualizes the
system, storage and networking hardware.
advantages and disadvantages of virtualization?
Pros of Virtualization
Cons of Virtualization
Understanding Openstack
Issues
PaaS Types
Based on the functions, PaaS can be classified into four types as shown in
the following diagram:
What is Cloud?
Basic Concepts
There are certain services and models working behind the scene making
the cloud computing feasible and accessible to end users. Following are
the working models for cloud computing:
Deployment Models
Service Models
Deployment Models
Deployment models define the type of access to the cloud, i.e., how the
cloud is located? Cloud can have any of the four types of access: Public,
Private, Hybrid, and Community.
Public Cloud
The public cloud allows systems and services to be easily accessible to
the general public. Public cloud may be less secure because of its
openness.
Private Cloud
The private cloud allows systems and services to be accessible within an
organization. It is more secured because of its private nature.
Community Cloud
The community cloud allows systems and services to be accessible by a
group of organizations.
Hybrid Cloud
The hybrid cloud is a mixture of public and private cloud, in which the
critical activities are performed using private cloud while the non-critical
activities are performed using public cloud.
Service Models
Cloud computing is based on service models. These are categorized into
three basic service models which are -
Infrastructure-as–a-Service (IaaS)
Platform-as-a-Service (PaaS)
Software-as-a-Service (SaaS)
Anything-as-a-Service (XaaS) is yet another service model, which
includes Network-as-a-Service, Business-as-a-Service, Identity-as-a-
Service, Database-as-a-Service or Strategy-as-a-Service.
The Infrastructure-as-a-Service (IaaS) is the most basic level of
service. Each of the service models inherit the security and management
mechanism from the underlying model, as shown in the following
diagram:
Infrastructure-as-a-Service (IaaS)
IaaS provides access to fundamental resources such as physical
machines, virtual machines, virtual storage, etc.
Platform-as-a-Service (PaaS)
PaaS provides the runtime environment for applications, development
and deployment tools, etc.
Software-as-a-Service (SaaS)
SaaS model allows to use software applications as a service to end-users.
The concept of Cloud Computing came into existence in the year 1950
with implementation of mainframe computers, accessible via thin/static
clients. Since then, cloud computing has been evolved from static clients
to dynamic ones and from software to services. The following diagram
explains the evolution of cloud computing:
Benefits
There are four key characteristics of cloud computing. They are shown in
the following diagram: