易燃物汇聚 YouTube 有声书与书评
Linux是怎样工作的 封面

Linux是怎样工作的

[日]武内觉 著

1.5万人在读
11.5万字总字数
¥34.9定价

有声书与视频解读 YouTube视频解读 2

内容简介

本书结合大量实验程序和图表,通俗易懂地介绍了Linux操作系统的运行原理和硬件的基础知识,涉及进程管理、进程调度器、内存管理、存储层次、文件系统和外部存储器等。实验程序使用C语言和Python编写,读者可亲自动手运行程序,来确认系统的行为。另外,以图解的方式介绍各知识点,简明且直观,能够帮助读者加深理解。读者只需对Linux基本命令有所了解,即可轻松阅读。 本书适合应用程序开发人员、系统设计师、运维管理人员和技术支持人员等人士阅读。

读者书评

★★★★★

这本书可以让你知道在操作系统中,进程管理,内存管理等机制在真实的世界中到底是怎么运行的,会让你直观感受到他们的机制,内容又不会很晦涩,适合作为OS的入门书,用于对OS有一个认知层面的了解。 读过这本书之后可以尝试《操作系统导论》,这本书从更抽象的层次,也就是虚拟化、并发、持久化三个方面详细介绍了OS的实现细节。 此外,有一定基础之后可以在b站学习南京大学蒋炎岩老师的《操作系统》视频课程,个人感觉是OS相关的中文课程里面含金量最高的,理论和实践结合,每看一遍都有新的收获,但是要对计算机系统有一定的基础。

★★★★★

技术类书籍终归在微读这里app里是小众读取,读之前没报太大希望,读到后面发现写的挺好的,特别适合Linux初学者,这本书无法帮助你命令,但会告诉你系统底层的运作机制,CPU在执行过程中是怎么个流程,内存的读取和操作是怎么进行的等,这是一本能从底层原理帮助Linux初学者理解Linux的,能让我们在学习Linux增加信心的一本书。

★★★★★

最近读到一本《Linux是怎样工作的(增订版)》,书中深入讲解了进程管理、进程调度、内存管理等核心机制。掌握这些内核知识后,就能更高效地定位和解决各种复杂问题。 在操作系统中,从最早的 Unix 到 Minux 再到如今的 Linux。Linux 之父林纳斯·托瓦兹从不靠 Linux 来赚钱,而是坚持开源、自由,因此他在技术圈获得了神一样的地位。 那些靠 Linux 内核上市的公司比如 Red Hat 赚得盆满钵满。再看看微软,Windows 一直是它赚钱的法宝,和 Linux 不同的是它闭源,也就是代码不公开。而林纳斯是纯粹的技术理想主义者,单从他坚持开源的角度 Linux 真值得大家学习一下。

★★★☆☆

信息密度太低,适合完全对操作系统没有概念的小白读读了解操作系统的职能

★☆☆☆☆

内容零散,没有把各方面内容串起来围绕怎么工作的主题,代码排版混乱。 一些专业术语翻译不准,怀疑译者对Linux的熟悉程度。

★★★★★

