Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

difference between Linux kernel and UNIX kernel(such as FreeBSD) from programmer's point of view

Tags:

linux

unix

kernel

difference between Linux kernel and UNIX kernel(such as FreeBSD) from programmer's point of view. I searched several articles about this. They compared these from User's view and Administrator's view also from Company's manager's view. Can any body find article or say something from programmer's view?

The programmer I means, both user land programmer or kernel level programmer?

Any hints or enlightenment is really appreciate.

Wish this is not a cliche question make everybody sick. :P

like image 949
Josh Morrison Avatar asked Feb 25 '23 02:02

Josh Morrison


2 Answers

From a standards point of view there really isn't any difference. Linux is a "POSIX" compliant OS, FreeBSD, Mac OS X and Solaris are also all "POSIX" compliant. In theory at least.

Once you move past the standards there are quite a few differences. Linux as inotify, udev and a bunch of other systems that are unique to it. FreeBSD has kqueue. There are differences in their exact implementations of things like ptrace. For example Mac OS X's ptrace has almost no functionality that you will find in the other Unix systems.

Beyond custom libraries there are differences in development tools. Solaris and FreeBSD have dtrace. Linux has valgrind. Mac OSX has instruments.

What level you are looking at will affect what differences you see or don't see.

like image 148
Tabitha Avatar answered Feb 27 '23 16:02

Tabitha


For a userland programmer, there is no difference. The userland programming will be coding to a language VM like C and it will be up to the C library routines to translate that into lower level system calls.

Those using other tools such as Perl, Python, Java and so on, are even more removed from the kernel so it will not directly affect them either.

In terms of the kernel programmer, the differences are likely to be significant since the kernels themselves are different. I haven't seen the FreeBSD internals although I've done a fair bit of work inside Linux, so I can't comment intelligently on the low-level differences but (and this final bit is informed opinion, not gospel), since they run independent development streams, the chances of having exactly the same view is small.

like image 22
paxdiablo Avatar answered Feb 27 '23 14:02

paxdiablo