Netscape Portable Runtime , o NSPR , es una biblioteca de capa de abstracción multiplataforma para el lenguaje de programación C. Proporciona una API uniforme para varias funciones del sistema operativo. [ 2 ]
Historia
NSPR fue diseñado originalmente para servir de base a la máquina virtual Java en Netscape 5. Con el tiempo, se amplió para admitir funcionalidades adicionales utilizadas en el software de servidor y cliente de Netscape. [ 3 ] NSPR sigue siendo utilizado hoy en día por Firefox, así como por muchos productos de servidor de Oracle y Red Hat. [ 2 ]
Características
Trapos
NSPR proporciona una API de subprocesos . Utiliza las capacidades de subprocesos del sistema operativo siempre que sea posible. También ofrece soporte para compartir memoria entre subprocesos, así como para crear y utilizar grupos de subprocesos. Se proporcionan bloqueos , operaciones atómicas , semáforos y monitores tanto en caché como sin caché . [ 4 ]
E/S
NSPR proporciona funciones para trabajar con archivos, directorios, tuberías anónimas y sockets de red . [ 4 ]
Direcciones de red
NSPR define un objeto de dirección de red centrado en IP . Se proporcionan funciones para traducir cadenas ASCII ( nombres DNS ) a las estructuras de direcciones de red de NSPR, independientemente de si la tecnología de direccionamiento utiliza IPv4 o IPv6. [ 3 ] [ 4 ]
Tiempo
NSPR ofrece funciones de cronometraje en dos formatos: cronometraje por intervalos y funciones de calendario.
Los temporizadores de intervalo se basan en un temporizador de resolución de 32 bits de funcionamiento libre. Su época e intervalo se pueden configurar según sea necesario.
Las horas del calendario se representan utilizando el formato de tiempo Unix de 64 bits con signo . NSPR proporciona funciones para manipular y convertir marcas de tiempo. [ 3 ] [ 4 ]
Gestión de la memoria
NSPR proporciona una API para realizar las funciones básicas malloc , calloc , realloc y free . Dependiendo de la plataforma, las funciones pueden implementarse casi por completo en el entorno de ejecución de NSPR o simplemente como adaptadores que las integran directamente en las funcionalidades del sistema operativo anfitrión. [ 3 ] [ 4 ]
Enlace
La compatibilidad con la vinculación ( carga y descarga de bibliotecas compartidas ) forma parte del conjunto de características de NSPR. En la mayoría de los casos, se trata simplemente de una mejora de las funcionalidades ofrecidas por los distintos proveedores de plataformas. [ 3 ] [ 4 ]
Estructuras de datos
NSPR proporciona implementaciones de una lista enlazada circular y una tabla hash . [ 4 ]
Véase también
Referencias
- ↑ Kai Engert. " [ ANUNCIO ] Lanzamiento de NSPR 4.39" . Consultado el 6 de mayo de 2026 .
- 1 2 "NSPR" . Documentación fuente de Firefox . Mozilla . Consultado el 27 de enero de 2024 .
- 1 2 3 4 5 Larry H. "Acerca de NSPR" . Documentación fuente de Firefox . Mozilla . Consultado el 27 de enero de 2024 .
- 1 2 3 4 5 6 7 "Referencia de la API NSPR" . Documentación fuente de Firefox . Mozilla . Consultado el 27 de enero de 2024 .
Enlaces externos
- Sitio web oficial
- Código fuente de NSPR
- Interfaces de programación de aplicaciones
- Mozilla
- Netscape