Live data from Hacker News

Brushing up on operating systems and C programming

shubhro.com

1–10 of 89 posts

Re: Brushing up on operating systems and C programming

#2
I recently decided to review operating systems, but my old Tanenbaum textbook from college would take forever to read through especially now that I'm working full time. I've been watching the Berkeley lecture series on Youtube (CS 162) and its been pretty good at covering the main topics concisely.

Re: Brushing up on operating systems and C programming

#5
Can anyone recommend an intermediate to advanced C book? I feel like most C material I've been exposed to in the past lacks what a modern C project should have when it comes to best practices, code organization, build tools (should I use make for this, cmake, where does autotools fit? what about clang vs gcc?), linters (valgrind?), testing, etc. I recognize that much of this falls outside of C, but all of these tools seem like things C projects routinely grapple with.

Re: Brushing up on operating systems and C programming

#6
post #5

Can anyone recommend an intermediate to advanced C book? I feel like most C material I've been exposed to in the past lacks what a modern C project should have when it comes to best practices, code organization, build tools (should I use make for this, cmake, where does autotools fit? what about clang vs gcc?), linters (valgrind?), testing, etc. I recognize that much of this falls outside of C, but all of these tools…

[deleted]

Re: Brushing up on operating systems and C programming

#7

This book is not about OS dev but rather systems programming: "The Linux Programming Interface", https://nostarch.com/tlpi For OS development resources, this wiki is very good: http://wiki.osdev.org

> This book is not about OS dev but rather systems programming: "The Linux Programming Interface", https://nostarch.com/tlpi

You can also look through the man pages for free.

https://www.kernel.org/doc/man-pages/

Or if you are adventurous you can play around with syscalls in assembly.

https://syscalls.kernelgrok.com/

Also, the examples for TLPI are available online

http://man7.org/tlpi/code/online/index.html

Re: Brushing up on operating systems and C programming

#8
post #5

Can anyone recommend an intermediate to advanced C book? I feel like most C material I've been exposed to in the past lacks what a modern C project should have when it comes to best practices, code organization, build tools (should I use make for this, cmake, where does autotools fit? what about clang vs gcc?), linters (valgrind?), testing, etc. I recognize that much of this falls outside of C, but all of these tools…

You could take a look at Ben Klemens’ 21st Century C from O’Reilly. It covers that precise territory.

I can’t recommend it as I haven’t read it yet — it has been on my eyes-bigger-than-my-time-and-energy book pile for a couple of years.

Re: Brushing up on operating systems and C programming

#9
post #5

Can anyone recommend an intermediate to advanced C book? I feel like most C material I've been exposed to in the past lacks what a modern C project should have when it comes to best practices, code organization, build tools (should I use make for this, cmake, where does autotools fit? what about clang vs gcc?), linters (valgrind?), testing, etc. I recognize that much of this falls outside of C, but all of these tools…

I really liked this one: http://shop.oreilly.com/product/0636920033677.do (21st century C, in case the link is wrong as I’m on my phone now)

Re: Brushing up on operating systems and C programming

#10

This book is not about OS dev but rather systems programming: "The Linux Programming Interface", https://nostarch.com/tlpi For OS development resources, this wiki is very good: http://wiki.osdev.org

> This book is not about OS dev but rather systems programming: "The Linux Programming Interface", https://nostarch.com/tlpi You can also look through the man pages for free. https://www.kernel.org/doc/man-pages/ Or if you are adventurous you can play around with syscalls in assembly. https://syscalls.kernelgrok.com/ Also, the examples for TLPI are available online http://man7.org/tlpi/code/online/index.html

Not to pick on you specifically, but I've really grown to hate this type of response to this very common question. Most people new to a topic want an instructional manual or guide, not a technical reference. Man pages and tables of syscalls are decidedly the latter, and therefore primarily intended for people who are already familiar with the topics they cover.
Post reply on HN