FreeBSD Kernel Internals Documentation

Kevin Zheng kevinz5000 at gmail.com
Wed Jan 4 02:06:00 UTC 2012


Jerry,

FreeBSD Questions isn't the place to argue about how all OSes should use
a universal API, and how Ubuntu is doing such a good job.

In an ideal world, everyone would speak the same language, use the same
currency, and have identical power outlets. Unfortunately, the last time
I checked, we don't live in this world. Some people are trying to make
that world possible, but until then, you'll have to face the fact that a
universal API doesn't exist.

APIs for a scripting or programming are nothing compared to what
operating systems deal with. POSIX already does a good job of making
sure that these systems (BSD, Solaris, Unix, Linux, etc) have a
relatively similar API. The fact is that the kernel lives at such a low
level that any change will have drastic consequences.

Perhaps some people don't WANT a universal API to exist. If every driver
on Windows worked equally well on FreeBSD, Microsoft may find itself out
of profit. Equally, if FreeBSD ran the same applications on Microsoft,
somebody would be slightly upset that they can't make a profit.

On a more positive note, a universal API would help everyone. Since
everyone here (including me) like it as it is, why don't you take
initiative and put together something? Perhaps you should start out by
creating another system specification that all of the existing operating
systems could adapt. Write a kernel for it. Create your own operating
system that can run everything. I'd use that system.

Wireless cards work perfectly on my Toshiba laptop. In fact, the current
one I use is a USB wireless adapter. The GENERIC kernel finds my cards
perfectly. In addition, I like it when I get to control every single
piece of software I put on my system. I switched FROM Linux because of
this. If you don't like FreeBSD, you don't have to. If you want to
improve it, please go ahead!

Sincerely,
Kevin Zheng


More information about the freebsd-questions mailing list