With two[1] other[2] great articles about the guts of how programs _actually_ get loaded and run, I was reminded of the above great (multi-part) article, which I remember reading on the subway in tiny chunks and being surprised it ever works at all.
My CS degree was from a liberal arts university, and while I wouldn't trade anything for the coverage of ethics, previous AI bubbles/winters, and my time in the business and mathematics departments, these articles along with the glibc author's What Every Programmer Should Know About Memory[4] rounded out my education. I still make use of concepts from both when profiling and debugging programs.
With two[1] other[2] great articles about the guts of how programs _actually_ get loaded and run, I was reminded of the above great (multi-part) article, which I remember reading on the subway in tiny chunks and being surprised it ever works at all.
My CS degree was from a liberal arts university, and while I wouldn't trade anything for the coverage of ethics, previous AI bubbles/winters, and my time in the business and mathematics departments, these articles along with the glibc author's What Every Programmer Should Know About Memory[4] rounded out my education. I still make use of concepts from both when profiling and debugging programs.
[1]: https://news.ycombinator.com/item?id=45706938
[2]: https://news.ycombinator.com/item?id=45706380
[3]: https://www.cs.dartmouth.edu/sergey/cs108/ABI/UlrichDrepper-...
[4]: https://people.freebsd.org/~lstewart/articles/cpumemory.pdf
See also: https://stackoverflow.com/questions/8126311/how-much-of-what...