The difference between the Linux kernel and the UNIX kernel (for example, FreeBSD) from the point of view of the programmer

the difference between the Linux kernel and the UNIX kernel (for example, FreeBSD) from the point of view of the programmer. I was looking for several articles about this. They compared them to the "User" and "Administrator" views also from the "Company Manager" view. Can any body find an article or say something from a programmer’s point of view?

The programmer, I mean, as a ground user programmer, or a kernel level programmer?

Any clues or enlightenment really appreciate.

Wish it was not a cliche question that makes everyone sick: P

+4
source share
2 answers

There is no difference for a user space programmer. User space programming will be encoded by a language virtual machine such as C, and this will be before the C library routines to translate this to lower system calls.

Those who use other tools, such as Perl, Python, Java, etc., are even more removed from the kernel, so they also will not directly affect them.

In terms of a kernel programmer, the differences can be significant since the kernels themselves are different. I did not see the inside of FreeBSD, although I did a little work inside Linux, so I can’t comment on the reasonable differences at a low level, but (and this last bit is an informed opinion, not the Gospel), since they launch independent development threads, there is a chance the exact same view is small.

+3
source

In terms of standards, there really is no difference. Linux is POSIX compatible, FreeBSD, Mac OS X and Solaris are also POSIX compatible. Theoretically, at least.

Once you get past the standards, there are quite a few differences. Linux like inotify, udev, and many other systems that are unique to it. FreeBSD has kqueue. There are differences in their exact implementation of things like ptrace. For example, Mac OS X ptrace has virtually no features that you will find on other Unix systems.

In addition to custom libraries, there are differences in development tools. Solaris and FreeBSD have dtrace. Linux has valgrind. Mac OSX has tools.

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

+5
source

Source: https://habr.com/ru/post/1339938/


All Articles