Nouveautés de l'environnement d'exploitation Solaris 9 9/02

Fonctions de Solaris 9 pour les développeurs de logiciels

Outils de développement

Description des fonctions  

Compatibilité des interfaces de programmation d'applications Solaris et Linux

Plusieurs gratuiciels précédemment disponibles sur le CD Solaris 8 Software Companion sont désormais intégrés à l'environnement d'exploitation Solaris 9. Aussi, les développeurs de logiciels peuvent désormais développer et compiler leurs applications gratuites plus aisément sous Solaris. Les bibliothèques gratuites comprennent :

  • glib

  • GTK+

  • Jpeg

  • libpng

  • Tcl/Tk

  • libtif

  • libxm12

Pour de plus amples informations sur les gratuiciels disponibles sur le support Solaris, reportez-vous à la section "Gratuiciel".

Sélection de la sortie XML pour les messages Live Upgrade

Si vous utilisez Solaris Live Upgrade au niveau de la ligne de commande, vous pouvez désormais sélectionner la sortie XML à l'aide de l'option - X. Cette option doit être utilisée pour écrire des programmes ou des scripts shell utilisant Solaris Live Upgrade en tant qu'outil. Si le texte correspond à la sortie par défaut, l'option -X permet de créer le langage XML approprié à l'analyse et à l'interprétation par la machine. La sortie de l'option -X est en XML pour tous les messages (d'erreur, d'avertissement, d'informations, d'ordre général, etc.)

Reportez-vous à la page lucreate(1M) du manuel.

MPSS (Multiple Page Size Support)

MPSS (Multiple Page Size Support) permet à un programme d'utiliser n'importe quelle taille de page prise en charge par le matériel pour accéder à des portions de mémoire virtuelle. Précédemment, la fonction mmap()() permettait seulement à un programme de configurer des piles, des structures de données de segment ou des pages de mémoire anonymes au moyen de pages de 8 Ko.

Vous pouvez désormais ajuster les performances des applications volumineuses et gourmandes en mémoire pour utiliser n'importe quelle taille de page prise en charge par le matériel pour configurer des piles, des structures de données de segment ou une mémoire utilisateur /dev/zero avec la commande mmap(). L'utilisation de tailles de page plus grandes devrait améliorer de façon significative les performances des programmes qui requièrent de gros volumes de mémoire.

Pour de plus amples informations, reportez-vous aux pages pagesize(1), mpss.so.1(1), ppgsz(1), memcntl(2), mmap(2) et getpagesizes(3C) du manuel.

Amélioration de la bibliothèque multithreading

Solaris 9 intègre une bibliothèque multithreading plus rapide et optimisée, précédemment disponible dans Solaris en tant qu'alternative libthread.

Pour de plus amples informations, reportez-vous au Multithreaded Programming Guide et à la page du manuel portant sur threads (3THR).

Perl Version 5.6.1

Une nouvelle version du langage Perl (Practical Extraction and Report Language) est disponible par défaut dans Solaris 9. La nouvelle version par défaut de Perl est la version 5.6.1. Solaris 9 intègre également une version précédente de Perl (version 5.005_03), précédemment incluse dans Solaris 8. 

Pour de plus amples informations, consultez la page perl(1) du manuel.

Format diff uniformisé

Les commandes diff et sccs-sccsdiff ont été mises à jour pour inclure la prise en charge du format diff uniformisé de style GNU, dans lequel les lignes de contexte sont imprimées une seule fois dans la liste des différences.

Pour de plus amples informations sur ces commandes, consultez les pages diff(1) et sccs-sccsdiff (1) du manuel.

Structure Sysevent

La structure sysevent permet de notifier aux applications qui doivent en être informées divers événements système survenus au niveau de l'utilisateur et du noyau. Il peut s'agir de modifications d'état, d'erreurs ou de pannes logicielles ou matérielles.

Composants de la structure sysevent :

  • Démon syseventd

  • Commande syseventadm

  • Les API de bibiothèques d'extraction des données d'événement et d'abonnement sysevent

  • Une interface de notification des événements système au niveau des gestionnaires, ddi_log_sysevent

