2.1 强大好用的 Shell
一台完整的计算机是由运算器、控制器、存储器、输入/输出等多种硬件设备共同组成的,
而能让各种硬件设备各司其职且又能协同运行的东西就是系统内核。Linux 系统的内核负责完
成对硬件资源的分配、调度等管理任务,对系统的正常运行起着十分重要的作用。
与修改 Windows 系统中的注册表类似,直接改动内核参数的难度比较大,而且一旦“手
滑”还有可能导致系统直接崩溃。因此不建议同学们直接去编辑内核中的参数,而是用基于
系统调用接口开发出来的程序或服务来管理计算机,以满足日常的工作需要。
如图 2-1 所示,人类是无法直接控制硬件的(想象一个人捧着块硬盘自言自语的滑稽场
景)。硬件设备由系统内核直接管理,但由于内核的复杂性太高,在访问时存在较大的风险,
因此用户不能直接访问内核。虽然通过调用系统提供的 API(应用程序编程接口)就能实现
某个功能,但哪怕实现“将一条信息通过互联网传输给别人”这样简单的任务,都要手动调用几十次 API 接口,使用起来太不切实际。而最外层的服务程序则是最贴近于用户端的,这
些服务程序是集成了大量 API 接口的完整软件,微信、QQ 就是这样的服务程序。