Solaris 9 4/03: Novedades del sistema operativo

Herramientas de desarrollo

Descripción de características 

Compatibilidad de Solaris y las interfaces de programación de aplicaciones de Linux

Algunos de los programas de software gratuito disponibles en el CD de software adicional de Solaris 8 se han integrado en el sistema operativo Solaris 9. De este modo, los desarrolladores de aplicaciones de software pueden desarrollar y compilar más fácilmente aplicaciones de software gratuitas en el sistema operativo Solaris. Las bibliotecas de software gratuito son las siguientes:

  • glib

  • GTK+

  • Jpeg

  • libpng

  • Tcl/Tk

  • libtif

  • libxm12

Para obtener más información sobre el software gratuito disponible en el soporte de Solaris, consulte Software gratuito.

Elección de salida de XML para los mensajes de modernización automática

Cuando se usa la Modernización automática de Solaris desde la línea de comandos, ahora se puede elegir la salida XML con la opción -X. Esta opción se usa al escribir programas o secuencias de shell que usen la Modernización automática de Solaris como herramienta. La salida predeterminada es texto, pero con la opción -X, se crea el XML adecuado para el análisis y la interpretación de la máquina. La salida de la opción -X es XML para todos los mensajes, incluidos mensajes de error, de advertencia, informativos y generales.

Consulte la página de comando man lucreate(1M).

SPARC: Admisión de múltiples tamaños de página

La admisión de múltiples tamaños de página (Multiple Page Size Support, MPSS) permite que un programa use cualquier tamaño de página que admita el hardware para acceder a secciones de memoria virtual. Anteriormente, sólo estaban disponibles páginas de 8–KB en las plataformas UltraSPARC para una pila o área de almacenamiento dinámico de un programa o memoria anónima asignada mediante mmap().

Se puede ajustar el rendimiento de las aplicaciones grandes y con un uso intensivo de memoria para que utilicen páginas de cualquier tamaño. Se puede usar cualquier tamaño de página que admita el hardware para pila, heap o memoria privada /dev/zero reasignada con la función mmap(). El uso de tamaños de páginas mayores puede mejorar notablemente el rendimiento de programas que usan grandes cantidades de memoria de forma intensiva.

Para obtener más información, consulte las paginas de comando man de pagesize( 1), mpss.so.1( 1), ppgsz( 1), memcntl( 2), mmap( 2) y getpagesizes( 3C).

Biblioteca de subprocesos múltiples mejorada

La versión Solaris 9 incluye una biblioteca de proceso múltiple mejor y más rápida. Dicha biblioteca se incluía como libthread alternativas en versiones anteriores del software Solaris.

Para obtener más información, consulte Multithreaded Programming Guide y la página de comando man threads (3THR).

Perl versión 5.6.1

La versión Solaris 9 dispone de una versión nueva predeterminada del Lenguaje práctico de extracción e informes (Perl). La nueva versión predeterminada de Perl es la 5.6.1. También se incluye en Solaris 9 una versión anterior de Perl, la versión 5.005_03, que se incluía con la versión Solaris 8. 

Para obtener más información, consulte la página de comando man perl(1).

Formato diff unificado

Los comandos diff y sccs-sccsdiff se han mejorado y ahora incluyen admisión para el formato diff unificado de estilo GNU. En este formato, las líneas de contexto sólo se imprimen una vez en la lista de diferencias.

Para obtener información acerca de estos comandos, consulte las páginas de comando man diff(1) y sccs-sccsdiff (1).

Estructura sysevent

La estructura sysevent permite la notificación de eventos del sistema de nivel de núcleo central y de nivel de usuario a las aplicaciones apropiadas. Entre los eventos puede haber cambios de estado, errores y fallos de hardware y software.

Entre los componentes de la estructura sysevent están los siguientes:

  • Daemon syseventd

  • Comando syseventadm

  • API de biblioteca para la extracción de datos de eventos y suscripción de sysevent

  • Una interfaz de eventos del sistema de nivel de controlador, ddi_log_sysevent

El daemon syseventd es un daemon de nivel de usuario que acepta la entrega de memorias intermedias de eventos del sistema desde el núcleo. Después de entregar una memoria intermedia de evento a syseventd, el daemon intenta propagar el evento a todos los suscriptores de eventos finales interesados.

