Hand-Held Systems in Operating System
Hand-Held Systems in Operating System:
Definition and Explanation:
Hand-held systems include a personal digital assistant or PDA. It is a remarkable, tiny, fully functional computer that can be held in one hand. PDA can hold downloaded email and play music.
The small computer organizers were available in 1980s. The idea of making hand-held computer for storing addresses and phone numbers, taking notes and keeping track of daily appointments originated in 1990s. One of the first PDAs that was commercially available was Apple Computer's Newton Message Pad. It was too big, expensive and complicated. Its handwriting recognition program was poor.
In 1996, the original Palm Pilot was introduced and was a hit with consumers. It was small and light enough to fit in a shirt pocket. PDA was originally intended to be simple digital calendars. It has evolved into machines for playing games or music and downloading information from the Internet. It complements a desktop or laptop computer.
Real-Time Systems in Operating System
Real-Time Systems in Operating System:
A real time system is a system that ensures the exact time requirements for a job. If a real-time system does not complete a task in a certain time, it may cause a break down of the entire system it is running.
Some applications require to be serviced within a time period:
Industrial control systems
Automobiles (brakes)
Airplane guidance
Medical devices
Types of Real-Time Systems:
There are two types of real time systems:
1. Hard Real Time Systems:
A hard real time system guarantees that a job will complete within a specified time period. This system must ensure that all delays on processing, input and output are bounded. The system cannot wait indefinitely so the hard time systems are usually very limited. There is generally no secondary storage such as disk drives as a disk request can take a variable time to process.
Some examples of a hard real time system are the software that run the autopilot in an jumbo jet or the imaging software on a missile.
2. Soft Real Time Systems:
A soft real time system is a much less restrictive version of a hard real time system. A soft real time system does not guarantee that a job will complete within a specified time period. However, it tries its best to finish the job as soon as possible. If a critical real time job enters the system, the operating system may assign the highest priority to that task and execute it continuously until it completes.
The lack of a guarantee makes a soft real time system more limited in its application for industrial activities. Soft real time systems are used in multimedia, virtual reality etc. The operating systems that provide soft real-time support are Windows NT/2000, Linux, Solaris.
Clustered Systems in Operating System:
Clustered Systems in Operating System:
A clustered system uses multiple CPUs to accomplish a task. It is different from parallel system in that clustered system consists of two or more individual systems coupled together. The clustered computers share storage and are closely linked via LAN networking.
The clustering is usually performed to provide high availability. A layer of cluster software rims on cluster nodes. Each node can monitor one or more nodes over the LAN. The monitored machine can fail in some cases. The monitoring machine can take ownership of its storage. The monitoring machine can also restart applications that were running on the failed machine. The failed machine can remain down but the users will see a brief of the service.
Types of Clustered System:
The clustered system can be of the following forms:
Asymmetric Clustering: In this form, one machine is in hot standby mode and other machine is running the application. The hot standby machine performs nothing. It only monitors the server. It becomes the active server if the server fails.
Symmetric Clustering: In this mode, two or more machines run the applications. They also monitor each other at the same time. This mode is more efficient because it uses all available machines. It can be used only if multiple applications are available to be executed.
Some other forms of clusters are parallel clusters and clustering over WAN. Parallel clusters allow multiple hosts to access the same data on a shared storage. Most operating systems do not provide the support for simultaneous data access by multiple hosts. That is why parallel clusters are usually accomplished by special versions of software and special releases of applications. An example of such software is Oracle Parallel Server. It is a version of Oracle database that is designed to run on parallel clusters. Each machine runs Oracle and a layer of software tracks access to the shared disk. Each machine also has full access to all data in the database.
Most clusters do not support shared access to data on the disk. The distributed file systems must provide access control and locking to the files to prevent conflicting operations. This type of service is commonly known as distributed lock manager (DLM).
Definition and Explanation of Distributed Systems in Operating System
Definition and Explanation of Distributed Systems in Operating System:
Definition and Explanation:
A system that distributes the computation among several physical processors is called distributed system. It is known as loosely-coupled. It means that the processors do not share memory; data structures or system clock. Each processor has its own local memory. It can only communicate with other processors through a communication line usually over a network. The processors in distributed system may vary in size, speed and function.
Advantages of Distributed Systems:
The main advantages of building distributed systems are as follows:
1. Resource Sharing:
Each computer in the distributed system may have specific resources. Other machines may utilize its resources while being part of the distributed system.
2. Computation Speedup:
If a computation can be split up into sections, it is possible to give different sections to different machines. Communication is usually fairly expensive since the machines may not be physically close to each other.
3. Reliability:
It provides more reliability for different jobs. If one system fails, the other sites may be able to continue processing.
Multiprocessor Systems:
Multiprocessor Systems:
Multiprocessing is a type of processing in which two or more processors work together to process more than one program simultaneously. It allows the system to do more work in a shorter period of time. UNIX is one of the most widely used multiprocessing systems.
Multiprocessor system is also known as parallel system or tightly-coupled system. It means that multiple processors are tied together in some manner. Generally, the processors are in close communication with each other. They share common data structures and a common system clock.
Advantages of Multiprocessor Systems:
Some advantages of multiprocessor system are as follows:
Reduced Cost: multiple processors share the same resources. Separate power ;supply or mother board for each chip is not required. This reduces the cost.
Increased Reliability: The reliability of system is also increased. The failure of one processor does not affect the other processors though it will slow down the machine. Several mechanisms are required to achieve increased reliability. If a processor fails, a job running on that processor also fails. The system must be able to reschedule the failed job or to alert the user that the job was not successfully completed.
Increased Throughput: An increase in the number of processes completes the work in less time. It is important to note that doubling the number of processors does not halve the time to complete a job. It is due to the overhead in communication between processors and contention for shared resources etc.
Types of Multiprocessor Systems:
There are two main types of parallel processing:
1. Symmetric Multiprocessing:
A method of processing in which multiple processors work together on the same task is called symmetric multiprocessing. Each processor runs an identical copy of the same operating system. Symmetric multiprocessing treats all processors equally. I/O can be processed on any processor. The processors communicate with each other as needed. It enables many processes to be run at once without degrading performance. Each CPU is separate, it is possible for one CPU to be idle while another CPU is overloaded.
Symmetric multiprocessing is easier to implement in operating systems. It is the method mostly used by the operating systems that support multiple processors. The most common multiprocessor systems today use SMP architecture.
2. Asymmetric Multiprocessing:
A multiprocessing technique in which individual processors are dedicated to particular tasks such as running the operating system or performing user requests is called asymmetric multiprocessing. It has one master processor and remainder processors are called slave. The master distributes tasks among the slaves. I/O is usually done by the master only.
An example is disk management where the responsibility of managing disk activities is not handled by main processor. It is performed by a microprocessor that has its own memory. It only performs disk management tasks such as how to move the head of disk to read data from disk into memory etc.