6 ms·
Advanced Linux Programming – book with free PDF (2001)
- nickles 11y ago>> http://advancedlinuxprogramming.com/about.html http://advancedlinuxprogramming.com/about.html This appears to be the first edition of the book, published in 2001. Is this book still useful, considering it's 15 years old?
- dkopi 11y agoIf you're looking for a better maintained book, I'd recommend "Advanced Programming in the UNIX Environment" by W. Richard Stevens, revised by Stephen A. Rago. It's not a free PDF however, but well worth the money.
- notalaser 11y agoSome of the subjects it treats are low-level enough (and of Unix-ish heritage) that their treatment is probably not irrelevant today. The performance considerations of threads and processes are probably out of date, but their API (sections 3 and 4) is largely still the same. Same for shared memory and other IPC mechanisms described in section 5. The API re. section 7 still applies -- /proc has expanded considerably since 2001, but it's still used in the same manner. Chapter 8 is probably more out of date than others, but you can still follow it. Stuff in 9 is probably not used much anymore, an #10, while adequate, would probably be considered incomplete today. I'd say it's still useful to someone who comes to Linux from other platforms, or to people who are already using Linux but aren't familiar with systems programming under it. Edit: although, as someone else pointed out, APUE is probably a better choice (and was a better choice back in 2001, too).
- brudgers 11y agoWith the exception of systemd versus init, the big ideas are pretty much unchanged. Details around hardware and distribution features should be kept in historical perspective and application context, by which I mean that a 2001 64 megabytes of RAM desktop might be today's embedded system and most people won't have to configure networking over two dial up modems. For me, the critical issue with technical books is readability and accessibility. If it's in front of me and I enjoy reading it because I'm learning something, that's often good enough. If I were already an expert Linux programmer, then I might have different criteria. I know I ain't.
- b3h3moth 11y agoThis book is dated - there was the kernel 2.4 and a lot of system calls were changed or removed - but I think it is one of the best book available on GNU/Linux system programming. I love "UNIX Systems Programming: Communication, Concurrency and Threads", it is simply great.
- ak2196 11y agoStevens APUE is a much better choice.
- richm44 11y agoI'd recommend this book instead 'The Linux Programming Interface' http://man7.org/tlpi/ http://man7.org/tlpi/ it's a lot more recent and the content is excellent, though it's not a free download. The author is also the maintainer of the linux man pages.
- jaimehrubiks 11y agoWell I don't think it is so much better, I is very usefull but it seems to my more like a manual than a book
- ctur 11y agoTwo alternative, and better, choices, if you're willing to spend a few dollars (and hopefully expense it to your manager): The Linux Programming Interface: http://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200/ http://www.amazon.com/Linux-Programming-Interface-System-Han... Advanced Programming in the UNIX Environment: http://www.amazon.com/Advanced-Programming-UNIX-Environment-3rd/dp/0321637739/ http://www.amazon.com/Advanced-Programming-UNIX-Environment-... A not-too-distant third choice, Linux System Programming: http://www.amazon.com/Linux-System-Programming-Talking-Directly/dp/1449339530/ http://www.amazon.com/Linux-System-Programming-Talking-Direc...
- stplsd 11y agoIn my opinion these are best two books on the subject. Stevens' book is classic and have been updated quite recently (3rd edition came out 3 years ago), LPI is very extensive and have some specific Linux info not present in Stevens' book and is clearly influenced by Stevens book.
- b3h3moth 11y agoStevens is dead many years ago. The second and the third editions were written by Rago. He is a good author but he is not Stevens.
- ndesaulniers 11y agoLPI is the way to go. I just started doing kernel devlopment professionally, and ironically the content of LPI is relatively higher level. Glad I read it before starting though.
- ntumlin 11y agoHow strongly do you recommend these books? Unfortunately I'm a college student without much cash to toss around, but I can scrape together enough for a book if it'll make me a better programmer in the long run.
- ereyes01 11y ago
- raimue 11y agoopens book Chapter 1: Getting Started 1.1 Editing with Emacs closes book
- nickpsecurity 11y agoYeah, that would be me lol. I've been dodging that program for a long time now. Briefly tolerated it in a self-contained LISP setup. Had a piece of paper helping me along on basic stuff. (shudders)
- massysett 11y agoBook does not understand its audience. "An editor is the program that you use to edit source code." No "advanced" programmer needs to be told that. OK, maybe if all you know is an IDE, you don't know this...but the book says it's assumed that the reader can do basic command-line stuff. If you can do that you must know what an editor is. Also I saw "GNU/Liux" in the front matter. [edit] Next section started "A compiler turns human-readable source code into machine-readable object code that can actually run."
- acveilleux 11y agoI think this was the Windows -> Linux chapter. Almost no one who bought the book needed it but if your prior experience was something like Visual Studio 6.0 (current at that time) it helped to get some pointer. Back then newbies were liable to end up using pico... And that would not go so well.
- cbd1984 11y agoWe don't need the trolling.
- kev009 11y agoIf you are doing "Linux programming" instead of UNIX programming, you are most likely doing something wrong.
- stonemetal 11y agoUsing the higher performance Linux specific interfaces like epoll isn't doing it wrong, it is getting the most out of your platform. Perhaps it is doing it wrong to use it directly instead of a library in application code, but someone still has to know enough to write the library.
- tkinom 11y agoWhere can I find a "UNIX" distribution to try? :-) Linux are in every android cell phones, PI, pc, etc.
- stonemetal 11y agoBuy a Mac, OS X is a certified UNIX.
- cbd1984 11y agoz/OS is legally UNIX. So's HP-UX and Solaris (probably not any of the Open Source variants, however). None of the Open Source BSDs qualify as UNIX, however.
- dang 11y agoThis sort of comment could be based on real knowledge, but it's hard to tell because you just gave us a conclusion rather than showing us how you came to it. A better comment would add information: give an example or two, tell a story, or say what's behind your thinking somehow.
- kidgorgeous 11y agowhy are all the chapters in separate pdf's? Is that unintentional or an enticement to buy the book when it comes out? If it's the former, anybody got a full pdf download link?
- _kst_ 11y agoThe first line in the table on http://advancedlinuxprogramming.com/alp-folder/ http://advancedlinuxprogramming.com/alp-folder/ is a link to the PDF of the full book. http://advancedlinuxprogramming.com/alp-folder/advanced-linux-programming.pdf http://advancedlinuxprogramming.com/alp-folder/advanced-linu... (The size in the table is incorrect. It's 3866012 bytes, not 1273361. The md5sum is correct.)
- kidgorgeous 11y agoderp! Thanks for pointing that out!
- _kst_ 11y agoThe size has now been corrected.
- jaguar86 11y agoThis is a good write up for IPC related stuff - http://beej.us/guide/bgipc/output/html/singlepage/bgipc.html http://beej.us/guide/bgipc/output/html/singlepage/bgipc.html
- tyingq 11y agoIt is somewhat helpful, but the examples for shared memory and mmap ignore concurrency issues and refer you to a generic, non-language specific WikiPedia page for guidance.
- bluedino 11y agoIs this a good read after finishing Beginning Linux Programming (big red book by WROX) by Neil Matthew and Richard Stones?
- ruraljuror 11y agoI am getting interested in Unix programming, but essentially starting from scratch. I've read through the first two chapters of the The Linux Programming Interface, and while I think it is a great book, so far it has not been easy for me to find points of entry. I think it might not be the best book for me to start with. I've just started How Linux Works, but I thought I might take this opportunity to ask for suggestions for someone trying to get started (doesn't have to be a book).
- brudgers 11y agoRaymond's The Art of Unix Programming is a good resource for understanding the design philosophy of Unix...and by extension Linux. It explains much of the context and history behind why things are done the way they are done and what good nix programs do to be good nix programs. http://www.catb.org/esr/writings/taoup/html/ http://www.catb.org/esr/writings/taoup/html/
- maqbool 11y agopretty good book
- thatguy_2016 11y agoIt seems many people dont like this book. Why's that?
- known 11y agohttp://www.kohala.com/start/ http://www.kohala.com/start/