Real Time Operating Systems Group A5 Amit Sharma Ali Abbas Dhaval Sanghvi
Strategy for today’s presentation • Short (10 minutes) • Outline • What is a RTOS • Types of RTOS • RTOS general structure • VxWorks in particular
RTOS Definition • Must adhere to strict set of policies and rules with the most distinguishable feature that it is deterministic. • Deterministic is a guarantee that a software system will execute within a specified time constraint.
More definitions • Real-time computing is computing where system correctness depends not only on the correctness of the logical result of the computation but also on the result delivery time. • A real-time system responds in a (timely) predictable way to unpredictable external stimuli arrivals.
How do GPOS and RTOS differ? • GPOS: emphasize fairness and high resource utilization. • RTOS: demand timeliness and predictability. • Multitasking • Inter-task Communication • Interrupt and Event Handling • Timers and Clocks
What a RTOS is not • Real time computing is equivalent to fast computing (avg. # of transactions). • Real time systems operate in a static environment • Real time programming involves assembly coding, priority interrupt programming, writing device drivers
Preemptive Vs non preemptive scheduling • Preemptive scheduling • Task execution is preempted and later resumed • Why? To execute a higher priority task • Priorities can be fixed or dynamic • Non preemptive scheduling • once a task is started, it completes execution • less overhead due to less context switches
Multitasking • Multitasking is not perfect • High priority tasks hog resources and starve low priority tasks • Low priority tasks share a resource with high priority tasks and block high priority task • How does a RTOS deal with some of these issues • Priority Inheritance
Types of RTOS • Hard Real- Time • complete a critical task within a guaranteed amount of time • catastrophe. Example? • Soft Real-Time • Deadlines may be missed occasionally • not safety critical. Example?
Development process • Use the host to • edit, compile, and build application programs • configure the target • At the target embedded system, use tools to • load, execute, debug, and monitor (performance and timing)
Some popular RTOS • LynxOS: LynuxWorks Inc.San Jose • Chimera: Carnegie Mellon UniversityPittsburgh • VxWorks: Wind River Systems Inc. Alameda, Calif. • Maruti: University of Maryland College Park, Md.
VxWorks • A product of Wind River • Most popular RTOS for embedded systems • Current version in market is VxWorks 5.4 • 1800 API’s • ‘wind’ microkernel • advanced networking support • powerful file system • I/O management, and C++
microkernel • Supports • fast multitasking • interrupt support, and both preemptive and round-robin scheduling • provides efficient intertask communication mechanisms • message queues and pipes • sockets and remote procedure calls • signals
microkernel • Several types of semaphores • binary, • counting • mutual exclusion with priority inheritance • 256 priorities • POSIX compliant
Microkernel features (cont.) • High scalability • Incremental linking and loading of components • Fast, efficient interrupt and exception handling • Optimized floating-point support • Dynamic memory management • System clock and timing facilities
A note on POSIX • Portable Operating System Interface • set of standards under ISO/ IEEE charter • POSIX standard 1003.1b, (formerly called 1003.4) for RTOS • makes it easier to move applications from one operating system to another.
Networking facilities • first real-time operating system to integrate industry-standard TCP/IP networking facilities • Environments: ATM, SMDS, frame relay, ISDN, SS7, X.25, IPX/SPX, AppleTalk
Networking facilities (cont.) • VxWorks TCP/IP stack, which supports the latest Berkeley networking features, including: • IP, IGMP, CIDR, TCP, UDP, ARP • RIP v.1/v.2 • Standard Berkeley sockets and zbufs (a.k.a., zero-copy sockets) • NFS client and server, ONC RPC • Point-to-point protocol (PPP) • BOOTP, DNS, DHCP, TFTP • FTP, rlogin, telnet, rsh
Fast, flexible I/O and local file system • POSIX asynchronous I/O and directory handling • SCSI support • MS-DOS compatible file system • TrueFFS flash file system • ISO 9660 CD-ROM file system
Supported targets • 80x86 and Pentium • MIPS • SPARC • NEC V8xx • M32 R/D • RAD6000 • TriCore • (and more..)
Tornado • An IDE for VxWorks • From Wind River • Latest version is Tornado 2.2 • Run time component is VxWorks • integrated simulator, project facility, compiler, debugger, system browser, and many other tools to improve software development
Applications of VxWorks • Mars Pathfinder mission. • Nortel: Magellan Passport Enterprise Network Switch • Computer Industry: Networking Switches, Routers, RAID Data Storage • Transportation Industry: ABS, Realtime Suspension, Traffic Control Systems
References • VxWorks programmers guide • Real Time Systems. Jane W.S. Liu. Prentice Hall • "Dynamic Scheduling of Hard Real Time Applications in Open Systems Environment" Z. Deng, Jane W.S. Liu and J. Sun. 17th IEEE Real Time Systems Symposium. • comp.os.vxworks Frequently Asked Questions [http://www.landfield.com]