UNIX 和“类 UNIX”操作系统(例如 Linux)由内核和一些系统程序组成。还有一些用于工作的应用程序。内核是操作系统的核心。事实上,它经常被错误地认为是操作系统本身,但事实并非如此。操作系统提供的服务远比单纯的内核多得多。
它跟踪磁盘上的文件,启动程序并并发运行它们,为各种进程分配内存和其他资源,从网络接收和向网络发送数据包等等。内核本身做得很少,但它提供了构建所有服务所需的工具。它还阻止任何人直接访问硬件,迫使每个人都使用它提供的工具。这样,内核为用户之间提供了一些保护。内核提供的工具通过系统调用来使用。有关这些的更多信息,请参阅手册页第 2 节。
系统程序使用内核提供的工具来实现操作系统所需的各种服务。系统程序和所有其他程序都在“内核之上”运行,这被称为用户模式。系统程序和应用程序之间的区别在于意图:应用程序旨在完成有用的事情(或者用于玩游戏,如果恰好是游戏),而系统程序是使系统正常运行所必需的。文字处理器是一个应用程序;mount是一个系统程序。然而,这种区别通常有些模糊,并且仅对强迫症分类者很重要。
操作系统还可以包含编译器及其相应的库(特别是 Linux 下的 GCC 和 C 库),尽管并非所有编程语言都需要成为操作系统的一部分。文档,有时甚至是游戏,也可以是其中的一部分。传统上,操作系统是由安装磁带或磁盘的内容定义的;对于 Linux 来说,情况不太清楚,因为它分布在世界各地的 FTP 站点上。