When I was first starting out as a professional programmer, circa 1981, I spent the first few years of my career working on IBM mainframe operating systems.
In the late 1980's, I moved out of the IBM mainframe world and started working on Unix operating systems. At that time, I learned about Unix by reading books such as The Design of the UNIX Operating System and The Design and Implementation of the 4.3 BSD UNIX Operating System.
Later, I studied the books of Richard Stevens, such as Unix Network Programming and Advanced Programming in the Unix Environment (which was generally known to engineers as APUE).
Time passed (a LOT of time ... :) ).
This summer, via a colleague, I learned about the Michael Kerrisk's The Linux Programming Interface.
Kerrisk's book is an amazing resource for professional Linux system programmers. It is organized thematically, around topics such as processes, memory, I/O, networking, etc. Individual chapters can be read (mostly) independently, so you can jump to a particular section to study a particular topic, but a (highly) motivated engineer can also read the entire book, start to finish, for a complete treatment of the various ways that a Linux programmer can access the facilities of the Linux operating system programmatically.
Of course this isn't summertime reading (although it actually was for me :) ); it is reference material. And great reference material to have!
No comments:
Post a Comment