3 ms·
"Systems Programming" from a Application Developer's pov involves knowledge of; * Low-level languages, compiler runtimes, toolchains and libraries. * OS sy
by rramadass 5y ago
"Systems Programming" from a Application Developer's pov involves knowledge of;
* Low-level languages, compiler runtimes, toolchains and libraries.
* OS system call apis.
* Concurrency.
* Networking.
You need books/papers which will teach and walk you through sample idioms and applications in the above domains. A prerequisite is fluency in the C language. With that in mind the following are recommended (some are old books which you can buy used and cheap wherever possible);
* Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron.
* The C Companion by Allen Holub. A gem of an oldie.
* ELF: From the Programmer's Perspective; a paper by Hongjiu Lu.
* UNIX Network Programming by Richard Stevens. Initially, get the old 1st edition since it contains TCP/IP, IPC etc. all in one volume.
* Advanced UNIX Programming by Marc Rochkind.
* Advanced programming in the UNIX Environment by Richard Stevens.
* UNIX Systems Programming by Robbins and Robbins.
* Programming for the Real World, POSIX.4 by Bill Gallmeister.