FreeBSD kernel system call

FreeBSD is not Linux and system calls are implemented differently.


 
As background for any kernel programmer, it would probably be a good idea to read the "daemon book", a.k.a. The Design and Implementation of *BSD, by Kirk McKusick and friends.
 
I have tried, but it seems that the relation thread/process is different in FreeBSD than that of Linux, where process almost congruent to thread.
Indeed FreeBSD is more mature and complex that Linux (at the level of quality and maturity of code), but system calls theoretically are equivalent, at least at the level of concepts and of implementation in source code (do that and that, in that and that files, and not forget to #include that and that header).
I will try once more, and more, and more, till I get the final and perfect, proper result.
Thank you.
 
As I try to understand FreeBSD kernel programming (and eventually the design), I have only the support of my (limited) knowledge of Linux kernel programming and UNIX design (may it be Bach's book, and Linux : ULK & Robert Love). I try to put them - FreeBSD , Linux - in parallel, in comparation...
 
You will have better access to more people deeply involved in this on the mailing lists than you will find here, though a few do hang out here.
 
... system calls theoretically are equivalent, at least at the level of concepts and of implementation in source code (do that and that, in that and that files, and not forget to #include that and that header).
Only theoretically. In practice, kernel interfaces are wildly different. That's why writing kernel code that needs to run in multiple OSes is very difficult and time-consuming.

As I try to understand FreeBSD kernel programming (and eventually the design), I have only the support of my (limited) knowledge of Linux kernel programming and UNIX design (may it be Bach's book, and Linux : ULK & Robert Love). I try to put them - FreeBSD , Linux - in parallel, in comparation...
The Bach book is about SysV, and has very little to do with Linux (which pretty much started from scratch), and not very much with BSD (which diverged from AT&T and SysV about 40 years ago). Using Linux books for BSD kernel programming is ... to put it politely, unproductive. It is like telling a young person to learn to drive in Japan or England, and then making them take the driver's license exam in the US or France. That will hurt.
 
Back
Top