操作系统组成

来源:互联网 发布:php入门视频教程下载 编辑:程序博客网 时间:2024/04/29 02:09

转自:http://www.kerneltravel.net/journal/i/01.htm

操作系统组成

形形色色的操作系统组成结构都不尽相同。虽然大多是为同样的目的,但由于实现方法可以自由选择,所以各个操作系统理所当然的存在差异,有些系统之间差异还相当大。

我们选取最常见的操作系统(UNIX)组成结构,向大家展示操作系统的体系结构的大致框架。对于各种操作系统之间的具体差异,大家可以跟下面讲述的结构进行对比认识。   

在这里,我们自己用一组简单的公式来描述操作系统的组成要素:

操作系统 = 内核 + 系统程序

系统程序 = 编译环境 + API

编译环境 = 编译程序 + 连接程序 + 装载程序

API  = 系统调用 + 语言库函数(C、C++、Java等等)

AUI  =  shell + 系统服务例程(如x服务器等)+ 应用程序(浏览器,字处理,编辑器等)

而整个软件系统是:

软件系统 = 操作系统 + AUI

操作系统最底层的组件是内核,其上层搭建了许多系统软件。

系统程序包括三个部分,分别是:编译环境、应用程序接口和用户接口。

编译环境包含汇编、C 等低高级语言编译程序,连接程序和装载程序,这些程序负责将文本格式的程序语言转变为机器能识别和装载的机器代码。

应用程序接口(API)包含内核提供的系统调用接口和语言库,系统调用是为了能让应用程序使用内核服务,语言库函数则是为了方便应用程序开发,所以将一些常用的基础功能预先编译以供使用,比如对C语言来说常用的C库等;

用户接口(AUI)包括我们熟悉的shell、系统服务程序和常用的应用程序。

这是一个典型的结构,但不是一成不变。许多操作系统的发行中会有所删减,比如应用于嵌入式设备的系统,对X服务器就可能不做要求。但是像内核、系统调用等要素是必不可少的。

下图显示了操作系统的概念结构。

 


系统软件:系统软件是相对应用软件而言的,应用软件针对最终用户需求编写,完成实际功能,而系统软件则是为了简化应用程序的开发而存在的,比如数据库系统为应用软件提供了有效的数据传输、存储服务;还有编程语言的执行环境——它由C库实现——也属于一种系统程序,它为应用程序开发提供了诸如I/O操作例程,图形库,计算库等等基础服务。可见系统软件范围覆盖很广,只要面向的服务群体不是最终用户的软件都可以划归到系统软件中来。

原创粉丝点击