Reading CSAPP: Comparison with Modern Operating Systems

读CSAPP:与《现代操作系统》的比较

These past few days, I’ve been enthusiastic about reading CSAPP, and I even posted yesterday that reading CSAPP is more enjoyable than reading Modern Operating Systems (haha).

Actually, it’s not mindless bashing of Modern Operating Systems; both have their own pros and cons compared to CSAPP.

CSAPP is translated in China as 深入理解计算机系统, and I cannot agree with this translation. The full name of CSAPP is Computer System: A Programmer's Perspective, and it’s clear that the translation does not convey the meaning of APP. Moreover, where in the original name does it suggest the meaning of 深入? I think translating it to “Understanding Operating Systems from a Programmer’s Perspective” or something similar that can express the APP meaning would be more appropriate.

In comparison to Modern Operating Systems, CSAPP has not reached the level of being called 深入理解操作系统. Instead, it embodies the most important aspect of the entire book, which is APP (a programmer’s perspective).

CSAPP does not cover much about the basic hardware architecture of computers; many hardware and system-level implementation details are briefly touched on, lacking the extensive coverage of various hardware designs/parameters/principles found in Modern Operating Systems (which I almost couldn’t stand reading). The core of it is still about understanding operating systems from the APP (a programmer’s perspective), focusing on how to optimize programs.

Having read Modern Operating Systems, reading CSAPP feels fluid (maybe also because I haven’t reached the deeper parts yet). Before reading, I was worried that there would be too much overlap with Modern Operating Systems, making this book a waste of purchase, but that worry turned out to be unnecessary.

Here, I also want to give Modern Operating Systems its due recognition: from the perspective of 深入理解操作系统, CSAPP still does not surpass Modern Operating Systems. Certain sections of CSAPP are written rather broadly (for instance, the hardware section or process scheduling section), while the author of Modern Operating Systems spends a significant amount of effort to detail these topics. However, from a programmer’s perspective, Modern Operating Systems is overly focused on the bottom-level logic of system (hardware and software), lacking the straightforward and incisive approach of CSAPP (of course, the programmer’s perspective aligns more with my taste).

Overall, CSAPP and Modern Operating Systems complement each other well. In terms of knowledge depth and breadth, they are mutually beneficial, and both are foundational theoretical texts about computer systems, rather than guides on system interfaces. If you want to learn about operating system interfaces, you should read APUE (Advanced Programming in the UNIX Environment) (IQ -10).

Additionally, I’ve heard that there’s a book called Structure and Interpretation of Computer Programs (SICP) that’s good, so I’ll buy it and read it when I have time (IQ -90).
Oh no, there’s no IQ left to deduct!

The article is finished. If you have any questions, please comment and communicate.

Scan the QR code on WeChat and follow me.

Title:Reading CSAPP: Comparison with Modern Operating Systems
Author:LIPENGZHA
Publish Date:2016/08/30 01:32
Word Count:2.5k Words
Link:https://en.imzlp.com/posts/33213/
License: CC BY-NC-SA 4.0
Reprinting of the full article is prohibited.
Your donation will encourage me to keep creating!