Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Forum

  Home arrow Linux For Devices Articles arrow Thoughts on Adeos

Thoughts on Adeos
By Linux Devices

Rate This Article: Add This Article To:

The recent announcement of Adeos by Philippe Gerum, Karim Yaghmour, Paolo Mantegazza, and a variety of organizations provides an exciting opportunity to real-time Linux developers. Is there a new, completely GPL, Open Source, solution for hard real-time with Linux? If so, is the solution a sound one? I'll provide my...

opinion on these and other related issues . . .

Should/can I use Adeos for my real-time application right now?

It is too soon to go out and use Adeos directly for a complicated real-time application. Adeos provides a framework on top of which controlled interrupt processing can be built. At this point it seems best to wait for RTAI or some other full-featured real-time API to adopt the Adeos layer. Adeos is sufficient for deterministic interrupt handling but alone does not provide tasking, communication, etc.

What does Adeos do?

Adeos provides functionality at the kernel level. That is in kernel space, and is thus directly available to Linux loadable kernel modules. Consequently, Adeos does not directly provide support to user space applications.

Specifically, Adeos provides the following new kernel functions: adeos_register_domain(), adeos_unregister_domain() ,adeos_renice_domain(), adeos_suspend_domain() ,adeos_virtualize_irq(), adeos_control_irq(), adeos_stall_ipipe, adeos_unstall_ipipe, adeos_restore_ipipe, adp_current,adp_root(). A more detailed description is available in this article.

These functions allow for, among other things, the creation of new "domains". These domains are prioritized. The priority defines in what order interrupts are processed. Thus by creating a domain of higher priority than the domain in which Linux resides, interrupts can be processed before Linux processes them.

Linux does not need to really disable interrupts on the processor. They will simply appear disabled to Linux and that is sufficient. Linux won't be interrupted when it doesn't want to be, because Adeos controls the interrupts. Thus, real-time performance in other, high priority domains, will not be affected by the actions of Linux.

How can I get started using Adeos?

First, download the software patch for linux-2.4.18 which is located here.

After patching the kernel, you must choose "Adaptive Domain Environment support" from the "General setup" portion of the Linux kernel configuration. Note that, at present, there is no help available within the configuration system for that option.

The download for Adeos provides a simple example kernel loadable module which can be used to test that the kernel is supporting Adeos properly. The example also shows how simple it is to register an interrupt handler which will be of priority higher than that of Linux. This simple mechanism may be all that is required for some real-time applications.

What Architectures?

Adeos is currently only available for Linux and for x86. However, it is the concept that is most important. The amount of code for Linux is approximately 1400 lines. Porting this code to a different O/S and to a different architecture may be a relatively simple process. Decisions in the design and implementation of Adeos point to portability as an important goal.

Is Adeos Free?

The comments in the patch file for Adeos state that the software is GPL. Of course, RTLinux claims to be GPL as well. The Adeos software makes no mention of a patent covering its techniques. The announcement from the developers states clearly that they wish to provide a solution that is independent of the patent protecting RTLinux. My sense is that all of the developers involved in Adeos sincerely wish the source to be freely available and not hampered by any software patents.

Is Adeos a sound approach?

If the need is for one particular device to be able to deterministically handle interrupts, then Adeos may be sufficient. This is a simple, and major, advance for real-time with Linux.

The fundamental idea of providing a higher priority for interrupt processing to some application or "domain" other than Linux is a sound approach to providing real-time guaranteed performance. Ultimately, the soundness will rely upon the details of the implementation. With such well experienced developers, and the experience in real-time of the RTAI developers, converging to bring Adeos into existence for real-time Linux, the prospects seem quite good that a new, sound solution for hard real-time in Linux will emerge.

What should be produced is a new round of debate over the relative merits of the approaches to real-time in Linux such as the preemptible kernels, RTLinux, and RTAI. This time, without the cloud of patent infringement that currently exists. Developers will indeed have three or four good solutions for real-time with Linux from which to choose.