El comando syseventadm se puede usar para configurar especificaciones de eventos. Dichas especificaciones se usan posteriormente para llamar a comandos, aplicaciones o secuencias en respuesta a eventos del sistema.

Para obtener información sobre las API de núcleo central y de sistema de sysevent, consulte las páginas de comando man syseventadm(1M), syseventconfd(1M) y syseventd (1M).

Consulte ddi_log_sysevent(9F) para obtener información sobre registros de notificaciones de eventos de nivel de controlador.

Generador de números pseudoaleatorios de núcleo

El Generador de números pseudoaleatorios (PNRG) de Solaris está disponible a través de los dispositivos /dev/random y /dev/urandom. PRNG ofrece a los proveedores de software una interfaz estándar para acceder a números pseudoaleatorios para operaciones de criptografía, aplicaciones científicas y herramientas de simulación. El PRNG funciona en el núcleo central de Solaris, protege el contenido del depósito de entropía, recopila datos entrópicos de las páginas de memoria del núcleo y mantiene un elevado nivel de aleatoriedad permanentemente.

Para obtener más información, consulte la página de comando man random( 7D).

SPARC: Interfaz de aplicaciones a memoria remota compartida en clústers

Esta interfaz es útil para el desarrollo de aplicaciones que amplían el uso de un entorno de clústers de Sun. Al utilizar la nueva API de memoria compartida remota (RSM), puede programar sus aplicaciones para disminuir la latencia del paso de mensajes a través de interconexiones de clústers de alta velocidad. Dichas aplicaciones de clústers pueden reducir significativamente el tiempo que se necesita para responder a los eventos en una configuración de clústers.  

Debe tener Sun Cluster 3.0 instalado. Las aplicaciones Sun Cluster deberán modificarse para poder aprovechar la nueva interfaz.  

Para obtener más información, consulte Programming Interfaces Guide. También puede ver las páginas de comando man librsm(3LIB) y las páginas de comando man de “Sección 3: Funciones ampliadas de biblioteca” (3RSM) que incluyen referencias a RSM.

Versión compatible con GNU de las funciones de API de gettext()

La versión Solaris 9 proporciona una versión compatible con GNU de las funciones de API de gettext(), al tiempo que conserva la compatibilidad con versiones anteriores de las funciones de API de gettext() de Solaris.

  • Las actuales funciones de libc pueden ahora manejar archivos de mensajes compatibles con Solaris y con GNU. Las funciones actuales incluyen:

    • gettext()

    • dgettext()

    • dcgettext()

    • textdomain()

    • bindtextdomain()

  • Las nuevas funciones compatibles con GNU de libc pueden manejar archivos de mensajes compatibles con GNU. Las nuevas funciones incluyen:

    • ngettext()

    • dngettext()

    • dcngettext()

    • bind_textdomain_codeset()

  • Las utilidades msgfmt y gettext ahora pueden manejar archivos de mensajes compatibles con Solaris y GNU.

Para obtener más información, consulte la página de comando man gettext (3C).

Atributos de archivo ampliados

Se han mejorado los sistemas de archivos UFS, NFS y TMPFS para incluir atributos de archivo ampliados. Dichos atributos permiten a los desarrolladores de aplicaciones asociar a un archivo atributos específicos. Por ejemplo, un desarrollador de una aplicación de gestión de archivos para un sistema de ventanas puede decidir asociar un icono a un archivo.  

Para obtener más información, consulte Mejoras en el sistema de archivos.

Nueva clase de programación con prioridad fija (FX)

El programador FX proporciona una política de programación a los procesos que requieren un control de usuario o de aplicación sobre las prioridades de programación. Consulte Mejoras en los recursos del sistema.

Protocolo dinámico de configuración del sistema dinámico (DHCP)

El servicio de Protocolo dinámico de configuración del sistema (DHCP) permite a los sistemas anfitriones recibir direcciones IP e información de configuración de red. Esta información se recibe de un servidor de red en tiempo de arranque. Antes de la versión Solaris 8 7/01, los datos de configuración de DHCP sólo se podían almacenar en archivos de texto o NIS+. Ahora, se ha rediseñado el acceso a los datos del servicio de DHCP de Solaris para que use una estructura modular. El DHCP de Solaris proporciona una API que permite al usuario grabar objetos compartidos que admitan todas las prestaciones para almacenar datos de DHCP.  

