Go to main content

Nouveautés dans Oracle® Solaris 11.3

Quitter la vue de l'impression

Mis à jour : Novembre 2016
 
 

Améliorations pour les développeurs

Cette section décrit les améliorations à l'attention des développeurs comprises dans cette version qui facilitent le développement d'applications sur la plate-forme Oracle grâce aux bibliothèques de pointe et à la fiabilité des structures.

API SSM pour le développement d'applications

Oracle Solaris inclut des API SSM nouvelles et mises à jour de bibliothèque C. Ces API peuvent par exemple être utilisées pour détecter les problèmes d'altération de mémoire lorsqu'une application utilise son propre allocateur de mémoire personnalisé.

Pour plus d'informations, reportez-vous aux pages de manuel adi(3C), adi(2), memcntl(2), mmap(2) et siginfo(3HEAD).

Bibliothèque de gestion de Silicon Secured Memory

Une nouvelle bibliothèque de gestion de mémoire au niveau utilisateur, libadimalloc, définit les versions de la famille de fonctions standard libc-malloc(3C) qui utilisent SSM. En outre, la bibliothèque libadimalloc fournit également une prise en charge complète du débogage.

Pour plus d'informations, reportez-vous à la page de manuel libadimalloc(3LIB). Pour plus d'informations sur la prise en charge du débogage, reportez-vous à la page de manuel adimalloc_debug(3MALLOC).

Prise en charge de SSM dans Oracle Solaris Studio

Les outils de développement Oracle Solaris Studio comprennent la prise en charge de SSM et fournissent aux développeurs des diagnostics supplémentaires pour identifier et réparer rapidement les erreurs d'exécution SSM. Code Analyzer est un outil d'analyse avancé dans Oracle Solaris Studio, qui peut détecter des erreurs de codage par le biais de l'analyse statique lors de la compilation de votre application. Code Analyzer protège également votre application contre les erreurs de mémoire avec l'analyse dynamique d'exécution. En outre, iI augmente considérablement la couverture de code avec une technologie brevetée qui classe les fonctions non testées. La fonctionnalité d'analyse dynamique d'exécution de l'analyseur de code d'Oracle Solaris Studio, Discover, inclut une bibliothèque, libdiscoverADI, qui lui permet de comprendre et de détecter les erreurs de mémoire liées à l'exécution identifiées par SSM. Toute application C ou C++ peut précharger cette bibliothèque pour s'exécuter avec la fonction de vérification des erreurs SSM activée. Si une erreur de mémoire est détectée, Discover imprime un rapport complet d'analyse des erreurs.

Pour plus d'informations sur l'utilisation des outils de développement d'Oracle Solaris Studio afin de trouver et corriger les erreurs d'accès à la mémoire identifiées par SSM, consultez l'article https://community.oracle.com/docs/DOC-912448. Pour plus d'informations, reportez-vous aux pages de manuel mdb(1) et dtrace(1M).

Fonction Posix Spawn

La bibliothèque C inclut une nouvelle API qui permet une exécution plus rapide et plus efficace de Java. Cette nouvelle API, posix_spawn_file_actions_addchdir_np(), vous permet d'indiquer un répertoire de travail pour un processus créé à l'aide de la fonction posix_spawn(). Java utilise la fonction posix_spawn() pour créer des processus enfant qui n'impliquent pas une utilisation excessive de la mémoire.

Pour plus d'informations, reportez-vous aux pages de manuel posix_spawn(3C) et posix_spawn_file_actions_addchdir_np(3C).

Amélioration de la livraison du signal

Les nouvelles interfaces ajoutées à la bibliothèque C représentent une modification du modèle de processus multithread POSIX/UNIX d'Oracle Solaris. Les interfaces permettent aux processus d'envoyer des signaux non seulement les uns vers les autres, mais également vers les threads du processus en interagissant directement avec un thread spécifique sur un autre processus.

Pour plus d'informations, reportez-vous aux pages de manuel proc_thr_kill(3C) et proc_thr_sigqueue(3C).

Nouvelles sources d'événement

Les signaux sont maintenant ajoutés en tant que source d'événement à l'ensemble existant de sources d'événement qui sont définies pour les ports d'événement. Cette amélioration permet aux ports d'événement de disposer de processus qui attendent les événements de signal avec l'ensemble existant de sources d'événement.

Pour plus d'informations, reportez-vous aux pages de manuel port_create(3C), port_associate(3C) et port_dissociate(3C).

Appels système de collecte d'entropie et de nombre aléatoire

Oracle Solaris 11.3 inclut deux nouveaux appels système, getentropy(2) et getrandom(2), qui permettent de collecter des bits d'entropie ou aléatoires à partir du noyau. Il est préférable d'utiliser ces appels système plutôt que les commandes open(2) et read(2) sur les périphériques /dev/random et /dev/urandom.

Pour plus d'informations, reportez-vous aux pages de manuel getentropy(2) et getrandom(2).

Threads nommés

Dans Oracle Solaris 11.3, vous pouvez désormais étiqueter les threads d'une application pour simplifier son débogage. Des outils d'observabilité tels que ps, prstat et DTrace peuvent afficher des mesures en fonction des noms affectés. Cette fonction est particulièrement utile pour des applications comme Java qui possèdent de nombreux threads.

Pour plus d'informations, reportez-vous aux pages de manuel prstat(1M) et pthread_attr_setname_np(3C).

Option d'exécution DTrace noresolve

DTrace peut désormais empêcher la résolution automatique de symboles d'espace utilisateur via une nouvelle option d'exécution, –x noresolve. Cette option peut être utile lorsque la résolution de symboles prend du temps pour des éléments binaires volumineux liés de façon statique.

Sondes DTrace EoIB SDT

De nouvelles sondes DTrace SDT dans les modules eoib et eibnx fournissent une meilleure observabilité de l'implémentation EoIB (Ethernet over InfiniBand).

Informations connexes

Interfaces d'administration REST avec RAD.