Le démon syseventd (niveau utilisateur) accepte la visualisation de buffers d'événements système à partir du noyau. Une fois que syseventd a autorisé la visualisation d'un buffer d'événements, le démon tente de le propager à tous les abonnés concernés par l'événement final.

La commande syseventadm permet de configurer des spécifications d'événements utilisées par la suite pour appeler des commandes, des applications ou des scripts en réponse à un événement système.

Pour de plus amples informations sur le noyau sysevent et les API de bibliothèque, consultez les pages syseventadm(1M), syseventconfd(1M) et syseventd (1M) du manuel.

Reportez-vous à ddi_log_sysevent(9F) pour de plus amples informations sur la consignation des notifications d'événements au niveau des gestionnaires.

PRNG (Kernel Pseudo-Random Number Generator)

Disponible sur les périphériques /dev/random et /dev/urandom, Solaris Pseudo-Random Number Generator (PRNG) fournit aux ISV une interface standard, afin d'accéder aux opérations cryptographiques, aux applications scientifiques et aux outils de simulation. Le PRNG fonctionne à partir du noyau de Solaris et protège le contenu du groupe d'entropies. Il rassemble les données entropiques à partir des pages de mémoire du noyau et préserve en permanence un caractère aléatoire très élevé.

Pour de plus amples informations, reportez-vous à la page random(7D) du manuel.

Interface d'applications vers RSM (Remote Shared Memory) sur les clusters

Cette interface est très utile pour développer des applications qui étendent l'utilisation d'un environnement Sun Cluster. Avec la nouvelle API RSM (Remote Shared Memory), vous pouvez programmer vos applications de manière à réduire la durée de transmission des messages sur les interconnexions de cluster haute vitesse. De telles applications orientées cluster peuvent réduire de manière significative le temps nécessaire pour répondre aux événements dans une configuration de cluster.  

Sun Cluster 3.0 doit être installé. Les applications Sun Cluster existantes doivent être modifiées pour tirer profit de cette nouvelle interface.  

Pour de plus amples informations, consultez le Programming Interfaces Guide. Reportez-vous également aux pages du manuel portant sur librsm(3LIB) et à la section 3 " Extended Library Functions" (3RSM) qui contient des références à RSM.

Version compatible GNU des fonctions API gettext()

Solaris 9 propose une version compatible GNU des fonctions API gettext() tout en restant rétrocompatible avec les fonctions API gettext() de Solaris.

  • Les fonctions existantes dans libc peuvent prendre en charge des fichiers de messages compatibles GNU et Solaris. Fonctions existantes :

    • gettext()

    • dgettext()

    • dcgettext()

    • textdomain()

    • bindtextdomain()

  • Les nouvelles fonctions compatibles GNU dans libc peuvent prendre en charge des fichiers de messages compatibles GNU. Nouvelles fonctions :

    • ngettext()

    • dngettext()

    • dcngettext()

    • bind_textdomain_codeset()

  • Les utilitaires msgfmt et gettext peuvent désormais prendre en charge des fichiers de messages compatibles GNU et Solaris.

Pour de plus amples informations, reportez-vous à la page de manuel gettext (3C).

Attributs de fichiers étendus

Les systèmes de fichiers UFS, NFS et TMPFS ont été améliorés pour inclure des attributs de fichiers étendus permettant aux développeurs d'applications d'associer des attributs spécifiques à un fichier. Par exemple, le développeur d'un gestionnaire de fichiers dédié à un système de multifenêtrage peut décider de lier une icône d'affichage à un fichier.  

Pour de plus amples informations, consultez la section "Amélioration des systèmes de fichiers".

Classe de programmation FX (priorité fixe)

Le programmateur FX fournit une règle de programmation des processus dont les priorités de programmation doivent être contrôlées par l'utilisateur ou l'application. Consultez la section "Amélioration des ressources système".

Service DHCP (Dynamic Host Configuration Protocol)

