Oparating System


What is Operating System?

An operating system is a program designed to run other programs on a computer. A computer’s operating system is its most important program. It is considered the backbone of a computer, managing both software and hardware resources. Operating systems are responsible for everything from the control and allocation of memory to recognizing input from external devices and transmitting output to computer displays. They also manage files on computer hard drives and control peripherals, like printers and scanners.

Classification of Operating Systems 

Operating systems can be grouped into the following categories:

Supercomputing is primarily scientific computing, usually modeling real systems in nature. Render farms are collections of computers that work together to render animations and special effects. Work that previously required supercomputers could be done with the equivalent of a render farm. Such computers are found in public research laboratories, Universities, Weather Forecasting laboratories, Defense and Energy Agencies, etc.

Mainframes used to be the primary form of computer. Mainframes are large centralized computers. At one time, they provided the bulk of business computing through time-sharing. Mainframes and mainframe replacements (powerful computers or clusters of computers) are still useful for some large-scale tasks, such as centralized billing systems, inventory systems, database operations, etc. When mainframes were in widespread use, there was also a class of computers known as minicomputers that were smaller, less expensive versions of mainframes for businesses that could not afford mainframes.

Servers are computers or groups of computers used for Internet serving, intranet serving, print serving, file serving and/or application serving. Clustered Servers are sometimes used to replace mainframes.

Desktop operating systems are used on standalone personal computers.

Workstations are more powerful versions of personal computers. Often only one person uses a particular workstation that run a more powerful version of a desktop operating system. They usually have software associated with larger computer systems thru a LAN network.

Handheld operating systems are much smaller and less capable than desktop operating systems, so that they can fit into the limited memory of handheld devices. Barcode scanners, PDA’s, are examples of such systems. Currently, the PDA world is witnessing an operating system battle between several players (Microsoft Windows, iPAQ, etc.)

Real time operating systems (RTOS) are designed to respond to events that happen in real time. Computers using such operating systems may run ongoing processes in a factory, emergency room systems, air traffic control systems or power stations. The operating systems are classified according to the response time they need to deal with: seconds, milliseconds, micro-seconds. They are also classified according to whether or not they involve systems where failure can result in loss of life. As in the case of supercomputers, there are no such systems in Lebanon today. However, given the way the technology is growing, it may be possible to use them in the future.

Embedded systems are combinations of processors and special software that are inside another device, such as contents switches or Network Attached Storage devices.

Smart Card Operating Systems are the smallest Operating Systems of all. Some handle only a single function, such as electronic payments, others handle multiple functions. Often these OS are proprietary systems but we are seeing more and more smart cards that are Java oriented.

Specialized Operating systems, like Database Computers are dedicated high performance data warehousing servers.

 The above Operating Systems are commonly found in government agencies and private industries.

Difference between RTOS and non-RTOS?      

The key difference between general-computing operating systems and real-time operating systems is the need for " deterministic " timing behavior in the real-time operating systems. Formally, "deterministic" timing means that operating system services consume only known and expected amounts of time. In theory, these service times could be expressed as mathematical formulas. These formulas must be strictly algebraic and not include any random timing components. Random elements in service times could cause random delays in application software and could then make the application randomly miss real-time deadlines – a scenario clearly unacceptable for a real-time embedded system. Many non-real-time operating systems also provide similar kernel services.

General-computing non-real-time operating systems are often quite non-deterministic. Their services can inject random delays into application software and thus cause slow responsiveness of an application at unexpected times. If you ask the developer of a non-real-time operating system for the algebraic formula describing the timing behavior of one of its services (such as sending a message from task to task), you will invariably not get an algebraic formula. Instead the developer of the non-real-time operating system (such as Windows, Unix or Linux) will just give you a puzzled look. Deterministic timing behavior was simply not a design goal for these general-computing operating systems.

On the other hand, real-time operating systems often go a step beyond basic determinism. For most kernel services, these operating systems offer constant load-independent timing: In other words, the algebraic formula is as simple as: T(message_send) = constant , irrespective of the length of the message to be sent, or other factors such as the numbers of tasks and queues and messages being managed by the RTOS.

Many RTOS proponents argue that a real-time operating system must not use virtual memory concepts, because paging mechanics prevent a deterministic response. While this is a frequently supported argument, it should be noted that the term "real-time operating system" and determinism in this context covers a very wide meaning, and vendors of many different operating systems apply these terms with varied meaning. When selecting an operating system for a specific task, the real-time attribute alone is an insufficient criterion, therefore. Deterministic behavior and deterministic latencies have value only if the response lies within the boundaries of the physics of the process that is to be controlled. For example, controlling a combustion engine in a racing car has different real-time requirements to the problem of filling a 1,000,000 litre water tank through a 2" pipe.

Real-time operating systems are often uses in embedded solutions, that is, computing platforms that are within another device. Examples for embedded systems include combustion engine controllers or washing machine controllers and many others. Desktop PC and other general-purpose computers are not embedded systems. While real-time operating systems are typically designed for and used with embedded systems, the two aspects are essentially distinct, and have different requirements. A real-time operating system for embedded system addresses both sets of requirements.

Definition of RTOS?

Short for real-time operating system it is an operating system that has been developed for real-time applications and typically used for embedded applications on a special-purpose computer with a limited set of functions determined by the hardware design.

(RealTime Operating System) An operating system designed for use in a real-time computer system. See real-time system, embedded system, process control and OS-9.

(RTOs) (RealTime Operations) Procedures within an organization that enable information to be distributed to all parties in real time. It implies that day-to-day activities are integrated with existing information systems so that vital up-to-date information is always available to management, employees and the public as required.

Example of RTOS:

·         QNX

·         RTLinux

·         VxWorks

·         Windows CE

·         mc-OS

·         AvrX

Books Collected on RTOS:

 

Books Collected on OS:

 

Make a Free Website with Yola.