从严格意义上来说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。通常将这种软件称为内核,因为它相对较小,而且位于环境的核心。
内核的接口被称为系统调用。
公用函数库构建在系统调用接口之上。
应用程序既可使用公用函数库,也可使用系统调用。
shell是一个特殊的应用程序,为运行其他应用程序提供了一个接口。
广义上来说,操作系统包括了内核和一些其他软件(包括系统实用程序、应用程序、shell以及公用函数库等),这些软件使得计算机能够发挥作用,并使计算机具有自己的特性。
例如Linux是GNU操作系统使用的内核,一般该操作系统称为GNU/Linux操作系统,简称为Linux。