This action might not be possible to undo. Are you sure you want to continue?
1.1 What is a Real-Time Operating System (RTOS)?
A Real time operating system is an operating system that handles processes in real time by processing data with minimum latency this allows greater use of systems with multiple processors. These operating systems are commercially available but are often created in house for a specific purpose for example. A process within a real time operating system will have a deadline associated with it as the deadline runs closer the priority of the process will increase so that the deadline is achieved . There are a number challenges to be overcome when a real time operating system is being created that time sharing does not have. Scheduling in a RTOS can be more problematic as the operating system will have to respond to events real time with minimum latency. Since this can increase the likelihood of an error RTOSs contain two types of time system hard time system and soft time system. hard time systems are used for critically important processes, for example an auto-pilot system for an aircraft would use a hard time system because if a deadline is missed the program will not work and can have a fatal effect. soft time management is used for processes that are desired but the deadline can be missed. A Real time operating system also contains aperiodic tasks and aperiodic tasks. a task that has a deadline for when it will start or stop is an aperiodic task and a task that will be run regularly per period or per time from last it was processed will be a periodic task. Often real time operating systems are used in systems where there are multiple processors as an rtos can get better performance compared to a general purpose operating system.
1.2 Do I need a Real-Time Operating System (RTOS)?
An RTOS should be used in cases where processes need to be processed quickly and in cases where multitasking need to be achieved by threads. a RTOS should be used if the user wishes precise timing for how long a
process takes to process as the system is not allowed to delay hard-time process. in a real time operating system there is a much larger emphasis on the timing of all of the processes. for systems that need to run a certain rate without interruption this delay can cause system failure. in cases where the timing is important a RTOS is used as in most cases the system will handle only one purpose removing the problem of processes being interrupted. word document and the GUI elements running on the one processor. this is why a general purpose operating system should not be used in safety-critical software such as auto-pilot software. Daryl Johnston B00535063 . 1. processes can be given a “worst-case time” which states how long the process can be delayed before it must be completed a hard process will be given a worst case time of very little more than the average time it takes to complete a process where as a soft process will be given a much larger “worst-case time” since the process is not essential and will be allowed to exceed its deadline. in a general purpose operating system there is no control or measurement over how long a process will take only the ability to prioritise the processes in the amount of time a process is given access to the processor but all of the processors can be interrupted by another process for example an antivirus program. a process could be interrupted by another process for example an antivirus may interrupt a running process to perform a scan.3 How do RTOSs differ from General Purpose Operating Systems (GPOSs)? in a general purpose operating system processes are given more flexibility to be completed as there can be many more process to be completed than there is processors for example there may be a web browser.
a real time system is deterministic in that it will use algorithms to predetermine when a task will be processed. Real time operating systems can also have a Fail-Soft operation which is a characteristic that refers to the system being able to fail and preserve as much of the capability and performance as possible. each CPU has access to memory from other operating systems. In a real time operating system it is much more important to give the user control over scheduling to maintain good performance. 2. It differs in many other systems in the way that each CPU can access memory. 2. a real time operating system allows for much more user control.2 Partos11 Daryl Johnston B00535063 . a problem in a RTOS can result in the loss of performance until the problem is fixed but since the system is responding to events in real time this loss of performance can have a catastrophic effect if the system is used in a safety critical device.0 EXAMPLE APPLICATIONS. The PSOS allowed process to be scheduled with 255 priority levels. PSOS is a real time operating system for supporting real time applications that was initially released in 1982. in a general purpose operating system the user would only be able to provide very general guidance by being able to change priorities of groups or no guidance at all on how the system would be scheduled. it is much more important in a real time operating system that it is reliable compared to a general purpose operating system as GPOSs can in most cases be resolved by a system reboot. An operating system that was commonly used with the butterfly system was PSOS. for example the user may be able to set a task as a hard task or a soft task and make changes to the priorities within a class. in a general purpose operating system the tasks will more likely to be treated more fairly by using algorithms that use time slicing which gives each task that is to be completed a fair and even amount of cpu time. 2.1 The Butterfly System The butterfly is a multiprocessor system that was developed by BBN Advanced Computers to be used with real time operating systems and the hardware could contain up to 512 processors.
Another choice is the round robin scheduling among processes with the same priority. 2. The SSS is one of the Hard Tasks that will be running in the system because if it fails the system will no longer be able to schedule processes. robotics and desktop PC’s.5 Windows CE Daryl Johnston B00535063 . The SSS Task has no deadline as it will be running in the background at all times. I can only assume that the system critical processes such as 3g and Wi-Fi are always running in pre-emptive scheduling and soft processes such as a camera app would use robin scheduling. It makes use of time slicing to ensure the same processing time for these processes with the same priority .  2. This operating system implements the slack sharing server (SSS) to set the priorities of the processes in the schedule.4 QNX QNX is a commercial real time operating system and can be adapted to run on a variety of different hardware such as Blackberry mobile phones. Round Robin is a scheduling method that is usually not associated with real time operating systems that use hard tasks as it uses time slicing which cannot be used with hard processes as it can cause instability.3 SPOS (Smart Phone Operating System) SPOS is a multiprocessing operating system designed to be used in mobile phone hardware where there are a lot of memory constraints. The operating system supports two types of scheduling pre-emptive and round robin scheduling. processing constraints and requirements for processes that need to be running in the background for systems such as 3g connectivity and power management. The most popular version of QNX is the “QNX Neutrino”  2. The Operating system can run Hard and Soft task at the same time.The Partos11 (Periodic and Aperiodic Real Time Operating System for the 68HC11) is a very small operating system to be used with micro-controllers that are very slow and very little memory available. When pre-emptive scheduling is used each process is given a priority.
0 MAJOR COMPONENTS MAKING UP A RTOS. The most successful way to solve this problem is to modify the hardware Abstraction Layer (HAL) and the kernel. Instead they are made to be as responsive to real time processes as possible so that if a hard time process has a deadline coming up the task will quickly be scheduled . The scheduling system has 32 different priorities and from this the system can allocate the process to being a variable priority class or to being a real time class.  3.1 Hardware The most common use of a real time operating system is in embedded systems and systems where there is a large array of processing components. However the real time capability for applications are not guaranteed since there is always an applications that has to execute periodically. in that it does not need a CPU to function the operating system could just have access to some of the components that would be in an average multifunctional CPU.Windows CE is a popular real time operating system used within the business area and uses fixed priority scheduling. In order for this to happen the operating system uses a real-time class prioritising schedule. Daryl Johnston B00535063 . To guarantee the real time processing of applications there are third party companies who make modifications to some parts of the operating system. 3.  However applications that are running and the windows CE control programs must coexist together.2 software A very important piece of software that most real time operating systems have is a short-term task scheduler. if a process is given a priority of 0-16 the process will be set to variable priority and if the priority is 16-31 it will be set to real-time priority. the butterfly system could have 512 processors running at the same time . The hardware does not need to be as strict as in a general purpose operating system. The Memory management is much more important in a real time operating system in comparison to a general purpose operating system 3. The short term task scheduler differs from most schedulers in that it does not focus on processing the tasks fairly or keeping the average response time to a minimum.
0 CHARACTERISTICS AND DESIGN REQUIREMENTS OF A RTOS. Deadline scheduling this scheduling in deadline scheduling task come in sporadically. The scheduler in a real time operating system is often thought of as the most important component. This algorithm makes use of knowledge of the time constraints that are enforced in that it checks which of the task can be processed within the time constraint. There are two types of broad types of scheduling available. Dynamic planning based approaches determining the feasibility of a task a runtime rather than determining prior to the start of execution. After tasks have been assigned a priority a priority-driven pre-emptive scheduler can be used to execute the processes in order of largest priority first. Dynamic best effort approaches does not do any analysis on the feasibility of a process. with each task given a prescribed processing time. usually during the compile time  Real time scheduling Some examples of algorithms used to schedule tasks that are used in real time operating systems are: Static table driven approaches perform a static analysis of schedules of dispatching Static priority-driven pre-emptive approaches is much like the previous but instead of drawing up a schedule the analysis is used to assign priorities to all of the tasks. Static scheduling is calculated before the task is being processed. dynamic scheduling and static scheduling. Dynamic scheduling is calculated at the time of the task being processed. deadline and value and then are Daryl Johnston B00535063 . 4. The system will try to meet all of its deadlines and will abort a process that could not be completed within the deadline.1 Scheduling Because of the hard tasks that are available in a real time operating system conventional scheduling that is found in most general operating systems such as round robin is not usable in most cases.4.
The task with the shortest period will be processed first  4. Since real time operating systems are so customisable they can be used for all sorts of different systems. 5. This can be especially problematic if the system is reliant of a person’s safety.0 COMPARATIVE ASSESSMENT OF COMMERCIALLY AVAILABLE RTOSs. Some operating systems like the PSOS where made to Daryl Johnston B00535063 .3 Error Handling Since real time operating systems run on a strict schedule’s this can lead to small errors in the software causing catastrophic effects within such as a loss in performance or failure of the system. Optimisation of the threads in a multi-core system can give the user a lot more performance. Rate Monotonic Scheduling Rate Monotonic Scheduling is a fixed-priority pre-emptive scheduling algorithm. It occurs whenever a high priority task is forced to wait for a low priority task to finish 4. This means that a user can have a CPU dedicated in running a task.2 Priority inversion A problem that can occur in any of these priority based pre-emptive scheduling scheme is priority inversion. RTOSs are very prone to errors in the software called soft-errors. from large scale multi-processor systems like the butterfly system to smaller mobile system like the smart phone operating system. Then an online scheduler schedules the tasks in the order they are to be processed.4 Threads There is a greater ability to make use of threads in a real time operating system since the user has greater control over the priorities in the schedule in comparison to a general purpose operating system.queued. There exist some RTOSs that can detect if a fault has occurred and rectify it accordingly  4. The scheduler prioritises the tasks in the order of how long the task will take to process. Each of the operating systems that I looked at had their own trait about them.
Windows CE is the most dexterous of the real time operating system allowing for easy deployment in a variety of different hardware specifications. however the Smart phone operating system was made to be efficient when restrictive hardware is used as as there will not be so many processors or speed available while also having real time tasks. this operating system uses slack sharing server to make sure that tasks that are important are always running in the system. This operating system used a mixture of pre-emptive prioritisation and round robin scheduling to achieve this. 6. There is a much deeper complexity in prioritising task with the ability to yield greater performance from the hardware available.be run in hardware consisting of many processors with the unique ability to access the memory available to other processors it is able to be much more efficient when running simultaneous threads.0 CONCLUSION There is much more to consider in using a real time system rather than a general purpose operating system than one would think. however there are concerns on the ability to schedule tasks in real time without the tasks being interrupted requiring third party software to make the applications run in truly real time performance. partos 11 was made to run under some of the most restictive hardware being bound to using a micro controller. Daryl Johnston B00535063 .
I. Kenneth Hoganson. 2000 doi: 10.. "PARTOS-11: an efficient real-time operating system for low-cost microcontrollers. C. Y.. Proceedings . Operating System. Fourth IEEE International Symposium on . 1990. 1990.994621 URL: http://ieeexplore." Electronic Design. Second Edition. . 1995.1109/SICE.." Communication. . 1990.ppt. Test and Applications. 179-184." Computer and Computational Sciences.M." Real-Time Technology and Applications Symposium. Shibo Xie.jsp?tp=&arnumber=994621&isnumber=21449 Jigang Wang. & Teramoto.. pp 760-761 Harvey M.H. Safari. 15-17 May 1995 doi: 10. Operating System. "Optimal deadline scheduling with commitment. 2009. M. 1989.1995. Nimura. Addison-Wesley Publishing Company pp469 Harvey M. 8th International student edition. "Improving Robustness of RealTime Operating Systems (RTOS) Services Related to Soft-Errors. Available: www. pp . Subhashis Banerjee. . ()..1109/Allerton. pp . ..2001. Last accessed: 04/04/2012 Abraham Silberschatz.2006.org/stamp/stamp." Computer Systems and Daryl Johnston B00535063 .1109/RTTAS..jsp?tp=&arnumber=4673799&isnumber=4673661 Netter. Wiley publishing. Wilson. Deitel. vol. Baceller.2000. Proceedings. .jsp?tp=&arnumber=6120157&isnumber=6120135 Manabe. Daneshtalab. Kakoee.0. Proceedings. International Session Papers .org/stamp/stamp. pp. Garrido. no. 03 May 2003  Neishaburi. Available: http://zone.. Second Edition. "Real-time extension for Windows NT/CE used for control systems. Journal of Systems Architecture.. 533-533.ieee.889702 URL: http://ieeexplore. Last accessed 20-03-2012.org/stamp/stamp.ieee.2002. Guochang Gu.F.ieee. no. no.111-118. "Design of Smart Phone-Oriented Embedded Real-time Operating System. Deitel. Operating System. 1-5.org/stamp/stamp.. 758-763.ieee.Addison-Wesley Publishing Company pp467-468 Shiyao Chen...org/stamp/stamp..ieee. Real Time Operating Systems for Networked Embedded Systems..1109/IMSCCS." ObjectOriented Real-Time Distributed Computing. 2001 doi: 10.jsp?tp=&arnumber=889702&isnumber=19236 Harvey M..ernet. Control. Principles of modern operating systems second edition. ISORC . M.in/~suban/csl373/rtos. and Computing (Allerton).. "Real-Time UNIX Operating System: RX-UX 832". no. S. First International Multi-Symposiums on . 2002 doi: 10. Real Time Scheduling Power Point Presentation.2011.1109/DELTA.2. 2006. 2002. vol.. P.922835 URL: http://ieeexplore.jsp?tp=&arnumber=922835&isnumber=19938 Kawakami. pp.319-324.. 2001.235-239. vol. L. Operating System. Lifeng Xu. The First IEEE International Workshop on . vol.iitd.210 URL: http://ieeexplore.Addison-Wesley Publishing Company pp 335 Yao Li. pp. 27. vol. 2011 49th Annual Allerton Conference on . Deitel.ni.cse. IMSCCS '06. pp 117  Do I Need a Real-Time System. 20-24 June 2006 doi: 10. Second Edition. Lang Tong.com/devzone/cda/tut/p/id/10342#toc2.org/stamp/stamp. Richard Schlesinger. no. pp.. S. . Hamada. 28-30 Sept.ieee. no. Y..516218 URL: http://ieeexplore. "A feasibility decision algorithm for rate monotonic scheduling of periodic real-tim12e tasks.212-218. . Second Edition. Proceedings of the 39th SICE Annual Conference.  Jose M.1109/ISORC. 2011 doi: 10. vol. Aoyagi. K." SICE 2000. vol. Ting He. no. M..2001... . 1990. Operating System Concepts. "Assessing the real-time properties of Windows CE 3.Mizuhashi. Addison-Wesley Publishing Company pp471 Harvey M. M.R. Y.6120157 URL: http://ieeexplore.jsp?tp=&arnumber=516218&isnumber=11332  Guanpi Lai. Deitel. pp.
1109/AICCSA. Kee Choon Kwon.. no. no.org/stamp/stamp.ieee.org/stamp/stamp. 1990. vol." Reliability. Deitel. Safety and Hazard (ICRESH).jsp?tp=&arnumber=5779528&isnumber=5779525  Harvey M. . 2010 2nd International Conference on . Jang Soo Lee.jsp?tp=&arnumber=4231007&isnumber=4230921  Jang Yeol Kim.5779528 URL: http://ieeexplore. Second Edition. 13-16 May 2007 doi: 10. 14-16 Dec. 2010 doi: 10. pp. pp.2007.. AICCSA '07.Applications. Operating System.2010.370932 URL: http://ieeexplore.ieee. vol.Addison-Wesley Publishing Company pp 478 Daryl Johnston B00535063 .1109/ICRESH.. Young Jun Lee. Se Woo Cheon.123-126.528-534.. "A Commercial-Off-the-Shelf(COTS) dedication of a QNX real time operating system (RTOS). 2007. IEEE/ACS International Conference on .
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.