next up previous
Next: Kernel Up: ORB and Kernel Details Previous: ORB and Kernel Details

ORB

While writing a CORBA ORB from scratch would have been fun, it also would have diverted significant effort from the main goals of this project. Therefore, we decided upon the more focused task of ``porting'' an existing ORB into the Linux kernel. Fortunately, there are many Open Source ORBs in existence, so we had many to choose from.

We had several properties that we required from an implementation, and these requirements served as a guide when making our ORB selection. First, we desired an ORB that was relatively small, and with code that was easy to understand. This eliminated ORBs like TAO. Second, we wanted something that would interface well with the kernel. Third, we wanted something that was modular, so that we could strip out unnecessary functionality easily.

Based on these requirements, ORBit1, the ORB designed for the Gnome project2, fit the bill perfectly. ORBit is a CORBA 2.2-compliant ORB that was designed for speed and to C language CORBA bindings. The first objective helps us because it means that ORBit is rather lean. The second point is important because not only does ORBit provide bindings for the C language (which is important for interfacing with system libraries, which are almost exclusive coded in C), but it also means that ORBit itself was programmed entirely in C! This makes integrating ORBit into the Linux kernel much more tractable. We have standardized on version 5.3 of ORBit for this project.


next up previous
Next: Kernel Up: ORB and Kernel Details Previous: ORB and Kernel Details