Username/Email:  Password: 
TwitterFacebookFlickrRSS

An Interview with Victor Yodaiken

The father of real-time Linux talks to ELJ about the past, present and future of RTLinux.

Victor Yodaiken, project leader for RTLinux, is considered by many to be the father of ``real-time Linux.'' We first heard from him in his article "Introducting Real-Time Linux" which was published in the February 1997 issue of Linux Journal. Yodaiken, currently president of FSMLabs, a software company headquartered in New Mexico and with developers in the US and Europe, has been working on systems in both industry and academia since the early 1980s when he worked on one of the first commercial distributed fault-tolerant UNIX systems and wrote one of the first ports of UNIX to the 68000.

The Past

ELJ: Could you provide a brief history of RTLinux? Where did it come from? How did the idea for RTLinux arise?

Victor: I was interested in real-time for quite some time, and I was particularly interested in how to fit real-time into an operating system properly. I had also been doing some work on how to prove programs to be correct, program verification, which I think is eventually going to be critical for real-time systems.

ELJ: You were doing this as an instructor or professor at New Mexico Institute of Technology (NMT)?

Victor: I came up with RTLinux at NMT, but I had been working on real-time and related issues even back to my graduate student research. I started working at real-time programming to get a feeling for what were the hard things to understand, and it came to me that one of the hardest and most difficult things in trying to validate that a real-time program works, was to show that the non-real-time components didn't interfere with the real-time components. This led me to think about how you could make sure this didn't happen. Also, I was getting involved in Linux at the time, some of my students were working on the PowerPC Linux port. I was very happy with Linux. So, being interested in Linux, and being interested in real-time, and trying to figure out a way that you could make programs reliable by separating out the real-time and non-real-time parts...they all came together, and I thought of this ``trick'' for running Linux as a sub-thread of the real-time operating system and ``fooling'' it about what was happening with the interrupt controller.

ELJ: It's a brilliant technique! Really, it's one of the most elegant things you can do with computers because, in fact, they simulate hardware in software.

Victor: Some of the complaints we got about the patent were from people who said ``this is so obvious that it's obviously been done before'', and I really sympathize with that because when I thought of this idea I thought, ``this is so obvious that either someone did it before, or there's an obvious reason why it won't work''. Having known about virtual machines, which is a very old idea, predating actual real computers, I was sure that someone had done this. The closest I found was actually something I had known about--an operating system called MERT that was done at Bell Labs in the 70s.

ELJ: What did the MERT developers do? In what ways is RTLinux similar or different from what was done?

Victor: They did an entire virtual layer that ran a real-time operating system on top of an emulation of most of a processor. That was the big difference from other people who had done virtual machines (before). In many ways, the innovation in the RTLinux method is that it emulates such a small part. Everybody knew you could do this kind of stuff with virtual machines, but (the perception was that) virtual machines were very slow (or needed special hardware as in the IBM mainframes). The nice thing about RTLinux is that we have to emulate only this tiny little piece of the hardware (the interrupt controller). Everything else can go on the raw hardware--all the Linux I/O, all the general purpose systems I/O, goes directly to hardware. We don't have to emulate all that, we don't have to emulate very much at all. We just have to emulate this one little piece--interrupt control.

ELJ: How long did it take you to unplug yourself from the university and ``go private''?

Victor: It took a long time, and actually RTLinux development really slowed down, because after we had done the first versions I got drafted to be the department chairman. So I spent two years doing RTLinux in my very, very little amount of spare time. I had all this idiotic administrative work, I was teaching, and I have a wife and children I like to see sometimes too, so I had almost no time to work on RTLinux. So development was pretty slow for a while. Finally, I decided that I really had to devote myself full time to RTLinux. I've been on leave (from the University) and working on it full time only since January [2000].

ELJ: Are you expecting to go back to the academic environment, or do you think you'll stay commercial?

Victor: I have a lot of research interests that I would still like to work on at some point, but making RTLinux an ``industrial strength'' product will come first. I'm going to stay with the company (FSMLabs) as long as it takes for that, full time. If I can keep one foot in academia at some point, that would be nice. But my agenda right now is to make RTLinux ``industrial strength'' and to make FSMLabs a going concern that's on its own feet and not necessarily dependent on me anymore. We're growing pretty fast, so I think we will get there.

______________________