What else can Adeos do?

By providing a mechanism for registering interrupt handling, Adeos enables multiple operating systems to co-exist. This includes RTOS's. These OSes must be modified to use the Adeos interrupt mechanism, but, as mentioned above, this may be a relatively easy effort.

In addition, the ability to do kernel debugging on a single piece of hardware, instead of having to do it remotely, will be a welcome benefit to driver writers and others working in kernel space. And perhaps more importantly, kernel debuggers might no longer need to be as tied to kernel releases as is currently required. Instead of requiring a patch, a kernel debugger could be developed simply as a loadable module, and use Adeos to manage interrupts.



About the author:   Kevin Dankwardt is founder and President of K Computing, a training and consulting firm. He has spent most of the last 9 years designing, developing, and delivering technical training for such subjects as Unix system programming, Linux device drivers, real- time programming, and parallel-programming for various organizations world-wide. He received his Ph.D. in Computer Science, in 1988.



Related stories:


Talk back!   Do you have a comment or question on this story?   talkback here




Discuss Thoughts on Adeos
 
>>> Be the FIRST to comment on this article!
 
 
 
>>> More Linux For Devices Articles Articles          >>> More By Linux Devices
 



FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.

Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.

Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.

Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.

High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.

Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.

Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.

Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.

7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
PLATINUM SPONSORS

 
 

 
 

 
 

GOLD SPONSORS


(Become a sponsor)

(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

Mobile phones!

MIDs, UMPCs
& tablets

Mobile devices

Other cool
gadgets

Resource Library

• Unix, Linux Uptime and Reliability Increase: Patch Management Woes Plague Windows Yankee Group survey finds IBM AIX Unix is highest in ...
• Scalable, Fault-Tolerant NAS for Oracle - The Next Generation For several years NAS has been evolving as a storage ...
• Managing Software Intellectual Property in an Open Source World This whitepaper draws on the experiences of the Black Duck ...
• Open Source Security Myths Dispelled Is it risky to trust mission-critical infrastructure to open source ...
• Bringing IT Operations Management to Open Source & Beyond Download this IDC analyst report to learn how open source ...


BREAKING NEWS

• NAS system houses 2.5-inch drives for up to 6TB
• Atom SBC boasts special low-power mode
• Android leaps to rugged handheld, and more phones
• Simulator runs Android apps on Ubuntu
• Fanless industrial PC taps Atom
• Router platform runs OpenWRT Linux
• Feature-packed UMPC survives four-foot drops
• UMPC pioneer gives up the ghost
• Biodegradable, solar-powered netbook runs Linux
• Hypervisor rev'd for higher reliability
• Eurotech spins Atom development kits
• Home media server to demo on Intel Atom platform
• Atom boards feature fanless DC operation
• Low-cost pluggable NAS adds Linux support
• Taiwan open source conference sets agenda


Most popular stories -- past 90 days:
• Linux boots in 2.97 seconds
• Tiniest Linux system, yet?
• Linux powers "cloud" gaming console
• Report: T-Mobile sells out first 1.5 million G1s
• Open set-top box ships
• E17 adapted to Linux devices, demo'd on Treo650
• Android debuts
• First ALP Linux smartphone?
• Cortex-A8 gaming handheld runs Linux
• Ubuntu announces ARM port


DesktopLinux headlines:
• Simulator runs Android apps on Ubuntu
• Hypervisor rev'd for higher reliability
• Pluggable NAS now supports Linux desktops
• Moblin v2 beta targets netbooks
• Linux-ready netbook touted as "Student rugged"
• USB display technology heading for Linux
• Ubuntu One takes baby step to the cloud
• Game over for Linux netbooks?
• Linux Foundation relaunches Linux web site
• Dell spins lower-cost netbook


Also visit our sister site:


Sign up for LinuxForDevices.com's...

news feed


Or, follow us on Twitter...