Lecture 2
Clustered Systems
Defining Clustered Systems
What are Clustered Systems?
Cluster systems are multiple independent computer systems working in tandem
Cluster systems are connected to a shared storage called the storage-area network (SAN)
This format has high-availability, meaning it's designed in a way which survives failures.
Types of Clustered Systems
Types of Clustered Systems
Asymmetric Clustering System:
One system is on hot standby mode.
This system on standby will monitor the other systems and will take the place of another system if failure occurs on a system
Symmetric Clustering System: multiple nodes run applications while monitoring each other
Distributed vs Parallel
Some clusters are created for high-performance computing (HPC) and these must be written in parallelization
Parallelization: the computer breaks down problems into small pieces to be solve by independently completed thus considerably faster then normal means
Some clustered systems use a distributed lock manager (DLM) in order to avoid conflicting operations
Operating System Structure
Multiprogramming (Batch System); helps efficiency
Impossible for one users to have a CPU and Input/Output, I/O, devices always running
To keep the system always running multiprogramming organizes the jobs, code and data, to maintain a constantly running CPU
Parts of all the jobs are kept in memory
Job scheduling describes the process of selecting and queuing up job to maintain a CPU
Instead of the CPU waiting when needed (like getting an I/O) the Operating System instead switches it to another Job while waiting to keep the CPU running
Memory Layout for Multiprogrammed System
Multiprogrammed Layout
Multitasking (Time sharing)
Job switching the CPU so much it allows users to interact with running jobs thus interactive computing
Requires a response time of <1 second to be consider multitasking
Process: programs executing in memory from the user
CPU scheduling: selects which queued process to be done by the CPU and allocates the CPU to that process
Processes that are too big for memory are swapped in and out to be run
Uses Virtual Memory to execute processes not all the way in memory
Operating-System Operations
Operations are interruption driven by hardware and software
Kinda of like getting any work done in life- constant interruptions
Hardware interruption comes from the device aka hardware
Software interruption come as either an exception or a trap caused by:
Software errors( e.g. anything/0)
Requesting for the operating system service
Any other process problems like logic errors or modifying another process/operating system
Like deleting System 32?
There is Dual-mode operation creating protection for the OS, Operating System, and other system components
The modes are User mod and Kernel mode
Then there is mode bit provided by hardware to switch between the two
This mode bit shows the system us the code is user or kernel code
Some code however is designated douches who are privileged thus only accept running in the kernel mode and not the plebeian user mode that the commoners use
For this code the mode bit is used to dip into kernel mode run the privileged aspects and before the code is returned to user to work through the rest of the peasant code.
Because down with the monarchy CPU's support multi-mode operations showing that privileged code is not really special
For example there is a virtual machine manager of guest virtual machines ????
Example of using mode bit:
The system uses a timer to prevent infinite loops/ and resource hogging
Interrupts the computer after set time period
keeps a counter that uses a physical clock
the OS, operating system, sets the count using privileged instructions
When the countdown ends it sends an interrupt
This is set up before the scheduling process to regain control of the computer or terminating programs that have been alive for two long, like zombies?
Process Management
More like resource management, for this is managing the resources for the passive entities, programs, and mainly the active entities, processes.
For the main management of a process it needs numerous resources:
CPU, memory, I/O, files
also Initialization data
For process termination it requires reclaim the reusable resources from the process
For a typical system the are many processes including user and OS, operating systems, running at the same time one or more CPU by multiple the CPU among the processes/threads
Activities this is responsible for:
Creating and deleting both user and system processes
Suspending and resuming processes
Providing mechanisms for process synchronization
providing mechanism for process communication
Providing mechanisms for deadlock handling