Acknowledgments
This book, of course, was not written in a vacuum; we would like to
thank the many people who have helped to make it possible.
Thanks to our editor, Andy Oram; this book is a vastly better product
as a result of his efforts. And obviously we owe a lot to the smart
people who have laid the philosophical and practical foundations of
the current free software renaissance.
The first edition was technically reviewed by Alan Cox, Greg Hankins,
Hans Lermen, Heiko Eissfeldt, and Miguel de Icaza (in alphabetic
order by first name). The technical reviewers for the second edition
were Allan B. Cruse, Christian Morgner, Jake Edge, Jeff Garzik, Jens
Axboe, Jerry Cooperstein, Jerome Peter Lynch, Michael Kerrisk, Paul
Kinzelman, and Raph Levien. Reviewers for the third edition were
Allan B. Cruse, Christian Morgner, James Bottomley, Jerry
Cooperstein, Patrick Mochel, Paul Kinzelman, and Robert Love.
Together, these people have put a vast amount of effort into finding
problems and pointing out possible improvements to our writing.
Last but certainly not least, we thank the Linux developers for their
relentless work. This includes both the kernel programmers and the
user-space people, who often get forgotten. In this book, we chose
never to call them by name in order to avoid being unfair to someone
we might forget. We sometimes made an exception to this rule and
called Linus by name; we hope he doesn't mind.
Jon
I must begin by thanking my wife Laura and my children Michele and
Giulia for filling my life with joy and patiently putting up with my
distraction while working on this edition. The subscribers of LWN.net
have, through their generosity, enabled much of this work to happen.
The Linux kernel developers have done me a great service by letting
me be a part of their community, answering my questions, and setting
me straight when I got confused. Thanks are due to readers of the
second edition of this book whose comments, offered at Linux
gatherings over much of the world, have been gratifying and
inspiring. And I would especially like to thank Alessandro Rubini for
starting this whole exercise with the first edition (and staying with
it through the current edition); and Greg Kroah-Hartman, who has
brought his considerable skills to bear on several chapters, with
great results.
Alessandro
I would like to thank the people that made this work possible. First
of all, the incredible patience of Federica, who went as far as
letting me review the first edition during our honeymoon, with a
laptop in the tent. I want to thank Giorgio and Giulia, who have been
involved in later editions of the book and happily accepted to be
sons of "a gnu" who often works
late in the night. I owe a lot to all the free-software authors who
actually taught me how to program by making their work available for
anyone to study. But for this edition, I'm mostly
grateful to Jon and Greg, who have been great mates in this work; it
couldn't have existed without each and both of them,
as the code base is bigger and tougher, while my time is a scarcer
resource, always contended for by clients, free software issues, and
expired deadlines. Jon has been a great leader for this edition; both
have been very productive and technically invaluable in supplementing
my small-scale and embedded view toward programming with their
expertise about SMP and number crunchers.
Greg
I would like to thank my wife Shannon and my children Madeline and
Griffin for their understanding and patience while I took the time to
work on this book. If it were not for their support of my original
Linux development efforts, I would not be able to do this book at
all. Thanks also to Alessandro and Jon for offering to let me work on
this book; I am honored that they let me participate in it. Much
gratitude is given to all of the Linux kernel programmers, who were
unselfish enough to write code in the public view, so that I and
others could learn so much from just reading it. Also, for everyone
who has ever sent me bug reports, critiqued my code, and flamed me
for doing stupid things, you have all taught me so much about how to
be a better programmer and, throughout it all, made me feel very
welcome to be part of this community. Thank you.
|