The main commercial company behind NetBSD is Wasabi Systems. The company has contributed advances and big chunks of code to the open source project, while they do offer a boxed release of NetBSD. However, their main business for the company is the embedded market and NetBSD is marketed as an embedded OS. Today, we talk to the Vice President of Wasabi Systems, Jay Michaelson.1. NetBSD is the OS of choice at Wasabi Systems. How is the embedded version of NetBSD stacks up in performance when compared to VXWorks, Embedded Linux, QNX, WindowsCE and others?
Jay Michaelson: Wasabi Certified NetBSD is far more adaptable, powerful, and affordable than VxWorks. It is easy to port to new hardware, has a much more powerful networking stack (we know of VxWorks users who have ripped out their TCP stack and plugged in NetBSD’s.), and is free from Wind
River’s cumbersome fees. Moreover, with Wasabi certification and testing, Wasabi NetBSD is guaranteed just like other commercial operating systems.
Regarding Linux, the two main differentiators are portability and licensing. NetBSD, due to its modular portability layer, can be ported much faster than Linux; three weeks compared with three months in some cases. In addition, NetBSD is free of the GPL, which scares many
companies because it requires that all changes to the kernel be made open source. With NetBSD, there are no such requirements.
WinCE offers good application support, but the footprint is large and the reliability not up to par. QNX is a good OS but has lacked the penetration and support to really make a mark. OEMs want operating systems that their engineers can use, and providing a POSIX API and
Unix environment make that possible.
2. NetBSD is a full blown Unix. Does it actually scale down as well as it scales up? What are the minimum specs that NetBSD can run and operate on?
Jay Michaelson: We can get a usable kernel in under 1 Meg. As is well known, NetBSD can run on just about anything — there are still some consultants making a living off of VAX support. We’ve yet to see a commercial application where NetBSD has not been able to scale down adequately.
3. Up to now, where are your partners/clients are mostly lean to: Keeping their version of NetBSD closed or opening their modified sources? How do you see the embedded market/community reacting on open source?
Jay Michaelson: Customers have varied. One recent deal required that the code be kept secret for six months and then released — this is, in a way, the best of both worlds, because it will eventually be supported by the open source community, but in the meantime the customer gets the competitive advantage. Other customers want immediate release; they want to be integrated into the NetBSD source tree right away. And still others commit the basic port but keep some of the bells and whistles private. Wasabi itself has created suites of products and add-ons to NetBSD that are our intellectual property, and which we license to customers.
I think there is real, and justified, concern about the GPL. We’re now
past the initial phase, when FUD from various sources confused the
issue. People now understand that you’re not risking your company security by running Linux on your servers. But at the same time, most of our customers are quite aware that the GPL requires hundreds of thousands of dollars’ worth of IP to be shared, and they don’t like it. It’s a real concern in embedded.
4. What is your opinion on embedded Linux? Can it become as popular and successful as it is today in server space?
Jay Michaelson: The license gets in the way. You’re not changing the kernel in the server space, and Linux runs well, and of course it is widely supported. So the GPL is not an issue. In embedded, the GPL is always an issue. There are so many uncertainties, and such high costs, that the GPL really has hamstrung Linux’s advance in embedded. Add to that the portability gap between Linux on the one hand and NetBSD on the other. If you can get Unix functionality in three weeks instead of three months, which OS would you choose?
5. A year ago, we read that Wasabi Systems were going to bring a “desktop NetBSD“. The news were reported by a number of news agencies. Now, I can’t hear anything about this project except a simple CD release of NetBSD 1.6. Is the project canceled? Changed? Misundertood? If yes, why?
Jay Michaelson: I’m not sure where that news was reported. Our focus has been on embedded since we were founded in May, 2000. We support desktop users and the\ NetBSD Project by release engineering and creating CD-ROM distributions. But it has never been a focus for Wasabi.
I would point out that since Mac OS-X is basically Darwin BSD, BSD in general is already a leading desktop operating system…
6. What if your clients would like to use Java as their language of choice on top of NetBSD? Do you offer Java on top of your NetBSD-based solution?
Jay Michaelson: Stay tuned.
7. What new CPUs are you working on adding NetBSD support?
Jay Michaelson: We’re going to be announcing an important new port later this quarter, so I can’t tell you about that yet. As you know, we work very closely with our partners at Intel, AMD, MIPS, and others to support their next-generation hardware, and we are going to continue to do that. We also ported NetBSD to the Xilinx Virtex-II Pro, and the SuperH SH-5 last fall. With our increasing focus on storage networking devices, I think you’ll see a growing emphasis on the hardware architectures of interest to that market.
1 MB RAM just for the kernel?
And that supposed to be for embedded systems? Well, back in the day unix was running on a 64 KB kernel and it could support up to 50 users… Sure, this is not the ’70s anymore, however, embedded systems hardware for commodity devices are STILL not powerful in general (e.g. cheap mobile phones are only one example out of many), and they come with a big shortage in memory. Most commodity devices come with 128 KB to 1 MB of memory overall..
So, how Wasabi’s NetBSD fits to this market reality? What kind of devices are you running on in the first place?
Although NetBSD has many strengths in the embedded field, it has strengths in the traditional Unix domains of servers, workstations, and even desktops.
For the desktop sphere, Mozilla, your favorite X Windows window manager, and over 3,000 other programs in pkgsrc (what FreeBSD calls ports) all can be installed out of the box. It’s overall elegance in drivers handle the hetrogenic PC market in the case of what I use, the i386 port. (NetBSD was the first *nix to support USB, for example. It’s not always ahead of Linux of course in driver support, but typically when something is (frequently) available, it’s implemented in a correct fashion.)
Many other details of correctness exist. The code is elegant, the man pages are actually useful, and it’s Unix goodness to someone who loves Unix rather than merely hating Microsoft. 🙂 NetBSD seems to be the best kept secret in the open source world… It’s not just for your toaster. 😉
super nice!
Just as JonP i’d like to know what te target market for wasabi’s embedded NetBSD is. When we talk about embedded, most people talk about hard real-time. VxWorks is positioned as a hard realtime OS (Video processing, copiers, path-finders), to my knowledge NetBSD cannot provide that.
waaaassaaaaaaaa bbbiiii !!!
sorry, had to do that!
WAAsaBII
Damn you beat me to it.
WaaSAAAAAAAbi
and to put it in context I think NetBSD is cool because it can play on my Amiga 500.
and to put it in context I think NetBSD is cool because it can play on my Amiga 500
Only if youve seriously modded it, from the website : ” Due to the MMU requirement, it will not run on A500, A600, A1000, A1200, A2000, A4000/EC030, CDTV or CD32 out of the box. You must install a CPU board on them to run NetBSD … minimum RAM requirement is about 8 MB FASTMEM, the minimum hard disk space needed is about 75 MB”.
okay I made that up.
Very cool interview
Seems you did not ask about one of thier most promising technologies…
very interessted in NetBSD…
I am going to try it on my old Mac soon, maybe it can do the job of a router…
Great work guys 😉
Keep on rocking
This was a very nice interview, but a bit short. We want more juicy details! 🙂 It’s great to see original, unique content on OSNews. I’m glad that people are creating real, money-making business models with open source software. It’s very encouraging.
His points about Linux and the GPL are valid, especially to some commercial hardware vendors. However, I wonder if NetBSD can really stay competitive with Linux, as its scalability up and down improves at an increasing rate.
I’m a layman in the area, but while there is no doubt demand for hard real time embedded applications, I bet there are many more with less stringent requirements.
With the ready availablity of cheap hardware, and large memory spaces, NetBSD can now be a better fit for a lot of applications, particularly custom small lot projects vs wide scale consumer products where saving $2 in parts is worth the time and money.
It would be interesting to see how small the kernel would get with only a single disk driver, serial driver, VM, scheduler, and FFS. Dump the TCP/IP stack and fall back on good ‘ol XMODEM. What more do you need?
I’d dump the VM, but I think that would be far to much work.
On the Wasabi web site, they claim a memory “footprint as small as 400KB.” So where did the 1 MB number mentioned in this interview come from? The 400 KB number even claims to include kernel and userland. Maybe 400 KB is the “on disk” size and 1 MB is the runtime RAM size.
http://www.wasabisystems.com/embedded/page5.html
How small can embedded Linux or Windows CE get?
Java support for NetBSD already exists. They have Linux versions that run under emulation and there are also native ports for 1.2.2 and 1.3.1 from the BSD Java Porting team.
Unfortunately this is currently only for i386, but powerpc is soon to come. Many people don’t seem to be aware of this.
>Java support for NetBSD already exists.
Obviously, you did not understand the question then. We are talking about EMBEDDED systems here. You can’t possibly be thinking that they include both the Linux emulation plus the normal Java packages for a device!! That would need about 64-92 MB of RAM, while we are talking about devices that have up to 0.5-4 MB of RAM. There are special, NATIVE and trimmed versions of Java for embedded systems (and not the desktop versions, running under *emulation*). The stuff you describe only work for the desktop/workstation market, not for Wasabi’s business.
The idea that even a 1M kernel is huge for embedded systems these days is, well, getting archaic. Companies like Micromint are still selling 8051-based microcontrollers with 64K RAM, sure–but they’re not even running operating systems, generally, just dedicated applications. Even current generation Z80 chips like the eZ80F9x have a 16M linear address space. When you’re talking about even moderately complex applications, NetBSD’s requirements for a kernel aren’t outrageous.
I love NetBSD : it’s the most elegant Unix I know of. It’s a shame it’s not better known. I can install it in approx. 20 minutes, X included. Never been able to do that with Linux ! (but Linux has some drivers that are not available on NBSD, alas…)
But, for RT and embedded, I would prefer something like QNX…
There is more than one type of embedded market sphere. While there is a enormous market for the kind of kernels that fit on a 8-bit PIC-style CPU, most of those are really more “libraries” than full blown operating systems. This is the kind of thing you see in your toaster, or a microwave, or controlling some little toy. In these markets, you’re trying to save every penny because your production volume is in the millions.
The next market is “hard real-time control systems,” where your primary concern is response intervals, and these are often run on PPC/i386 platforms with things like QNX and VxWorks for hard-response times. This isn’t the NetBSD space.
The NetBSD space is for that other huge set of devices—print servers, NAS, routers, gateways, etc.k, that need more power, but aren’t concerned with hard real-time responses. They just need soft real-time. They also need more functionality, and often run things like 486 CPUs, or other processor platforms that are more “commidity” based. The money saved here is in memory and ancillery chips.
>>>>The money saved here is in memory and ancillery chips.
Not necessarily — because QNX and VxWorks have even smaller footprints. So if NetBSD can do it with a 486, QNX/Vxworks can do it with a 386. If NetBSD needs 4 Meg of RAM, QNX/Vxworks can do it with 2 Meg of RAM.
And pricing for QNX/VxWorks are all over the place — most of the disposible ink-jet printers (where the price of ink refill is greater than the printer itself) runs on vxworks —- per unit royalty for QNX/VxWorks can be less than $1 per ink-jet printer or more than thousands of dollars per MRI machines in hospitals.
So there are always the probably that the cost of per unit royalty for QNX/VxWorks to be less than the cost of increased hardware requirement if NetBSD is used.
QNX is undoubtedly a very elegant microkernel based embedded RTOS.
Interestingly enough, however, if you are doing an application that requires a TCP/IP stack (most of those of interest to NetBSD users) both Wind and QNX use the NetBSD stack (that should say something right there). However, they are both earlier than the current NetBSD version. So, once you add that functionality to your design, the foot print is only marginally different. Certainly not enough to make much difference in the cost of components.
Also, once you get to older “obsolete” chip designs in the x86 world(like 386/486) the cost of the chip is relatively flat due to lower volumes and may actually be higher than a more modern implementation of a low end celeron with plenty of resources for any of these OS choices.
There are several ink jet/laser printer companies (well known and large) using NetBSD for their embedded OS today.
Go NetBSD!
In case any one is still reading this, I found some rough numbers of Embedded Linux’s memory footprint. The following is from Red Hat’s web site comparing Embedded Linux and their eCos embedded OS, so they have an interest to “play nice” with both OSes being compared. 🙂
http://www.redhat.com/embedded/technologies/ecos/
Linux currently scales from a minimal size of around 500 kilobytes of kernel and 1.5MB of RAM, all before taking into consideration application and service requirements.
eCos provides the basic runtime infrastructure necessary to support devices with memory footprints in the 10’s to 100’s of kilobytes, or with real-time requirements.
>>>>Interestingly enough, however, if you are doing an application that requires a TCP/IP stack (most of those of interest to NetBSD users) both Wind and QNX use the NetBSD stack (that should say something right there).
Not necessarily. The newest QNX comes with 3 different tcp/ip stack. While the standard QNX tcp/ip stack is the full bsd tcp/ip stack (which everybody else also provides), QNX also come with a very small embedded tcp/ip stack and a ip6 stack.
And that’s only their standard OEM stacks. There are also tons of 3rd party companies that have built even smaller (or even bigger/more functional/more cutting edge) QNX ip stacks for the Cisco’s and Motorola’s. The same is also true for vxworks and lynx — they have to — because telecom is their biggest customers.
>>>So, once you add that functionality to your design, the foot print is only marginally different. Certainly not enough to make much difference in the cost of components.
Just look at the different QNX shells. They have a full-sized korn shell, a fat embedded shell, an embedded shell and a micro-embedded shell. That’s the difference between the commercial embedded OS and embedded netbsd/linux — the pros have the 15-20 years of experience in miniaturizing every single part of their OS. Little things like that quickly adds up to saving a lot of footprint.
>>>There are several ink jet/laser printer companies (well known and large) using NetBSD for their embedded OS today.
Those Ricoh laser printers are usually isolated projects.
http://www.netbsd.org/gallery/products.html
Whereas Vxworks basically cornered HP/Minota/Kyocera range of office products.
http://www.windriver.com/windword/html/oem_choose.html
[snip]
>>>> Those Ricoh laser printers are usually isolated projects.
….
>>>> Whereas Vxworks basically cornered HP/Minota/Kyocera range of office products.
Yes. But will VxWorks corner the printer market *forever*?
Wasabi looks to have a growth market ahead of it.