一个UNIX操作系统包括一个核心程序kernel和一些系统程序system programs。 还有一些做某件事情的应用程序application programs。 核心是操作系统的心脏 。 它跟踪磁盘上的文件,启动程序并运行它们,给不同的进程分配内存和其他资源, 从网络接收和向网络发送包,等等。 核心很少自己干活,但它提供工具,用这些工具可以建立所有服务。 它还阻止任何人直接存取硬件,强制每个人使用它提供的工具。 这样,核心给每个用户与其他用户之间提供保护。 核心提供的工具通过系统调用system calls使用;要了解关于这的更多的信息,看手册页第二节。
系统程序使用核心提供的工具实现操作系统要求的不同的服务。 系统程序和所有其他程序运行在核心之上,叫做用户模式user mode。 系统程序和应用程序的区别是目的:应用程序意图完成一些有用的工作(或游戏),而系统程序 则为系统工作而需要。字处理器是应用;telnet 是系统程序。 区别经常有些模糊,也许,只是为了强制分类。
虽然编程语言不必是操作系统的一部分,操作系统也可以包括编译器及其相关的库(Linux下是gcc和C库)。 文档、有时甚至游戏,可以是操作系统的一部分。传统上,操作系统被定义为安装磁带或磁盘上的内容; 对于Linux就更不清楚,因为它分布在全世界的FTP站点上。