Le service DHCP (Dynamic Host Configuration Protocol) permet aux systèmes hôte d'obtenir des adresses IP et des informations sur la configuration du réseau à un serveur réseau au moment de leur initialisation. Avant la version Solaris 8 7/01, il était seulement possible d'enregistrer les données de configuration DHCP dans des fichiers texte ou sur un système NIS+. Dans la version actuelle, l'accès aux données du service DHCP de Solaris a été revu pour utiliser une structure modulaire. Le service DHCP fournit une API qui vous permet d'écrire des objets partagés prenant en charge n'importe quel moyen de stockage disponible pour stocker les données DHCP.  

Le Solaris DHCP Service Developer's Guide présente la structure d'accès aux données utilisées par les services DHCP de Solaris, des instructions générales à l'attention des développeurs et une liste des fonctions API que vous pouvez utiliser pour écrire un module qui prend en charge un nouveau mode de stockage de données.

Pour de plus amples informations, consultez le Solaris DHCP Service Developer's Guide.

Solaris "Web Start Wizards" SDK 3.0.1

Solaris Web Start Wizards simplifie l'installation, la configuration et l'administration des applications Solaris native, Java et non-Java. Sous Solaris Web Start Wizards, les développeurs peuvent réunir les versions Solaris et Microsoft Windows de leurs applications dans le même kit. L'assistant d'installation gère les spécificités des plates-formes.  

Web Start Wizards SDK 3.0.1 est désormais inclus dans Solaris 9 et peut être installé à l'aide du programme d'installation Solaris Web Start.  

Débogueur modulaire (mdb)

mdb est un utilitaire extensible de modification et de débogage de bas niveau du système d'exploitation opérationnel, des vidages mémoire sur incident du système d'exploitation, des processus utilisateur, des vidages d'image mémoire des processus utilisateur et des fichiers objets. Sous Solaris 9, mdb fournit un nouveau support de débogage symbolique du noyau de Solaris, de nouvelles commandes de débogage du noyau, de nouvelles fonctions de contrôle et de vérification des processus utilisateur en cours d'exécution et la possibilité de contrôler les fichiers disque et les périphériques en mode caractères.

Les pages Solaris Modular Debugger Guide et mdb(1) du manuel fournissent de plus amples informations.

Améliorations audio

De nouveaux répertoires audio ont été ajoutés à l'environnement d'exploitation Solaris 9. /usr/include/audio est un nouveau répertoire réservé aux fichiers d'en-tête audio des applications. Le format de fichier audio possède un nouveau fichier d'en-tête, /usr/include/audio/au.h, et une page de manuel, au(4).

/usr/share/audio est un nouveau réceptacle de dépôt de divers fichiers audio. Les fichiers audio du répertoire /usr/demo/SOUND/sounds y ont été transférés. Un lien symbolique a été créé entre /usr/demo/SOUNDS/sounds et /usr/share/audio/samples/au de sorte que les applications et les scripts en cours s'exécutent sans dysfonctionnement.

De nombreuses corrections ont été apportées aux bogues des modules audio résidents afin d'en améliorer la fiabilité.  

Pour de plus amples informations, consultez le System Administration Guide: Basic Administration.

Appel système vectorisé : sendfilev()

L'appel système vectorisé sendfilev() permet d'obtenir de meilleures performances en matière d'envoi de données à partir de fichiers ou de caches d'applications. Par exemple, en matière de performances Web, un serveur Web peut construire une réponse HTTP dans un même appel système ; cette réponse comprend un en-tête, des données, un bloc de fin et des inclusions côté serveur. Cette fonction confère à Solaris Network Cache and Accelerator (NCA) des performances optimales car sendfilev() permet, en réponse, le renvoi de nombreux blocs de données issus de divers fichiers.

Pour de plus amples informations, consultez les pages sendfilev (3EXT) et sendfile(3EXT) du manuel.

Vérification de la conformité avec l'utilitaire appcert

L'utilitaire appcert permet de vérifier la conformité d'un fichier objet à Solaris ABI. La conformité à Solaris ABI augmente sensiblement les probabilités qu'une application soit compatible avec les futures versions du logiciel Solaris.