Solaris DHCP Service Developer's Guide proporciona información general acerca de la estructura de acceso a datos usada por el DHCP de Solaris. La guía proporciona, asimismo, pautas genéricas para los desarrolladores. Se incluye también un listado de las funciones de API que se pueden usar para escribir un módulo que admita un nuevo almacén de datos.

Para obtener más información, consulte Solaris DHCP Service Developer's Guide.

Asistentes Solaris Web Start Wizards SDK 3.0.1

Los asistentes Web Start Wizards simplifican la instalación, configuración y administración de aplicaciones Java nativas de Solaris y las aplicaciones que no son Java. Con Web Start Wizards los desarrolladores pueden empaquetar juntas las versiones para Solaris y Microsoft Windows de sus aplicaciones. El asistente de instalación gestiona las peculiaridades de cada plataforma.  

Web Start Wizards SDK 3.0.1 se incluye en cada ejemplar de la versión Solaris 9. SDK 3.0.1 se puede instalar mediante el programa de instalación Solaris Web Start.  

Depurador modular (mdb)

mdb es una utilidad extensible para la depuración y edición a bajo nivel del sistema operativo activo. Dicha utilidad puede, asimismo, depurar volcados por parada del sistema, volcados del núcleo central por procesos de usuario y archivos objeto. En la versión Solaris 9, mdb proporciona nuevas funciones de depuración simbólica para el núcleo de Solaris y nuevos comandos de depuración de núcleo. La utilidad mdb incorpora, también, funciones nuevas para el examen y control de procesos de usuario activos en ejecución, y la posibilidad de examinar archivos de disco y dispositivos de formato básico

Solaris Modular Debugger Guide y la página de comando man mdb( 1) proporcionan más información.

Mejoras de audio

En el sistema operativo Solaris 9 se han agregado nuevos directorios de audio. El directorio /usr/include/audio contiene archivos de cabeceras de audio para aplicaciones. El formato de archivo de audio tiene un nuevo archivo de cabecera, /usr/include/audio/au.h y página de comando man au(4).

El directorio /usr/share/audio es un nuevo depósito de archivos de audio diversos, al que se han trasladado los archivos de audio del directorio /usr/demo/SOUND/sounds. Se ha creado un enlace simbólico de /usr/demo/SOUNDS/sounds a /usr/share/audio/samples/au que permite a las aplicaciones y secuencias actuales ejecutarse sin errores.

Se han solucionado múltiples defectos de los módulos de núcleo de audio para mejorar la fiabilidad. 

Para obtener más información, consulte System Administration Guide: Basic Administration.

Llamada al sistema vectorizada: sendfilev()

La llamada al sistema vectorizada sendfilev() permite obtener un mejor rendimiento para enviar datos desde las memorias intermedias o archivos de las aplicaciones. Por ejemplo, en aplicaciones de Web, un servidor Web puede construir una respuesta HTTP en una única llamada al sistema. Dicha respuesta HTTP incluye cabecera, datos y final, así como inclusiones del lado de servidor. Esta función proporciona un rendimiento óptimo con el Acelerador y antememoria de red (NCA). Además, sendfilev() permite devolver bloques múltiples en la respuesta, procedentes de varios archivos.

Para obtener más información, consulte las páginas de comando man sendfilev (3EXT) y sendfile(3EXT).

Verificación de la compatibilidad del archivo con la utilidad appcert

La utilidad appcert comprueba la conformidad del archivo de un objeto con el ABI de Solaris. La conformidad con el ABI de Solaris aumenta en gran medida la probabilidad de que la aplicación sea compatible con futuras versiones del software de Solaris.

Para obtener más información, consulte “Using appcert”, en Programming Interfaces Guide.

Interfaz de programación de aplicaciones de servicios de seguridad genérica (GSS-API)

La Interfaz de programación de aplicaciones de servicios de seguridad genérica (GSS-API) es una estructura de seguridad que permite proteger los datos que transmiten las aplicaciones.  

Consulte Mejoras en la seguridad.