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

Outils de développement

La version Solaris 9 comprend les améliorations apportées aux outils de développement indiquées ci-après.

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

Plusieurs freewares 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 :

Pour de plus amples informations sur les freeware disponibles sur le média Solaris, reportez-vous à la rubrique Freewares.

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 et d'ordre général)

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

SPARC : MPSS (Multiple Page Size Support)

La prise en charge de plusieurs formats de page (MPSS) 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 commande mmap() permettait seulement à un programme de configurer des piles, des structures de données de segment ou des pages de mémoire anonymes à l'aide 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 La fonction mmap() permet maintenant d'utiliser toute taille de page prise en charge par le matériel pour la configuration de piles, de structures de données de segment ou de pages de mémoire privées /dev/zero. 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 de manuel pagesize(1), mpss.so.1(1), ppgsz(1), memcntl(2), mmap(2) et getpagesizes(3C).

Améliorations apportées à 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 document Multithreaded Programming Guide et à la page de manuel 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écedente de Perl (5.005_03), précédement incluse dans Solaris 8.

Pour de plus amples informations, reportez-vous à la page de manuel perl(1).

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 l'utilisation de ces commandes, reportez-vous aux pages de manuel diff(1) et sccs-sccsdiff(1).

Structure Sysevent

La structure sysevent permet de notifier aux applications concerné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 :

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èques, reportez-vous aux pages de manuel syseventadm(1M), syseventconfd(1M) et syseventd(1M).

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)

Le générateur de nombres aléatoires (PRNG, Pseudo-Random Number Generator) de Solaris est accessible via les périphériques /dev/random et /dev/urandom. 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. Le PRNG 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 de manuel random(7D).

SPARC : 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 Remote Shared Memory (RSM), 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, reportez-vous au document Programming Interfaces Guide. Vous pouvez également consulter les pages de manuel librsm(3LIB) et “Section 3: Extended Library Functions” (3RSM) qui contient des références à RSM.

Version compatible GNU des fonctions API gettext()

La version Solaris 9 intègre une version compatible GNU des fonctions API gettext()tout en demeurant rétrocompatible avec les fonctions API gettext() de 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, reportez-vous à la rubrique 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. Reportez-vous à la rubrique 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 à partir d'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 document Solaris DHCP Service Developer’s Guide présente un aperçu général de la structure d'accès aux données utiisée par Solaris DHCP, 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, reportez-vous au document 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 et les périphériques de disque brut.

Pour de plus amples informations, reportez-vous au document Solaris Modular Debugger Guide et à la page de manuel mdb(1).

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 offre 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 ont été déplacés ici. Un lien symbolique allant de /usr/demo/SOUNDS/soundsà /usr/share/audio/samples/au a été créé 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, reportez-vous au document 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 l'appel système sendfilev() permet, en réponse, le renvoi de nombreux blocs de données issus de divers fichiers.

Pour de plus amples informations, reportez-vous aux pages de manuel sendfilev(3EXT) et sendfile(3EXT).

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, reportez-vous au document “Using appcert” du document 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.

Consultez la rubrique Sécurité.