首页 理论教育计算机网络技术:应用编程接口

计算机网络技术:应用编程接口

【摘要】:由于应用程序在使用系统调用之前需先设置系统调用必需的参数,因此这种系统调用接口又称为应用编程接口API。由于TCP/IP 并未规定与TCP/IP 协议软件接口的细节,而是允许系统设计者选用合适的API。目前已有几种可供应用程序使用TCP/IP 的应用编程接口。以后,应用进程所进行的网络操作都使用这个套接字描述符。通信完毕后,应用进程通过一个关闭套接字的close 系统调用通知操作系统回收与该套接字描述符相关的所有资源。

一般情况下,进程是不能访问操作系统内核的。它既不能访问内核所占内存空间,也不能调用内核函数。这由CPU 硬件决定,称为“保护模式”。但系统调用可以做到这一点。当某个应用进程启动系统调用时,控制权就通过系统调用接口由应用进程传递给操作系统,待操作系统执行完所请求的操作后,又将控制权通过系统调用接口返回给应用进程。因此,系统调用接口是应用进程与操作系统之间交接控制权的地方。由于应用程序在使用系统调用之前需先设置系统调用必需的参数,因此这种系统调用接口又称为应用编程接口API(Application Programming Interface)。

由于TCP/IP 并未规定与TCP/IP 协议软件接口的细节,而是允许系统设计者选用合适的API。目前已有几种可供应用程序使用TCP/IP 的应用编程接口。其中最著名的是美国加州大学伯克利分校为Berkeley UNIX 操作系统定义的API,称为套接字接口;微软公司的套接字接口API,称为Windows Socket;以及AT&T 为其UNIX 系统V 定义的API,称为TLI(Transport Layer Interface)。(www.chuimin.cn)

计算机网络中计算机上的应用进程需要通过网络使用进行通信时,必须先发出Socket系统调用,请求操作系统为其创建一个套接字。操作系统会将网络通信所需要的一些系统资源(如CPU 时间、存储空间、网络带宽等)分配给该应用进程。操作系统用套接字描述符(一个整数)来表示这些网络资源。以后,应用进程所进行的网络操作都使用这个套接字描述符。在处理系统调用时,通过套接字描述符,操作系统就可以识别出应使用哪些资源来为该应用进程服务。通信完毕后,应用进程通过一个关闭套接字的close 系统调用通知操作系统回收与该套接字描述符相关的所有资源。由此可见,套接字是应用进程为了获得网络通信服务而与操作系统进行交互时使用的一种机制。