What Is A Real Time Operating System

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Introduction

In this essay I hope to show the concepts of real-time operating systems (RTOS). RTOS are becoming more increasingly a feature with everything, either in part or whole, with computing in the modern day. A Real-time operating system (RTOS) is a system which basically has to process the data as soon as it is given it. RTOS is different from other systems as it requires minimal delay in the processing of data, meaning virtually instant output time from the input time.

Do I need an RTOS?

RTOSs are great for systems and applications that really depend on time, and precision in processing, unlike general purpose operating systems (GPOS), which would be recommended for the opposite, but that doesn’t mean GPOSs are going to be bad choice, as in having huge delays or anything. It is all down to either or not you have projects or tasks which their timing is crucial for the completion of it.

What is an operating system?

An operating system (OS) is the core software component of a computer. An OS can be very basic, as they are generally just an interface between the user and computer hardware, but more advanced OS can have many other functions and features which give the user the ability to do more than just the basic functions. The OS also communicates with the hardware, such as the mice, keyboard, monitors, printers and more through the help of drivers. An OS has a lot of main functions, and a few of them are: to provide a graphical user interface (GUI) for the user, input/output management, processor management, memory management, file management and much more.

What is a Real-time Operating System (RTOS)?

An RTOS can be an embedded system or piece of software, which means it is built into something, with a specific function to do. They are in many devices for example cars, TV’s, air bags, washing machines and combat aircraft. RTOSs have a responsibility to do thing on time, which in the case of being late in a washing machine or TV the delay would not cause many or any problems at all, but for the likes of air bags, cars and combat aircrafts, any mistakes would be a catastrophe, depending on what had failed of course.

RTOSs can be hard or soft, for instance, if missing a deadline would only cause minor performance reductions, but would not cause major harm, it is known as a soft real-time system. And a hard system is one that would have catastrophic consequences, such as the system in a combat aircraft, if it was to fail.

RTOSs can operate in environments where the computer’s processing power and memory is limited, such as systems on a washing machine where its read only memory would not be that big at all. It is these speed and memory constraints of the computer or device, but also because of the timing constraints on the requirements that dictate the use, and necessity of RTOSs.

How do Real-Time Operating Sytems (RTOSs) differ from General Purpose Operating Systems (GPOSs)?

RTOSs and GPOSs are quite similar on many levels, such as the kernel services ("a kernel is the part of the operating system that provides the most basic services"), but the main difference between an RTOS and GPOS is the need to be deterministic with their timing, in real-time operating systems, this is because RTOSs are time incentive and the systems relay on good timing.

An RTOS is used in systems or applications where time is critical, such as:

RTLinux

LynxOS

VxWorks

Windows CE

And a GPOS is used in systems or applications where time is not the priority, such as:

Windows (98/XP/7/8)

Linux

Mac OS X

Unix

Both GPOS and RTOS have multiple things they have to do that are similar, but they react and/or perform in different ways, such as:

Task Scheduling

Hardware

Task Scheduling

In task scheduling, RTOSs use a priority based pre-emptive scheduling. This means that it puts higher priority tasks before the lower priority tasks, so this means also that each task in an application or system must be given a certain level of priority. Usually, the more important the tasks, the higher the priority they will be given. This would mean a quicker response for that task to be completed.

Also within RTOS, if a low priority task is running, but a high priority task has been called, an RTOS would postpone the lower task and resume it after the higher priority task had been completed.

GPOSs, on the other hand, are non pre-emptive, and they tend to make sure that the system is giving out the highest output it can. This means, that it could be running multiple low priority tasks together rather than running a high priority task. This would obviously be unacceptable for an RTOS to do, for example, if a combat aircraft needed to use an ejector seat to save the pilots life, and RTOS would do that task immediately, with minimal delays. A GPOS system would not be used in that case as it may not do that task immediately if it is all ready processing tasks.

Hardware

An RTOS is usually designed for systems with low memory or poor hardware compared with some GPOS systems, but can also be very sophisticated, such as an RTOS designed for aircraft. An example of a low end system using an RTOS would be an Automated Teller Machine (ATM). An example of a GPOS system could be a mid range or high end general purpose, personal computer, with multiple high speed processors.