Pour de plus amples informations, consultez la section "Using appcert" du Programming Interfaces Guide.

GSS-API (Generic Security Services Application Programming Interface)

L'interface GSS-API (Generic Security Services Application Programming Interface) est une plate-forme de sécurité permettant aux applications de protéger les données qu'elles transmettent.  

Reportez-vous à la section "Amélioration de la sécurité".

Outils de gestion de réseau basée sur le Web

Description des fonctions  

Solaris WBEM Services 2.5

Solaris WBEM Services 2.5 est une implémentation de la gestion de réseau basée sur le Web (WBEM) de Sun Microsystems. WBEM regroupe des technologies Internet et de gestion dans le but d'uniformiser les environnements informatiques d'entreprise. Développé par DMTF (Distributed Management Task Force), WBEM permet aux entreprises de fournir un ensemble intégré d'outils de gestion basés sur des standards prenant en charge et promouvant les technologies WWW. La version Solaris WBEM Services de Solaris 9 a été mise à jour. Il s'agit de la version 2.5. 

Pour de plus amples informations sur WBEM, les développeurs peuvent se reporter au Solaris WBEM SDK Developer's Guide.

Ajout d'une nouvelle API de groupage WBEM

L'API client de la gestion de réseau Java basée sur le Web prend désormais en charge le groupage par un client de plusieurs opérations CIM (Common Interface Model) sous une même "requête/réponse". Le Gestionnaire d'objets CIM accepte et gère désormais ces requêtes groupées. Cette fonction est décrite dans la Distributed Management Task Force (DMTF) Specification for CIM Operations Over HTTP.

Par conséquent, le nombre d'appels distants que doit passer le client est moindre. 

Pour de plus amples informations, reportez-vous au Solaris WBEM SDK Developer's Guide.

Amélioration de WBEM CIM WorkShop

CIM WorkShop fournit une interface utilisateur graphique dédiée à l'outil de développement WBEM au moyen de laquelle les développeurs de tests, de systèmes et d'applications réseau peuvent visualiser et créer des classes et des instances WBEM.  

CIM WorkShop permet de : 

  • Afficher et sélectionner des espaces de noms

  • Ajouter et supprimer des espaces de noms

  • Afficher, créer, modifier et supprimer des classes

  • Ajouter et supprimer des propriétés, des qualificatifs et des méthodes dans de nouvelles classes

  • Afficher, créer et supprimer des instances

  • Afficher, modifier et supprimer des valeurs d'instance

  • Parcourir des associations

  • Exécuter des méthodes

  • Afficher l'aide contextuelle

Améliorations et nouvelles fonctions disponibles dans CIM Workshop : 

  • Aide contextuelle mise à jour et corrigée

  • Capacité à parcourir les associations

  • Capacité à souscrire et afficher des informations sur les événements d'une classe sélectionnée pour déboguer des applications utilisant des événements plus facilement. Vous ne pouvez utiliser cette nouvelle fonction que lorsque vous sélectionnez le protocole RMI.

  • Capacité à soumettre des requêtes WQL (WBEM Query Language) pour chercher et afficher des données WBEM

Pour de plus amples informations, reportez-vous au Solaris WBEM SDK Developer's Guide.

Ajout de la prise en charge des événements d'indication de processus WBEM (extrinsèque)

Les services d'événements WBEM permettent à présent aux applications client de recevoir des indications de façon asynchrone lorsque les conditions d'intérêt sont remplies. Cependant, les seules indications prises en charge appartiennent aux indications du cycle de vie de la classe relatives aux informations sur la modification, la création et la suppression d'une instance. 

Bien que cette classe d'indications soit vaste et très flexible, la surveillance peut impliquer la nécessité d'éditer des indications n'entrant pas dans cette catégorie. Etant donné cette exigence, DMTF a introduit la hiérarchie d'indication de processus comme une extension à la hiérarchie d'indication actuelle. Les indications de processus des services WBEM gèrent désormais cette hiérarchie étendue.

