shell与内核

1:shell的概念

每一个操作系统底层都有一个内核,内核用来实现上层服务,上层命令,上层应用等所需要的功能,例如1底层磁盘的读写操作,网络的连接,键盘鼠标的驱动,进程调度,内存管理等等都是由操作系统的kernel去完成的。

用户,也就是我们,由于权限,安全等问题,用户不允许直接操控kernel,这时就出现了shell程序。本质上讲,shell就是一个桥梁,用户和内核之间建立的“友谊”,都是通过这个“桥梁完成的”,也就是我们想让内核帮我们做一些事情,首先需要将用户的指令去传递给shell,翻译成内核可以理解的一些信息,从而让内核为我们服务。

shell分为CLI和GUI两种:command line interface和Graphical user interface

当今主流系统,windows,macos所有的shell都是GUI,都是通过鼠标的点击,托拉等操作,将用户的指令传递给操作系统内核,这时候操作系统才能按照我们希望的结果,满足我们的需求。

但对于linux而言,图形界面仅仅是它的一个上层应用软件,对于我们绝大多数linux的操作系统而言,都是通过命令行界面完成的。也就是说在linux中图形界面能完成的命令行界面都能完成,而命令行界面能完成的图形界面都完成不了。

 

你可能感兴趣的:(shell与内核)