GPOSs tend to require a high standard of hardware configuration, such as Windows operating systems, where they need Gigabyte’s (GB’s) of Random access memory (RAM) and even recommend using a multi core processor with clock speeds in the range of several Gigahertzes (GHz). But an ATM does not have that sort of hardware installed, so they use RTOSs to make use of the Megabytes of RAM and probably only Megahertz (MHz) processor(s).

Example Applications of RTOSs

There are many examples of RTOSs used in various types of devices. This section should show not only what they are used in, but how RTOSs help complete their work, project or tasks. The use of RTOSs will be look at in:

Aircraft

Automobiles

Automated Teller Machines (ATM’s)

Factory Automation

Household Equipment

Medical Devices

Aircraft

In all aircraft, decisions made, either by computers or humans is vital for safety of passenger’s lives, and the aircraft itself. RTOSs are used within parts of the whole computing ability of an aircraft, be it for a passenger aircraft or combat aircraft. The auto-pilot ability is something that relays on the RTOS due to the need for having instantly updated and processed data to ensure the aircraft stays on course when activated. RTOSs are also used for the weather systems and displays that the pilot depends on. Aircraft would use hard real-time systems within their overall systems.

Automobiles

Automobiles such as cars, use an RTOS to deploy airbags, due to the precise timing it can deploy the bags. This shows that RTOS was an obvious choice for this feature in cars, due to the necessity of being able to save lives. Another RTOS used in cars would be the cruise control, which a user sets a speed for the car to "cruise" at. The reason an RTOS is used here, is that if a car was going up a hill it would slow down, and the cars computer needs to know it has slowed down to put more power into the engine to ensure it remains at the same speed. Quick timing is needed here, because there could be a car behind travelling at the same speed, and if the car in front slows down there could be an accident. Automobiles would also use hard real-time system due to timing being so crucial.

Automated Teller Machines (ATM’s)

ATM’s use RTOS so that users can access their financial information either to withdraw, view or print balance. This system uses real-time so that the user can access all of these as quickly as possible. If a user was trying to withdraw money using a general purpose system then they could potentially be waiting for a considerably longer time. With RTOS the timing is short, which is convenient for the user. ATM’s would use soft real-time systems.

Factory Automation

Factories automated equipment in parts of their systems used real-time

Factories that have automations within their systems would need to be hard real-time because the system needs to have deadlines when producing products, if the timing is of by a millisecond then there could be dire consequences on the product line. Items could be damaged by the delay on the line that is why the real-time operating system needs to have precise timing to get the correct amount of machines on the correct timing because each machine could be doing something different, but the task management has to make sure nothing goes wrong on either of the machines that are used in the factories.

Medical Devices

There are many medical devices using an RTOS, such as pacemakers, heart beat sensors and a lot more instruments which medical staff would use, that need updating constantly, accurately and are also reliable. A pacemaker for instance, would use an RTOS as it needs to be able to react to any changes in heart beats, with near instant timing, so it can set the pace to a safe setting for the user, who relies on that device to survive.

Household Equipment

In the wash machine the system knows of different programs that are available, once a program is selected then the real-time operating system will start and tell the user how much time is left on the machine, but the user can add a drying cycle onto the normal wash. The real-time operating system will have to be able to switch between each task of the wash, and that goes from water into the drum then the spin cycle and then the drying cycle. Once all the tasks are done on the application of the cycle it will release the door for the user to retrieve the cloths from the machine.

Major Components that make up an RTOS

Real-time operating systems have many components that make it what it is. To create a real-time operating system, you need to know what the components are, which they are either hardware or software.

http://www.ni.com/cms/images/devzone/tut/RTComponents2_20091207132349.png

Software

"Real-time operating system: This special OS is designed to run a user program reliably with very precise timing."

"Development tools: A compiler, linker, and debugger are needed that can generate code compatible with the real time operating system."

"Drivers: For a real-time operating system to communicate with system hardware and I/O modules, real-time compatible drivers are needed that can guarantee worst-case timing for most I/O operations."

