# Book recommendation



## vand777 (Jan 18, 2012)

Until recently, all my programming experience was around Windows programming (C++ mainly, plus C#/MVC3/WCF for some personal web projects etc). I always was a big fan of FreeBSD and decided to completely switch to FreeBSD when working on one of my personal projects. 

I've read few books about Unix/Linux programming and liked one of them a lot.

The Linux Programming Interface: A Linux and UNIX System Programming Handbook by Michael Kerrisk. I think that this book is good enough to be included into "FreeBSD Development: Books, Papers, Slides" list.


----------



## drhowarddrfine (Jan 18, 2012)

> Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions


Being close is not a reason to add a book which would only just add to the collection of an already directly targeted list of FreeBSD books.


----------



## vand777 (Jan 18, 2012)

drhowarddrfine said:
			
		

> Being close is not a reason to add a book which would only just add to the collection of an already directly targeted list of FreeBSD books.



I agree with you. This book is not about FreeBSD programming. Unfortunately, not many books about FreeBSD exist. The above book focuses on Linux but after reviewing each system call it specifies whether it is Linux-specific or is portable to other Unix distributions. It is structured well, not boring at all despite having almost 1600 pages (I was reading on my Kindle  ). 

It is the best book imho for a person who has strong C/C++ experience and just wants to switch from Windows to Unix programming world and to learn more about its system calls. This book helped me to quickly fill the knowledge gap in this area. Of course, the practical experience is precious and the most important one but this book is a good start in terms of theory.

I've already bought few more books (Designing BSD Rootkits: A Introduction to Kernel Hacking and and The Art of Debugging with GDB and DDD) to read in the next several weeks to improve the knowledge and already started building the CI/QA infrastructure for my personal project to gain practical experience. 

It will take me some time to become up to your guys' level but if I had to start from the beginning I would start with this book again.


----------



## fonz (Jan 18, 2012)

vand777 said:
			
		

> I agree with you. This book is not about FreeBSD programming. Unfortunately, not many books about FreeBSD exist.
> [snip]
> This book helped me to quickly fill the knowledge gap in this area.
> [snip]
> ...


These are all valid points. Computer science students learn about (UNIX-ish) kernel programming in courses on operating systems, which are typically taught in the second year. For non-students it can be significantly harder to get up to speed because even figuring out where to start is already something of a challenge.

If you're really interested in FreeBSD kernel hacking, you might also want to pick up a good book on operating systems in general because it explains a lot about the underlying principles and algorithms. _Operating System Concepts_ by Silbershatz et al comes highly recommended and AST (Andrew S. Tanenbaum) has also written some good books on operating systems. But (and this is where the validity of the Doctor's point comes in) such books aren't on the list either because they are too general and not specifically about FreeBSD. In fact, some of the books that _are_ on the list were added hesitantly for being not specifically enough about FreeBSD.

Hope this helps,

Fonz

P.S. Enjoy the Rootkits book, you made a good choice there.


----------



## vand777 (Jan 18, 2012)

Thank you!

I'm not insisting on adding this book into the list. Agree 100% with Doctor's arguments. Just wanted to share my experience and recommend this book because it is really very good! I really hope that this recommendation will help someone!


----------