读书笔记:《Linux是怎样工作的》—— 系统底层的“透视”之旅 书名: 《Linux是怎样工作的:从头开始弄懂Linux系统底层运行机制》 作者: [日] 武内 觉 阅读状态: 已读完 核心评价: 这本书不是教你配置服务器的说明书,而是一本教你用“显微镜”(strace/sar)观察系统脉搏的解剖图谱。 第1章:计算机系统概览 —— 划清界限的艺术 笔记: 计算机的世界被一道严格的红线划分为“用户态”和“内核态”。 我们写的 Python 或 Java 程序平时都在用户态“自嗨”,但只要涉及到任何硬件操作(比如读文件、发网络包、甚至仅仅是打印一行日志),都必须卑微地发起系统调用(System Call),请求拥有上帝视角的内核代为执行。 💡 Insight: 这一章让我明白了为什么 strace 这么重要——因为它守在这个边界上,记录了应用程序向内核发出的每一次“请求”。读懂了系统调用,就读懂了程序的真实意图。 第2章:进程管理 —— 影分身之术 笔记: 进程是操作系统为了管理任务而创造的抽象容器。Linux 创建进程的方式非常“反直觉”:它不凭空创建,而是使用 fork() 系统调用,像细胞分裂一样完整复制父进程(包括内存表),然后再通过 exec() 变身成新的程序。 💡 Insight: 虽然 fork 听起来很重(复制整个内存?),但内核使用了 Copy-on-Write(写时复制) 技术,只有在子进程试图修改数据时才真正复制物理内存。这种“懒惰”的机制极大地优化了创建进程的速度。 第3章:进程调度器 —— 并发的幻觉 笔记: 我们以为电脑能同时跑几百个软件,其实是 CPU 在极短的**时间片(Time Slice)**内疯狂切换造成的视觉残留。调度器(Scheduler)就是那个决定“谁先吃肉、吃多久”的裁判。 💡 Insight: 天下没有免费的午餐,上下文切换(Context Switch) 是有昂贵代价的。每次切换,CPU 都要保存寄存器、刷新缓存。这解释了为什么在高并发场景下,线程开得太多反而会导致系统吞吐量下降——因为 CPU 都在忙着切换,没空干正事。 第4章:内存管理(系统层)—— 巨大的谎言 笔记: 操作系统是最大的“诈骗犯”。它通过虚拟内存机制,给每个进程都发了一张“你有 4GB 内存”的空头支票。只有当进程真的去读写这块内存时,CPU 触发缺页中断(Page Fault),内核才会慌忙去分配真实的物理内存条空间。 💡 Insight: 这种“按需分配”机制不仅节省了内存,还隔离了进程间的安全风险。理解了 Page Fault,就理解了为什么有时候程序刚启动时会有一点点卡顿(正在疯狂触发中断分配内存)。 第5章:内存管理(进程层)—— 领地规划 笔记: 深入进程内部,内存被划分成了功能明确的社区。 代码段放指令; 数据段放全局变量; 栈(Stack)由系统自动维护,存放函数调用和局部变量; 堆(Heap)由程序员手动 malloc 申请。 💡 Insight: 所谓的“内存泄漏”(Memory Leak)通常就发生在堆上;而“栈溢出”(Stack Overflow)通常是因为递归太深把栈空间撑爆了。搞清楚这个布局,Debug 时看内存报错就不再是看天书了。 第6章:存储层次与缓存 —— 内存的极致利用 笔记: 这是全书最颠覆认知的一章。Linux 的哲学是:“闲置的内存就是浪费”。内核会把所有没用的物理内存都拿来做 Page Cache(页缓存),缓存最近从硬盘读写过的文件。 💡 Insight: 这完美解释了为什么用 free 命令看 Linux 服务器时,空闲内存(Free)总是少得可怜,但可用内存(Available)却很多。只要没有发生 Swap(交换分区读写),内存占用高反而是系统高效利用资源的表现。 第7章:文件系统 —— 一切皆文件 笔记: 硬盘上的一堆磁信号,是如何变成我们看到的文件目录树的?这要归功于文件系统(ext4, xfs 等)。Linux 通过 VFS(虚拟文件系统) 统一了接口,无论是真实的硬盘文件,还是 /proc 里的系统状态,都被抽象成了文件。 💡 Insight: Inode(索引节点) 存元数据,Block 存真实数据。理解了这个分离,就懂了为什么有时候磁盘空间没满,但因为小文件太多把 Inode 耗尽了,依然导致无法写入文件。 第8章:外部存储设备 —— 解决最慢的短板 笔记: 相比于 CPU 和内存,硬盘(特别是机械硬盘)的速度慢如蜗牛。为了不让 CPU 傻等,Linux 引入了 I/O 调度器(如电梯算法),将零散的读写请求进行排序和合并,尽量一次性顺路读写更多数据。 💡 Insight: 虽然现在 SSD 普及了,但在数据库等高压场景下,选择合适的 I/O 调度策略(Noop vs Deadline)依然是性能调优的关键点。 📚 总结语: 读完这本书,最大的感受是“祛魅”。 Linux 不是黑盒,它是由一个个具体的机制(系统调用、中断、缓存、调度)堆砌而成的精密机器。以后遇到问题,不要猜,去 /proc 看数据,用 strace 看过程,数据不会撒谎。

★★★★★

这本书在我看来偏向于引导概述,适合入门Linux系统。计算机的学生大二做课外延展,应该是比较适合的,难度和深度也算适中。对于我这样的半路出家,一年多一点工作经验的人来说,从内存相关内容开始就有一点点吃力了,不过也不算特别难以理解。 看完这本书,我对工作中遇到的很多一知半解的东西有了更深刻的理解,对Linux系统的各部分也都有了比较粗浅的理解,日后遇到什么类型的问题也有针对性的学习方向。 这本书对于Linux的各个模块有一定深度的介绍,但是缺少对Linux系统设计整体上介绍,这是我认为的一点不足吧。整体来说它是一本很不错的书籍。

★★★★★

慢悠悠的读完了这本书,总体来说内容浅显易懂。 以下是还能想起来的知识。也算是有些收获 1. 用户态和内核态:用户态无法访问硬件,权限相对来说比较低 2. fork函数和exec函数区别:fork是先复制一份一模一样的内存出来,exec是在原有内存的基础上变成另一个程序 3. 多级缓存L1、L2、L3等。越靠近cpu的访问速度越快,成本也越高 4. 内存(虚拟内存、页表、缺页中断):硬盘读取出来的数据到内存中,页表标记是否修改过(脏数据),随后回写进硬盘 5. 数据一致性(日志、写时复制):日志是先记录所有要执行的操作,随后执行。写时复制先复制一份原有的内存数据,在复制内存数据上修改,在放弃掉之前据。 6. 文件系统(ext4、XFS):每个系统各有优缺点,其他的想不起来了

★★★★★

快速过了一遍。正如作者所说,本书围绕Linux快速讲解了OS与硬件的基础知识,适合快速了解和回忆基础知识。同时,可以了解到具体的相关代码是怎样的,能够减少理论知识和代码间的差异。比较适合我这种没写过这些底层代码的情况,解答了一些疑惑

★★★☆☆

这本书适合初学Linux看来快速熟悉Linux系统使用,文中对于各个知识点采用先讲解,然后黑盒的测试方式,验证假设。内容连贯,适合初学。

书籍信息

作者[日]武内觉 著
译者曹栩
出版社人民邮电出版社有限公司
出版时间2022-03-01
ISBN9787115581617
分类计算机-编程设计
格式EPUB
完结状态连载中
章节数104