2.5 UNIX系统体系结构
为了帮助用户更好地理解和使用UNIX系统,这里我们对UNIX系统的内部构造知识做一些简单介绍。
2.5.1 传统UNIX系统体系结构
传统的UNIX系统是层次型结构,其结构中包含如下几个层次:
1)硬件层:该层是指计算机硬件的支持环境,UNIX系统可以运行的硬件平台很多,它们包括PC机、工作站、小型机、大型机等等。
2)设备驱动层:该层用于管理与各种计算机硬件设备进行交互。其中包括了对系统中所使用的各类交互设备建立的专用的管理程序,比如针对硬盘驱动器、软盘驱动器、CD-ROM驱动器、键盘驱动器、鼠标驱动器、显示器驱动器等建立的驱动程序。这些程序当用户命令或应用程序需要访问硬件设备时在UNIX核心模块管理下运行,用户不能直接访问这些程序,也不能将它们作为一个命令去执行。
3)系统核心层:UNIX系统的核心层是操作系统的主体内容,它负责计算机系统中的各种资源管理和调度,包括处理器调度、主存和辅存的管理、文件管理、进程管理、内部进程通信(IPC)等项任务。该层是UNIX系统的核心机构,它将为系统的运行提供最基本的保障。在系统内核中通常使用原语操作实现各种控制和管理机制,对用户程序来说,核心层就是它们运行的虚拟平台,在该平台上建立了一套完整的访问机制和服务接口。
4)系统调用接口层:该层是进入到核心代码的切入点。因为所有的系统资源都被核心程序管理着,用户或应用程序要访问任何系统资源都必须通过系统的核心程序来实现。UNIX系统提供了一些使用方法或功能调用,这些方法或功能调用被称为系统调用。通常有几十个系统调用为用户提供服务,用户或应用程序通过这些系统调用实现对进程、文件及其他系统资源的操作和控制。
5)程序语言库层:程序语言库层是程序设计员进行软件开发时的预处理和预检测功能的集合,使用这些库可以节省时间,因为程序员不必从头写这些功能函数了。该层中包含有若干种语言的库,如C、C++、Java、FORTRAN等。库和系统调用形成了众所周知的应用程序接口API,也就是说程序员用一种语言编写软件时可以在他们的代码中使用库和系统调用。
6)shell及实用程序层:shell是UNIX系统的重要组成部分,它具有多种系统功能,可完成用户命令的解释执行、用户工作环境的设定、shell程序的设计等。当shell作为命令解释器时,为了保持shell的简捷性,通常在系统中只驻留少量的常用UNIX系统命令集,而将许多功能强大的命令都以实用程序的形式提供给用户使用。这些实用程序在shell中只提供一个命令接口,命令的执行程序都放在实用程序中,因此不同版本的UNIX系统中其实用程序部分(有时也称为核外程序)的内容都比较丰富,并且各具特色,有些实用程序为了完成功能强大的命令,其本身可能就是一个小的应用系统。关于shell我们在以后的章节中还要进一步详细描述。
7)应用层:在shell和实用程序的外部是用户的实际应用程序,可以包含所有的应用,如编译程序、字处理器、自动表格处理程序、ftp、telnet等等。
传统UNIX系统体系结构如图2-3所示。
(点击查看大图)图2-3 传统UNIX系统体系结构图 |
联系客服