系统软件:一般用于管理计算机本地的软件。
主要分为两块:
平台性的:操作系统内核,驱动程序,运行库。
程序开发:编译器,汇编器,链接器。
计算机系统软件体系结构采用一种层的结构。
每个层次之间都需要相互通信,那么它们之间就有通信协议,我们将它称为接口,接口下层是提供者,定义接口。上层是使用者,使用接口实现所需功能。
除了硬件和应用程序,其他的都是中间层,每个中间层都是对它下面的那层的包装和扩展。它们使得应用程序和硬件之间保持相对独立。
从整个层次结构来看,开发工具与应用程序属于同一个层次,因为它们都使用同一个接口——操作系统应用程序编程接口。应用程序接口(API)提供者是运行库,什么样的运行库提供什么样的接口。winsows的运行库提供Windows API,Linux下的Glibc库提供POSIX(可移植操作系统接口)的API。 (Glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。)
运行库使用操作系统提供的系统调用接口。
系统调用接口在实现中往往以软件中断的方式提供。
操作系统内核层对于硬件层来说是硬件接口的使用者,而硬件是接口的定义者。这种接口叫做硬件规格。