版权归原作者所有,如有侵权,请联系我们

[科普中国]-Apache可移植运行时

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

Apache可移植运行时(APR)是一个支持库的Apache Web服务器。它提供了一组映射到底层操作系统(OS)的API。如果操作系统不支持特定功能,APR将提供仿真。因此,程序员可以使用APR使程序真正可以跨平台移植。

简介Apache可移植运行时Apache Portable Runtime,简称APR)是ApacheHTTP服务器的支持库,提供了一组映射到下层操作系统的API。如果操作系统不支持某个特定的功能,APR将提供一个模拟的实现。这样程序员使用APR编写真正可在不同平台上移植的程序。

最初,APR是作为Apache HTTP服务器的一部分而存在的,但是Apache软件基金会将其延伸成一个单独的项目。其他的应用程序可以使用APR来实现平台无关性。1

功能特性Apache可移植运行时提供的一系列平台无关的功能特性包括:

内存管理和内存池功能

原子操作(Linearizability)

动态库处理

文件I/O

命令参数解析

锁机制

散列表和数组

mmap功能

网络套接字和协议

线程,进程和互斥锁功能

共享内存功能

时间子程序

用户和组ID服务1

类似的项目Glib提供类似的功能特性。 支持更多的数据结构和操作系统无关的函数,但进程间通信相关的函数要少一些(Glib缺少本地和全局锁机制以及共享内存管理)。

网景可移植运行时(NSPR)是Mozilla项目所使用的跨平台抽象库。也被Mozilla应用程序框架(XPFE)的其他子项目所使用,以提供跨平台图形用户界面(GUI)功能特性。

自适配通信环境(ACE)是用C++编写的功能与APR相似的面向对象库,广泛应用于商业产品。

commonc++是系统编程的跨平台C++类库,具有许多与APR的相同的特性。

POCO是概念上与APR类似的现代C++框架,但比APR具有更好的扩展性。

WxWidgets是面向对象的跨平台GUI库,也提供数据库通讯,进程间通信和网络的抽象类。

Qt是具有类似功能的应用开发框架, 同时支持图形用户界面开发。2

Apache HTTP服务器Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数计算机操作系统中运行。由于其跨平台和安全性,被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Apache支持许多特性,大部分通过编译的模块实现。这些特性从服务器端的编程语言支持到身份认证方案。一些通用的语言接口支持Perl,Python,Tcl, 和PHP。流行的认证模块包括mod_access,mod_auth和mod_digest。其他的例子有SSL和TLS支持(mod_ssl),代理服务器(proxy)模块,很有用的URL重写(由mod_rewrite实现),定制日志文件(mod_log_config),以及过滤支持(mod_include和mod_ext_filter)。Apache日志可以通过网页浏览器使用免费的脚本AWStats或Visitors来进行分析。2

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所