Ces indications sont une implémentation de Sun Microsystems de la portion d'indication de processus d'un modèle d'événement. La classe d'indication de processus correspond à la superclasse de toutes les indications éditées par la surveillance, qui comprend également les indications de cycles.  

Le processus d'abonnement aux indications de processus est identique au processus d'abonnement aux indications de cycle de vie. 

Pour de plus amples informations, consultez le Solaris WBEM SDK Developer's Guide.

Amélioration de la commande WBEM mofcomp

Le compilateur MOF (Managed Object Format - mofcomp) permet désormais d'indiquer un espace de noms sur la ligne de commande. Si ce dernier n'existe pas, il est tout simplement créé.

En outre, le compilateur MOF génère désormais des fichiers source de classe et une interface Java. Cette fonction vous permet d'utiliser les interfaces Java standard au lieu des interfaces API d'éléments et de modèles d'objet CIM. 

Une interface et un fichier de classe sont générés par CIMClass. L'interface est générée pour vous permettre de créer différentes implémentations tout en préservant l'interopérabilité.

Pour de plus amples informations, reportez-vous au Solaris WBEM SDK Developer's Guide.

Ajout de nouvelles démos au Java WBEM SDK

Le Java WBEM Software Developer Kit (SDK) comprend désormais un nouvel exemple d'applet Java et des démos de programme. Ceux-ci sont disponibles sous /usr/demo/wbem.

Les démos de programme Java WBEM SDK vous apprennent à utiliser les événements, les requêtes et la fonction de groupage. Vous pouvez également vous appuyer sur ces démos pour développer vos propres programmes. 

Pour de plus amples informations, reportez-vous au Solaris WBEM SDK Developer's Guide.

Solaris WBEM SDK

Solaris WBEM SDK intègre des API utilisées par les développeurs pour créer des applications. Ces dernières, en s'appuyant sur la gestion de réseau basée sur le Web, peuvent accéder aux données et gérer les ressources de l'environnement d'exploitation Solaris. Solaris WBEM SDK intègre également CIM WorkShop, une application Java que les développeurs utilisent pour créer des applications WBEM et afficher les démos WBEM client et fournisseur incluses dans le logiciel.  

Pour de plus amples informations, reportez-vous au Solaris WBEM SDK Developer's Guide.

Nouveaux Solaris Providers

Les nouveaux Solaris Providers permettent aux développeurs de créer des logiciels qui contiennent et définissent des informations relatives aux périphériques gérés dans un environnement CIM (Common Information Model). Un Solaris Provider fournit au Gestionnaire d'objets CIM des instances de ressources gérées sous l'environnement d'exploitation Solaris.  

Cinq nouveaux Solaris Providers sont disponibles sous Solaris 9 :

  • WBEM Performance Monitor pour périphériques et systèmes Solaris : fournit diverses informations statistiques sur un ordinateur fonctionnant sous l'environnement d'exploitation Solaris.

  • WBEM Product Registry : permet d'ajouter, de supprimer ou de modifier des produits nouveaux ou existants, déjà installés sur l'ordinateur.

  • WBEM SNMP Provider : permet aux services WBEM de fournir des données au moyen du protocole SNMP (Simple Network Management Protocol) de modèle de référence Internet utilisé dans la gestion des réseaux.

  • WBEM EEPROM Provider : permet d'afficher et de modifier des paramètres de configuration dans l'EEPROM.

  • Provider for WBEM System Availability - fournit des informations relatives à la réinitialisation d'un système afin que les applications puissent calculer le temps de réamorçage requis. Ce fournisseur indique également les motifs d'échec du système :

    • Défaillance du système

    • Interruption du système par l'utilisateur

    • Arrêt du système par l'utilisateur

Pour de plus amples informations, reportez-vous au Solaris WBEM SDK Developer's Guide.

Ecriture de gestionnaires de périphériques

Description des fonctions  

FBPM (Frame Buffer Power Management)

