在计算机科学中,是指“提供用户使用界面”的软件,通常指的是
命令行界面的解析器。
外壳程序是操作员与操作系统交互的界面,操作系统再负责完成与机器
硬件的交互。
一般来说,这个词是指
操作系统中,提供访问
内核所提供之服务的程序。Shell也用于泛指所有为用户提供操作界面的程序,也就是程序和用户
交互的层面。因此与之相对的是程序
内核(
英语:Core),内核不提供和用户的交互功能。
不过这个词也拿来指应用软件,或是任何在特定组件外围的软件,例如浏览器或电子邮件软件是
HTML排版引擎的shell。Shell这个词是来自于操作系统(内核)与用户界面的外层界面。
通常将Shell分为两类:命令行与图形界面。命令行壳层提供一个
命令行界面(CLI);而图形壳层提供一个
图形用户界面(GUI)。
所谓“外壳”就是给可执行的文件加上一个外壳。用户执行的实际上是这个外壳的程序,而这个
外壳程序负责把用户原来的程序在内存中解开压缩,并把控制权交还给解开后的真正的程序,由于一切工作都是在内存中运行,用户根本不知道也不需要知道其运行过程,并且对执行速度没有什么影响。如果在
外壳程序中加入对软件锁或钥匙盘的验证部分,它就是我们所说的外壳保护了。
在微软的Windows操作系统也提供了壳层的功能,它们是Windows95/98下的command.com、和基于WindowsNT的各种系统下的cmd.exe。