Solaris 9 umfasst die folgenden Verbesserungen für Entwicklungstools:
Ein Teil der Freeware, die auf der Solaris 8 Software Companion-CD zur Verfügung stand, ist nun in Solaris 9 integriert. Anwendungsentwickler können Freeware-Anwendungen daher jetzt problemlos unter Solaris entwickeln und kompilieren. Es stehen die folgenden Freeware-Bibliotheken zur Verfügung:
glib
GTK+
Jpeg
libpng
Tcl/Tk
libtif
libxm12
Weitere Informationen zu der auf den Solaris-Datenträgern verfügbaren Freeware finden Sie unter Verbesserung der Freeware.
Wenn Sie Solaris Live Upgrade über die Befehlszeile ausführen, können Sie jetzt mit der Option -X die XML-Ausgabe wählen. Diese Option ist beim Schreiben von Programmen oder Shell-Skripten nützlich, die Solaris Live Upgrade als Tool verwenden. Standardmäßig erfolgt die Ausgabe im Textformat. Wenn Sie die Option -X angeben, wird dagegen ein XML-Format erzeugt, das für die rechnergestützte Analyse und Interpretation geeignet ist. Mit der Option -X werden alle Meldungen, einschließlich Fehlermeldungen, Warnungen, Informationen und allgemeine Meldungen, im XML-Format ausgegeben.
Siehe hierzu die Manpage lucreate( 1M).
Dank MPSS (Multiple Page Size Support) kann ein Programm jede beliebige von der Hardware unterstützte Seitengröße zum Zugriff auf Teile des virtuellen Hauptspeichers verwenden. Zuvor standen auf UltraSPARC-Plattformen nur 8–KB-Seiten für den Stack-, Heap- oder anonymen mit mmap() zugeordneten Speicherplatz eines Programms zur Verfügung.
Sie können große, speicherintensive Anwendungen so anpassen, dass jede beliebige Seitengröße verwendet wird. Es lässt sich jede von der Hardware unterstützte Seitengröße für Stack-, Heap- oder privaten /dev/zero-Hauptspeicher, der mit mmap() zugewiesen wurde, verwenden. Die Leistung von Programmen, die kontinuierlich große Mengen von Hauptspeicher nutzen, lässt sich durch die Verwendung von größeren Hauptspeicherseiten möglicherweise erheblich steigern.
Weitere Informationen entnehmen Sie bitte den Manpages pagesize (1), mpss.so.1 (1), ppgsz(1), memcntl(2), mmap(2) und getpagesizes (3C).
Das Release Solaris 9 umfasst eine verbesserte, schnellere Multithreading-Bibliothek. Diese Bibliothek stand in früheren Solaris-Releases als alternative libthread-Bibliothek zur Verfügung.
Weitere Informationen finden Sie im Multithreaded Programming Guide und in der Manpage threads (3THR).
Das Release Solaris 9 enthält eine neue Standardversion von Perl (Practical Extraction and Report Language). Dabei handelt es sich um Version 5.6.1. Darüber hinaus steht in Solaris 9 weiterhin die ältere Perl-Version 5.005_03 zur Verfügung. Diese ältere Version war zuvor im Release Solaris 8 enthalten.
Weitere Informationen entnehmen Sie bitte der Manpage perl( 1).
Die Befehle diff und sccs-sccsdiff umfassen nun auch Unterstützung für das einheitliche diff-Format im GNU-Stil. In diesem Format werden Kontextzeilen bei der Auflistung von Unterschieden nur einmal aufgeführt.
Informationen zu diesen Befehlen finden Sie in den Manpages diff(1) und sccs-sccsdiff (1).
Das sysevent-System ermöglicht die Benachrichtigung entsprechender Anwendungen über Systemereignisse auf Kernel- und Benutzerebene. Bei diesen Ereignissen kann es sich um Zustandsänderungen, Fehler und Ausfälle von Hardware sowie Software handeln.
Das sysevent-System umfasst die folgenden Komponenten:
Den Dämon syseventd
Den Befehl syseventadm
Bibliotheks-APIs für das Extrahieren von Ereignisdaten und das Abonnieren von sysevent
ddi_log_sysevent , eine Schnittstelle für Systemereignisse auf Treiberebene
Der Dämon syseventd ist ein Dämon auf Benutzerebene, der die Übermittlung von Systemereignispuffern vom Kernel akzeptiert. Nachdem ein Ereignispuffer an syseventd übermittelt wurde, versucht der Dämon, das Ereignis an alle Abonennten von Endereignissen zu verteilen, die daran interessiert sind.
Mit dem Befehl syseventadm können Ereignisspezifikationen konfiguriert werden. Diese Spezifikationen werden später zum Abrufen von Befehlen, Anwendungen oder Skripten als Reaktion auf ein Systemereignis verwendet.
Informationen zu den Kernel- und Bibliotheks-APIs von sysevent finden Sie in den Manpages syseventadm( 1M), syseventconfd( 1M) und syseventd (1M).
Informationen zur Protokollierung der Ereignisbenachrichtigung auf Treiberebene finden Sie in ddi_log_sysevent(9F).
Der Solaris-Pseudo-Zufallszahlengenerator (PRNG) ist über die Geräte /dev/random und /dev/urandom verfügbar. PRNG stellt unabhängigen Softwareanbietern eine Standardschnittstelle zum Zugriff auf Pseudo-Zufallszahlen für Verschlüsselungsoperationen, wissenschaftliche Anwendungen und Simulationsprogramme zur Verfügung. Der Pseudo-Zufallszahlengenerator arbeitet im Solaris-Kernel. Er schützt den Inhalt des Entropiepools. Der Pseudo-Zufallszahlengenerator sammelt entropische Daten aus den Kernel-Hauptspeicherseiten und bietet jederzeit ein hohes Maß an Zufälligkeit.
Weitere Informationen finden Sie in der Manpage random( 7D).
Wenn Sie Anwendungen entwickeln, die den Einsatzbereich von Sun Cluster-Umgebungen erweitern, wird diese Schnittstelle von großem Nutzen für Sie sein. Mit der neuen Remote Shared Memory-API können Sie Ihre Anwendungen so programmieren, dass sich die Latenzzeit für Nachrichten verringert, die über schnelle Clusterverbindungen weitergegeben werden. Solche "cluster-bewussten“ Anwendungen können die Reaktionszeit auf Ereignisse in einer Clusterkonfiguration erheblich verkürzen.
Sun Cluster 3.0 muss installiert sein. Vorhandene Sun Cluster-Anwendungen müssen modifziert werden, wenn die neue Schnittstelle genutzt werden soll.
Weitere Informationen finden Sie im Programming Interfaces Guide. Auch in den Manpages librsm (3LIB) und in "Section 3: Extended Library Functions” (3RSM) finden Sie Informationen zu RSM.
Das Release Solaris 9 enthält eine GNU-kompatible Version der gettext()-API-Funktionen, wobei die Abwärtskompatibilität mit den Solaris-kompatiblen gettext()-API-Funktionen gewahrt bleibt.
Vorhandene Funktionen in libc können nun sowohl Solaris- als auch GNU-kompatible Meldungsdateien handhaben. Bei den vorhandenen Funktionen handelt es sich um:
gettext()
dgettext()
dcgettext()
textdomain()
bindtextdomain()
Neue GNU-kompatible Funktionen in libc können GNU-kompatible Meldungsdateien handhaben. Bei den neuen Funktionen handelt es sich um:
ngettext()
dngettext()
dcngettext()
bind_textdomain_codeset()
Die Dienstprogramme msgfmt und gettext können jetzt Solaris- und GNU-kompatible Meldungsdateien handhaben.
Weitere Informationen finden Sie in der Manpage gettext (3C).
Die UFS-, NFS- und TMPFS-Dateisysteme wurden verbessert und unterstützen jetzt erweiterte Dateiattribute. Dadurch können Anwendungsentwickler Dateien bestimmte Attribute zuweisen. Der Entwickler einer Dateimanagementanwendung für ein Fenstersystem kann beispielsweise einer Datei ein Symbol für die Dateianzeige zuordnen.
Weitere Informationen finden Sie unter Verbesserungen des Dateisystems.
Der FX-Scheduler bietet Planungsrichtlinien für Prozesse, bei denen eine Steuerung der Planungsprioritäten durch den Benutzer oder die Anwendung erforderlich ist. Siehe hierzu Verbesserungen der Systemressourcen.
Dank des DHCP-Service (Dynamic Host Configuration Protocol) können Host-Systeme IP-Adressen und Informationen zur Netzwerkkonfiguration empfangen. Diese Informationen werden beim Booten von einem Netzwerkserver empfangen. Vor dem Release Solaris 8 7/01 konnten DHCP-Konfigurationsdaten lediglich in Textdateien oder NIS+ gespeichert werden. Der Datenzugriff im Solaris-DHCP-Service wurde mittlerweile neu konzipiert und arbeitet jetzt modular. Solaris DHCP bietet eine API, mit der Sie gemeinsame Objekte zur Unterstützung beliebiger Einrichtungen für die Speicherung von DHCP-Daten schreiben können.
Der Solaris DHCP Service Developer's Guide bietet einen Überblick über das von Solaris-DHCP verwendete Datenzugriffssystem. Das Handbuch enthält außerdem allgemeine Richtlinien für Entwickler. Darüber hinaus bietet es eine Auflistung der API-Funktionen, mit welchen Module zur Unterstützung eines neuen Datenspeichers geschrieben werden können.
Weitere Informationen finden Sie im Solaris DHCP Service Developer's Guide.
Solaris Web Start Wizards vereinfacht die Installation, die Konfiguration und die Administration von nativen Solaris-, Java- und Nicht-Java-Anwendungen. Mit Web Start Wizards können Entwickler Solaris- und Microsoft Windows-Versionen ihrer Anwendungen in einem Package zusammenfassen. Die plattformspezifischen Anforderungen werden dabei vom Installationsassistenten verwaltet.
Web Start Wizards SDK 3.0.1 ist nun im Release Solaris 9 enthalten. SDK 3.0.1 kann über das Installationsprogramm Solaris Web Start installiert werden.
mdb ist ein erweiterungsfähiges Dienstprogramm für das Debugging auf niedriger Ebene und das Bearbeiten des aktiven Betriebssystems. Das Dienstprogramm dient auch zum Debuggen von Crash-Dumps des Systems, Benutzerprozessen, Speicherabzügen von Benutzerprozessen sowie Objektdateien. In Solaris 9 bietet mdb neue symbolische Debugging-Unterstützung für den Solaris-Kernel und neue Kernel-Debugger-Befehle. Das Dienstprogramm mdb umfasst außerdem neue Funktionen zur Überprüfung und Steuerung aktiver Benutzerprozesse sowie die Fähigkeit, raw-Festplattendateien und -Geräte zu überprüfen.
Weitere Informationen finden Sie in Solaris Modular Debugger Guide und in der Manpage mdb(1).
Das Betriebssystem Solaris 9 wurde um neue Audio-Verzeichnisse erweitert. /usr/include/audio ist ein neues Verzeichnis für Audio-Header-Dateien der Anwendungen. Das Audio-Dateiformat wurde um eine neue Header-Datei, /usr/include/audio/au.h, und die Manpage au(4) erweitert.
/usr/share/audio ist ein neues Verzeichnis für diverse Audio-Dateien. Die Audio-Dateien aus /usr/demo/SOUND/sounds wurden in dieses Verzeichnis verschoben. Ein symbolischer Link verweist jetzt von /usr/demo/SOUNDS/sounds auf /usr/share/audio/samples/au. Dadurch können aktuelle Anwendungen und Skripten fehlerfrei ausgeführt werden.
Da zahlreiche Fehler in den Audio-Kernel-Modulen behoben wurden, ist eine größere Zuverlässigkeit gegeben.
Weitere Informationen finden Sie in System Administration Guide: Basic Administration.
Der zeitgesteuerte Systemaufruf sendfilev() ermöglicht eine bessere Leistung beim Senden von Daten von Anwendungspuffern oder Dateien. So kann beispielsweise ein Webserver im Webbetrieb mit einem einzigen Systemaufruf eine HTTP-Antwort erzeugen. Diese HTTP-Antwort umfasst Header, Daten und Trailer sowie Server-seitige Includes. Diese Funktion ermöglicht eine optimale Leistung im Zusammenhang mit dem Solaris-NCA (Network Cache and Accelerator). Mit dem Systemaufruf sendfilev() können mehrere Chunks aus möglicherweise verschiedenen Dateien als Antwort zurückgegeben werden.
Weitere Informationen entnehmen Sie bitte den Manpages sendfilev (3EXT) und sendfile(3EXT).
Das Dienstprogramm appcert überprüft, ob eine Objektdatei dem Solaris-ABI entspricht. Wenn eine Anwendung mit dem Solaris-ABI übereinstimmt, ist es sehr viel wahrscheinlicher, dass diese Anwendung mit zukünftigen Versionen von Solaris kompatibel sein wird.
Weitere Informationen finden Sie unter "Using appcert“ in Programming Interfaces Guide.
Die GSS-API (Generic Security Services Application Programming Interface) ist eine Sicherheitsstruktur, die es Anwendungen ermöglicht, die von ihnen übertragenen Daten zu schützen.
Siehe hierzu Verbesserte Sicherheitsfunktionen.