何为内核?
我们经常听到操作系统内核,浏览器内核,那么内核的内涵是什么,能否用朴素的语言解释出来?
举个例子,你去食堂吃饭,在窗口让阿姨打饭,然后阿姨把饭放到窗口前,你拿走坐在座位上开始吃。
那饭是怎么做出来的,你并不知道具体的细节,你只需要知道在窗口前让阿姨打饭即可。
那这个窗口和阿姨就是shell,你能够接触到的。而shell底下的饭怎么做出来的,食材的采购被内核所管理。
在操作系统中,shell是你能接触的各种接口,其接口底下的实现就是kernel。
那么基于这个思想,你会发现,类的实现中已经包含了这个逻辑。比如,一个平衡二叉搜索树AVL,用户所能看到的接口只是查找,删除,插入,三大接口,但是在这底下,接口的底层实现我们是看不到的。那么这个实现也可以认为是AVL的kernel。
总之,shell是用户所能接触到的接口,而shell接口底下的实现就是kernel。