Hardware

"I/O modules and system hardware with real-time drivers (included in the software section above)."

"Rugged hardware: Chassis used in a real-time system may be designed to sustain harsh environments for long periods of time."

"Computer with watchdog timer:  An integrated watchdog timer can automatically restart an entire computer if a user program stops running."

National Instruments, Aug 15, 2012, Real-Time System Components, [online] Available at: <http://www.ni.com/white-paper/14238/en> [Accessed 12th April 2013]

Characteristics and design requirements of an RTOS

A real-time operating system has many characteristics that it will share and differ from other operating systems. RTOSs are found in various types of devices, components and systems in all backgrounds of human life, which they have been installed into. Not all characteristics are shared with each RTOS, as they don’t necessarily have to do the same, such as an ATM’s RTOS versus an Aircrafts. The examples I will be looking at are:

Hard real-time and soft real-time

Determinism

Real-time scheduling

Reliability

Fail-soft operation

Stability

Hard real-time and soft real-time

Hard real-time operating systems have a critical deadline time, meaning that this deadline must be met; otherwise serious malfunctions or damage can be done, depending on the system. An example used before would be an aircraft, where near instant processing of data is key for the survival of the aircraft and people inside it. If an error occurs with hard real-time systems it normally means damage to the system.

With soft real-time operating systems timing is not as important to that of hard real-time. For instance a washing machine, which would have a soft real-time system, would not have a catastrophic effect on the system if there was a delay. Only if multiple errors occur, then soft real-time systems would really fail, unless the part that failed was of great importance.

Determinism

Real-time operating systems are known for being deterministic. This means that they will almost always guarantee the task being completed as long as there are no errors. These systems keep to strict timing and so it can become a predictable system.

Real-time scheduling

Scheduling is a very important aspect of a real time system, because without the scheduling, the applications or tasks its running will not be given a time scale to be completed. This would basically mean tasks would be slower to start or stop, defeating the purpose of what a real-time system would be used for.

Reliability

Real-time operating systems need to be reliable. This is the most important aspect of an RTOS, as who would want to use a system that did not work all the time. In the example of an aircraft, reliability is necessary for the safety of the passengers, pilots and the aircraft itself. Not just with the ability to be processing the tasks needed, if a system had some downtime, then like most systems businesses relay on, it could be very expensive, such as factory equipment, where the systems are needed for the machine to even work in the first place.

Fail-soft operation

The fail-soft operation secures the system, as it stops the system from crash at the time when the error occurs. It ensures the system can continue running, even after an error that could be serious. This would really only work with soft real-time systems as an error in hard real-time could be too problematic for the system to keep running.

Stability

A real-time operating system needs to be stable when under heavy load conditions. When the system is under heavy load, it will need to run all the tasks and be able to meet the time deadlines of each one. This is especially important for the most crucial tasks.

 Comparative assessment of commercially available RTOSs

I will be looking at commercially available RTOSs, so I can compare them, and see how they are similar and differ from each other. I will be looking to compare the following RTOSs:

VxWorks and,

Windows CE.

Starting off with the task handling methods, VxWorks uses a model with threads and protected domains, with 256 levels of priority. VxWorks is also limited by the actual amount of memory available to it. The priority used is pre-emptive and the version I had looked at (VxWorks AE 1.1) used round-robin technique.

Windows CE had the same amount of levels of priority, but used a processing and thread model. In Windows CE the maximum number of threads is a process was only limited to the amount of memory available, but it was only capable of doing a maximum of 32 processes at one time.

Windows CE and VxWorks are quite similar in this memory management, as both have memory management unit (MMU) support, and can use virtual memory, as well as having full virtual memory protection.

Conclusion

Before starting this essay, I really didn’t know much about what real-time operating systems did. After the research and doing this essay, I have realised how important real time operating systems actually are to almost every system, either it be an RTOS that is in an airplane and is very sophisticated, or just a simple ROTS in an ATM. Computing in the modern day would probably not be what it is today without the introduction and the continuous development of real time operating systems,



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now