亚达斯密在其经济学巨著《国富论》中提出了“看不见的那只手”的概念,意指市场机制对经济发展的作用,作为普通的个人来说我们在平时的生活中可能很难感受到市场机制所发挥的作用,但这只看不见的手却无时无刻不在发挥着它的作用。
而对于程序员来说,在程序的运行环境中也会有一只看不见的手,这只看不见的手无时无刻不在影响着程序的运行,但你可能对此却浑然不知,对于程序员来说这只看不见的手就是操作系统,这只看不见的手就是本书的主题。
作为程序员我们要知道,操作系统从本质上讲也是一个普通的程序,和我们平时所编写的程序没有什么本质的不同,操作系统这个程序的特殊之处仅仅体现在其用途上。
操作系统的作用不是用来播放音乐、网上聊天、看电影、浏览网页、玩游戏的,这些都由特定的应用程序来完成,比如音乐播放器程序、视频播放器程序、微信、浏览器等,这些程序都有特定的用途并为计算机用户带来丰富多彩的体验,那么操作系统是一个什么样的程序呢?
操作系统其实是控制这些程序运行的一个程序,因此从这个角度看,操作系统的作用有点类似于政府,政府自身不去生产商品,运输货物,修盖建筑,政府的作用仅仅在于提供一个良好的社会生产环境,协调好各种资源的分配,对不法分子实施惩戒等等,政府对人的影响其实也是无时无刻不存在的,只不过我们平时可能感觉不是那么明显。操作系统也是这样,操作系统为程序员编写的程序提供了一个良好的运行环境,使得多种多样的程序在系统资源有限的情况下(CPU数量有限,内存容量有限)也可以畅通无阻的运行下去,同时操作系统对于“不法分子”也会予以惩戒,当我们的程序存在严重bug时,操作系统会毫不留情的将程序运行终止掉,防止其影响其它程序的正常运行。
一般情况下作为程序员我们无需去关注操作系统,既然操作系统在背后默默无闻工作的很好,那么我们为什么要费心去理解操作系统,去关心这只看不见的手呢?
每一个严肃的程序员都应该清楚的知道他的程序是如何同操作系统交互的。
如果程序员不能很好的理解操作系统,那么对于自己写的程序会始终存在所谓 “神秘的未知的恐惧”。当写完一段程序后,只能在心里默默祈祷千万不要有问题,千万不要有问题,但实际情况往往事与愿违。这时bug的修复来说对你来说非常困难,为什么,因为你根本就不知道到底是哪里出了问题,你不知道为什么会出现这样的问题,你连对手是谁都不清楚,更何况去打败它&#x