Certains périphériques (quelques lecteurs de bandes et mémoires d'écran notamment) peuvent ne plus être alimentés, même pendant un cycle d'alimentation, lorsque leur gestionnaire est déconnecté. La nouvelle interface, ddi_removing_power , vérifie cette éventualité dans le cadre de mise hors tension de l'ordinateur au moyen de la fonction Interrompre. Il est possible de configurer la nouvelle propriété no-involuntary-power-cycles pour s'assurer que le périphérique n'est pas arrêté involontairement.

Pour de plus amples informations, reportez-vous aux pages ddi_removing_power(9F) et no-involuntary-power-cycles(9P) du manuel.

Gestionnaire de trafic Sun StorEdge

Le gestionnaire de trafic Sun StorEdge prend en charge les chemins d'accès multiples pour les périphériques d'E/S, tels que les périphériques de stockage accessibles via Fibre Channel. Cette fonction équilibre la charge de travail à travers plusieurs périphériques et augmente la fiabilité en redirigeant les requêtes reçues d'une carte d'interface ou d'un périphérique de stockage défectueux vers une carte ou un périphérique opérationnel. 

Atelier d'injection d'erreurs des gestionnaires

L'atelier d'injection d'erreurs des gestionnaires est un outil de développement des gestionnaires de périphériques Solaris. L'atelier injecte une large gamme de défauts matériels simulés pendant les accès du gestionnaire au matériel. Il teste ainsi l'incidence de l'état de dysfonctionnement sur un gestionnaire de périphériques SPARC. 

Pour de plus amples informations, reportez-vous aux pages th_define(1M) et th_manage(1M) du manuel.

Module GLD (Generic LAN Driver)

Les développeurs de gestionnaires peuvent utiliser le GLD (Generic LAN driver) pour mettre en oeuvre la plupart des STREAMS et la fonctionnalité DLPI (Data Link Provider Interface) d'un gestionnaire de réseau Solaris. Avant la révision 10/00 de Solaris 8, le module GLD n'était disponible que pour les gestionnaires de réseau de Solaris Edition pour plate-forme Intel. Ce module est désormais disponible dans les gestionnaires de réseau de Solaris Edition pour plate-forme SPARC.

Pour de plus amples informations, consultez la section "Drivers for Network Devices" in Writing Device Drivers.

Versions de Java

Description des fonctions  

JavaHelp v. 1.1.2

JavaHelpTM v. 1.1.2 est une aide indépendante de toute plate-forme, extensible et complète qui permet aux développeurs et créateurs d'intégrer une aide en ligne aux applets, composants, applications, systèmes d'exploitation et périphériques. Pour de plus amples informations, consultez le site Web suivant :

http://java.sun.com/products

Java 2 SDK, Standard Edition v. 1.4.0

Java 2 SDK Standard Edition v. 1.4.0, J2SETM 1.4.0, est une version mise à niveau dédiée à Java 2 SDK, Standard Edition. Cette mise à niveau comprend de nouvelles fonctions de plate-forme ainsi que de nouveaux outils et utilitaires.

Pour de plus amples informations sur ces améliorations, consultez la documentation de la plate-forme J2SE 1.4.0 sur le site Web suivant : 

http://java.sun.com/j2se/1.4/docs/relnotes/features.html

Prise en charge de JSP 1.2 et Java Servlet 2.3 sur le serveur Web Apache

Jakarta Tomcat 4.0.1 et le mod_jserv ont été ajoutés au serveur Web Apache qui prend désormais en charge JavaServer PagesTM (JSP Version 1.2) et Java Servlets Version 2.3.

Les fichiers suivants sont enregistrés dans /etc/apache :

  • tomcat.conf

  • README.Solaris

  • zone.properties

  • jserv.properties

  • jserv.conf

Lisez le fichier README.Solaris pour obtenir des informations sur l'activation du support Tomcat et consultez le site Web suivant pour obtenir des informations sur la configuration :

http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html

Tomcat et le module mod-jserv (de même que l'intégralité du logiciel Apache) intègrent une architecture ouverte. Leur code source est mis à jour par un groupe externe à Sun qui cherche à préserver la compatibilité existante avec les versions précédentes.