Nyheter i operativmiljön Solaris 9 9/02

Solaris 9-funktioner för programvaruutvecklare

Utvecklingsverktyg

Beskrivning av funktionerna  

Kompatibilitet för Solaris- och Linux-API:er

En del gratisprogram som var tillgängliga på Solaris 8 Software Companion CD har nu integrerats i operativmiljön Solaris 9. Programvaruutvecklare kan nu enklare utveckla och kompilera gratisprogram i operativmiljön Solaris. Bland de bibliotek som inkluderats gratis ingår följande:

  • glib

  • GTK+

  • Jpeg

  • libpng

  • Tcl/Tk

  • libtif

  • libxm12

Mer information om de gratisprogram som ingår på Solaris-skivorna hittar du i "Gratisprogram".

Välja XML-utdata för Live Upgrade-meddelanden

När du använder Solaris Live Upgrade på kommandoraden kan du nu välja XML-utdata med alternativet - X. Det här alternativet används när du skriver program eller skalskript som använder Solaris Live Upgrade som ett verktyg. Standardutdata är text, men med alternativet -X skapas XML-data som lämpar sig för maskinell analys och tolkning. Utdata för alternativet -X är XML för alla meddelanden, inklusive fel, varningar, information och allmänna meddelanden.

Direkthjälpsavsnittet för lucreate(1M) innehåller mer information.

Stöd för flera sidväxlingsstorlekar

Stöd för flera sidstorlekar (Multiple Page Size Support, MPSS) gör det möjligt för ett program att använda vilken maskinvarustödd sidstorlek som helst för att komma åt delar av det virtuella minnet. Tidigare kunde bara minnessidor om 8 kB adresseras av ett programs stack, heap-utrymme eller anonyma minne med hjälp av mmap()-funktionen.

Du kan justera minnesanvändningen för stora minneskrävande program till att använda vilken sidstorlek som helst. Så långt maskinvaran för stacken, heap-utrymmet eller det privata minnet /dev/zero stöder, kan valfri sidstorlek användas med hjälp av funktionen mmap(). Användning av större sidstorlekar kan avsevärt förbättra prestanda för program med intensiv och stor minnesanvändning.

Mer information hittar du i direkthjälpen (man pages) för pagesize(1), mpss.so.1(1), ppgsz(1), memcntl(2), mmap(2) och getpagesizes(3C).

Förbättrat flertrådsbibliotek

Flertrådsbiblioteket har förbättrats och blivit snabbare i Solaris 9. Det här biblioteket var tillgängligt som alternativ libthread i tidigare Solaris-versioner.

Du hittar mer information i direkthjälpen för Multithreaded Programming Guide och threads (3THR).

Perl 5.6.1

I Solaris 9 finns nu en ny standardversion av Perl (Practical Extraction and Report Language). Den nya standardversionen av Perl är version 5.6.1. En äldre Perl-version ingår även i Solaris 9, version 5.005_03. Detta är den version som tidigare ingick i Solaris 8. 

Mer information finns i direkthjälpen för perl(1).

Enhetligt diff-format

Kommandona diff och sccs-sccsdiff har uppdaterats, och stöder nu GNU:s enhetliga diff-format. I detta format skrivs kontextrader bara ut en gång när skillnaderna listas.

Mer information om dessa kommandon finns i direkthjälpen (man pages) för diff(1) och sccs-sccsdiff (1).

Sysevent-ramverk

Med hjälp av sysevent-ramverket kan händelser på kärnnivå och systemhändelser på användarnivå meddelas till lämpligt program. Exempel på sådana händelser är lägesförändringar, fel och krascher för maskinvara eller programvara.

Komponenterna i sysevent-ramverket inkluderar följande:

  • Bakgrundsprogrammet syseventd

  • Kommandot syseventadm

  • Biblioteks-API:er för extrahering av händelsedata och sysevent-prenumeration

  • Ett gränssnitt för systemhändelser på drivrutinsnivå, ddi_log_sysevent

Bakgrundsprogrammet syseventd är ett program på användarnivå som accepterar sändning av systemhändelsebuffertar från kärnan. När en händelsebuffert har skickats till syseventd försöker bakgrundsprogrammet att vidarebefordra händelsen till alla intresserade sluthändelseprenumeranter.

Kommandot syseventadm kan användas för att konfigurera händelsespecifikationer. De här specifikationerna används därefter för att aktivera kommandon, program eller skript som svar på systemhändelser.

Du hittar mer information om sysevent-kärnan och biblioteks-API:er i direkthjälpen för syseventadm (1M), syseventconfd (1M), och syseventd(1M).

Avsnittet ddi_log_sysevent(9F) innehåller information om loggning av händelsemeddelanden på drivrutinsnivå.

Kärn-PRNG (Kernel Pseudo-Random Number Generator)

Slumpgeneratorn PRNG i Solaris (Pseudo-Random Number Generator) är tillgänglig via enheterna /dev/random och /dev/urandom. PRNG ger ISV:er ett standardgränssnitt till pseudoslumpmässiga tal för krypteringsåtgärder, vetenskapliga program och simuleringsverktyg. PRNG finns i Solaris-kärnan. PRNG skyddar innehållet i entropipoolen. PRNG samlar entropidata från kärnans minnessidor med en konstant hög slumpmässighet.

Du hittar ytterligare information i direkthjälpen för random( 7D).

Programgränssnitt till fjärrdelat minne på kluster

Om du utvecklar program som utökar användningen av en Sun Cluster-miljö har du nytta av det här gränssnittet. Med hjälp av det nya API:t för fjärrdelat minne (RSM) kan du programmera dina program att minska fördröjningen för meddelandeöverföring över klusteranslutningar med hög hastighet. Sådana klustermedvetna program kan avsevärt reducera den tid som behövs för att svara på händelser i en klustrad konfiguration.  

Du måste ha Sun Cluster 3.0 installerat. Befintliga Sun Cluster-program måste ändras för att kunna utnyttja det nya gränssnittet.  

Du hittar mer information i Programming Interfaces Guide. Direkthjälpen för librsm(3LIB) och "Avsnitt 3: Utökade biblioteksfunktioner" (3RSM) innehåller referenser till RSM.

GNU-kompatibel version av API-funktionerna i gettext()

Solaris 9 har en GNU-kompatibel version av API-funktionerna i gettext(), men är också kompatibelt med tidigare versioner av API-funktionerna i Solaris gettext().

  • De befintliga funktionerna i libc hanterar nu både Solaris- och GNU-kompatibla meddelandefiler. Bland de befintliga funktionerna ingår följande:

    • gettext()

    • dgettext()

    • dcgettext()

    • textdomain()

    • bindtextdomain()

  • Nya GNU-kompatibla funktioner i libc hanterar GNU-kompatibla meddelandefiler. Bland de nya funktionerna ingår följande:

    • ngettext()

    • dngettext()

    • dcngettext()

    • bind_textdomain_codeset()

  • Verktygen msgfmt och gettext kan nu hantera både Solaris- och GNU-kompatibla meddelandefiler.

Du hittar mer information i direkthjälpen för gettext (3C).

Utökade filattribut

UFS-, NFS- och TMPFS-filsystemen har förbättrats så att de klarar utökade filattribut. De här attributen gör det möjligt för programvaruutvecklare att koppla särskilda attribut till en fil. Exempelvis kan en utvecklare av ett filhanteringsprogram för ett fönstersystem välja att associera en visningsikon med en fil.  

Mer information hittar du i "Filsystemsförbättringar".

Ny FX-tiddelningsklass (Fixed-Priority)

Med köhanteraren FX kan du schemalägga processer som kräver att användaren eller programmet har kontroll över schemaläggningsprioriteter. Se "Förbättringar av systemresurser".

DHCP-tjänst (Dynamic Host Configuration Protocol)

DHCP-tjänsten (Dynamic Host Configuration Protocol) gör att värdsystemen kan ta emot IP-adresser och information om nätverkskonfiguration. Den här informationen tas emot vid start från en nätverksserver. I Solaris-versioner före Solaris 8 7/01 kunde konfigurationsdata för DHCP endast lagras i textfiler eller via NIS+. Nu har dataåtkomsten i Solaris DHCP-tjänst omarbetats till ett modulärt ramverk. Solaris DHCP är ett API som gör att du kan skriva delade objekt som stöder alla funktioner för att spara DHCP-data.  

I Solaris DHCP Service Developer's Guide finns en översikt över det dataåtkomstramverk som används av Solaris DHCP. I handboken finns också allmänna riktlinjer för utvecklare. Dessutom ingår en förteckning över de API-funktioner som du kan använda dig av om du behöver skriva en modul för att stödja ett nytt datalager.

Mer information finns i Solaris DHCP Service Developer's Guide.

Solaris Web Start Wizards SDK 3.0.1

Solaris Web Start Wizards förenklar installation, konfiguration och administration av inbyggda Solaris- och Java-program och andra program som inte är av Java-typ. Med Web Start Wizards-program kan utvecklare sampaketera Solaris- och Microsoft Windows-versioner av sina program. Installationsguiden hanterar den plattformsspecifika informationen.  

Web Start Wizards SDK 3.0.1 ingår nu i Solaris 9. SDK 3.0.1 kan installeras med hjälp av installationsprogrammet för Solaris Web Start. 

Modulfelsökare (mdb)

mdb är ett utökningsbart verktyg för felsökning på låg nivå samt redigering av det aktiva operativsystemet. Verktyget kan även felsöka minnesutskrifter från operativsystemet, användarprocesser, minnesutskrifter från användarprocesser och objektfiler. mdb i Solaris 9 har stöd för en ny symbolbaserad felsökning för Solaris-kärnan samt nya felsökningskommandon för kärnan. I verktyget mdb finns även nya funktioner för att analysera och styra aktiva användarprocesser, samt funktioner för att analysera direkta enhetsfiler och enheter.

Du hittar mer information i Solaris Modular Debugger Guide och i direkthjälpen för mdb( 1).

Ljudförbättringar

Nya ljudkataloger har lagts till i operativmiljön Solaris 9. Katalogen /usr/include/audio är en ny katalog för programljudsrubrikfiler för program. Ljudfilsformatet har en ny headerfil, /usr/include/audio/au.h, och ett nytt direkthjälpsavsnitt, au(4).

Katalogen /usr/share/audio är den nya lagringsplatsen för udda ljudfiler. Ljudfilerna från katalogen /usr/demo/SOUND/sounds har flyttats hit. En symbolisk länk har skapats från /usr/demo/SOUNDS/sounds till /usr/share/audio/samples/au. Med hjälp av den här länken fungerar befintliga program och skript som förut.

Ett flertal felkorrigeringar har gjorts i ljudkärnmodulerna för att förbättra stabiliteten. 

Du hittar mer information i System Administration Guide: Basic Administration.

Vektoriserade systemanrop: sendfilev()

Vektoriserade systemanrop, med hjälp av sendfilev(), öppnar för högre prestanda vid dataöverföring från programbuffertar eller filer. Prestanda för webbservrar kan förbättras genom att ett HTTP-svar kan skapas med hjälp av ett enda systemanrop i stället för flera. I HTTP-svaret ingår huvud, data och blockslut, samt servertillägg. Den här funktionen ger optimal prestanda tillsammans med NCA i Solaris (Network Cache and Accelerator). Vidare gör sendfilev() att flera delar kan returneras, som kan komma från olika filer, för svaret.

Mer information hittar du i direkthjälpen för sendfilev(3EXT) och sendfile(3EXT).

Verifiera filens anpassning med appcert-verktyget

appcert-verktyget verifierar objektfilens anpassning till Solaris ABI. Genom anpassning till Solaris ABI ökas sannolikheten att programmet är kompatibelt med framtida Solaris-versioner väsentligt.

Mer information finns i avsnittet "Using appcert" i Programming Interfaces Guide.

GSS-API (Generic Security Services Application Programming Interface)

GSS-API (Generic Security Services Application Programming Interface) är ett ramverk för säkerhet som gör att program kan skydda skickade data.  

Se "Säkerhetsförbättringar".

WBEM-verktyg (Web-Based Enterprise Management)

Beskrivning av funktionerna  

Solaris WBEM Services 2.5

Solaris WBEM Services 2.5 är Sun Microsystems implementation av WBEM (Web-Based Enterprise Management). WBEM är en uppsättning hanteringstekniker och Internet-relaterade tekniker. De här teknikerna syftar till att underlätta en enhetlig hantering av företagets datormiljöer. WBEM, som utvecklats av DMTF (Distributed Management Task Force), gör att organisationer kan leverera en integrerad uppsättning standardbaserade hanteringsverktyg. De här verktygen stöder och sprider WWW-teknik. Solaris WBEM Services har uppdaterats till version 2.5 i Solaris 9. 

Ytterligare information om utveckling av WBEM finns i Solaris WBEM SDK Developer's Guide.

Nytt API för satsvis bearbetning i WBEM

Java WBEM-klientens API (Application Programming Interface) stöder nu satsvis bearbetning av flera CIM-åtgärder från en klient i en enda förfrågan och ett enda svar. CIM-objekthanteraren accepterar och bearbetar nu även dessa satsvisa förfrågningar. Den här funktionen definieras i Distributed Management Task Force (DMTF) Specification for CIM Operations Over HTTP.

Antalet fjärranrop som klienten behöver göra minskar följaktligen. 

Mer information finns i Solaris WBEM SDK Developer's Guide.

Förbättrad WBEM CIM WorkShop

I CIM WorkShop ingår nu ett grafiskt användargränssnitt för WBEM-utvecklingsverktyget. CIM WorkShop kan användas av utvecklare som utvecklar instrumentation, systemprogram och nätverksprogram. Utvecklarna kan granska och skapa WBEM-klasser och WBEM-instanser med hjälp av CIM WorkShop.  

I CIM WorkShop kan du göra följande: 

  • Visa och välja namnrymder

  • Lägga till och ta bort namnrymder

  • Visa, skapa, ändra och ta bort klasser

  • Lägga till och ta bort egenskaper, kvalifierare och metoder i nya klasser

  • Visa, skapa och ta bort instanser

  • Visa, ändra och ta bort instansvärden

  • Traversera associationer

  • Köra metoder

  • Visa sammanhangsberoende hjälp

Förbättringar och nya funktioner i CIM Workshop inkluderar följande: 

  • Uppdaterad och korrigerad sammanhangsberoende hjälp.

  • Möjlighet att traversera associationer.

  • Möjlighet att prenumerera på och visa information om händelser för en vald klass, och på så sätt enklare felsöka program som använder händelser. Du kan bara använda den här nya funktionen om du väljer RMI-protokollet.

  • Möjlighet att skicka WBEM WQL-förfrågningar för att söka efter och visa WBEM-information.

Mer information finns i Solaris WBEM SDK Developer's Guide.

Stöd för processindikeringshändelser för WBEM (externa) har lagts till

Just nu gör WBEM-händelsetjänster det möjligt för klientprogram att asynkront ta emot indikationer när vissa villkor är uppfyllda. Dock stöds bara indikationer som hör till livscykelindikationerna för en klass. Livscykelindikationer aviserar om en instans uppdatering, skapande eller borttagning. 

Även om den här indikationsklassen är mycket flexibel och omfångsrik kan det hända att instrumentationsutvecklare behöver publicera indikationer som inte passar i den här kategorin. Med detta i tankarna presenterade DMTF processindikationshierarkin som en utökning av den aktuella indikationshierarkin. Processindikeringen för WBEM-tjänster hanterar nu den här utökade hierarkin.

Processindikering för WBEM-tjänster är Sun Microsystems implementering av händelsemodellens processindikationsdel. Processindikationsklassen är superklassen för alla indikationer som annonseras av instrumentation. I den här superklassen ingår också livscykelindikationerna.  

Processen vid prenumeration på processindikationer är samma som för livscykelindikationer. 

Mer information finns i Solaris WBEM SDK Developer's Guide.

Förbättrat mofcomp-kommando i WBEM

MOF-kompilatorn (mofcomp) tillåter nu att du anger en namnrymd på kommandoraden. Om namnrymden inte finns skapas den.

Dessutom genererar MOF-kompilatorn Java-gränssnitt och -klasskällfiler. Tack vare den här funktionen kan du använda dig av standardgränssnitt till Java i stället för CIM-konstrukter eller API:er till CIM-objektmodellen (Application Programming Interface). 

För varje CIMClass genereras ett gränssnitt och en klassfil. Gränssnittet genereras för att du ska kunna skapa olika implementeringar med bevarad interoperabilitet.

Mer information finns i Solaris WBEM SDK Developer's Guide.

Nya exempelprogram i nya Java-WBEM-SDK:n

Java WBEM Software Developer's Kit (SDK) innehåller nu ett nytt exempel på Java-tilläggsprogram och andra exempelprogram. De här programmen installeras i /usr/demo/wbem.

Exempelprogrammen i Java WBEM SDK visar dig hur du använder händelser, förfrågningar och satsvis bearbetning. Du kan använda de här exemplen som utgångspunkt när du utvecklar dina egna program. 

Mer information finns i Solaris WBEM SDK Developer's Guide.

Solaris WBEM Software Developer's Kit

I WBEM SDK i Solaris (Web-Based Enterprise Management, Software Developer's Kit) ingår API:er som utvecklare använder för att utveckla program. Program som bygger på WBEM kan få tillgång till data och hantera resurser i operativmiljön Solaris. I WBEM SDK i Solaris ingår även CIM WorkShop. CIM WorkShop är ett Java-program som utvecklare kan använda för att skapa WBEM-program. Med hjälp av CIM WorkShop kan utvecklare titta på exempelprogram, bland annat en WBEM-klient och provider-program, som ingår i programvaran.  

Mer information finns i Solaris WBEM SDK Developer's Guide.

Nya Solaris-providers

Med de nya Solaris-providers kan utvecklare skapa programvara som hämtar och anger information om hanterade enheter i en CIM-miljö (Common Information Model). En Solaris-provider förser CIM-objekthanteraren med instanser av hanterade resurser i operativmiljön Solaris.  

I Solaris 9 finns fem nya Solaris-providers:

  • Prestandaövervakaren WBEM för enheter och system i Solaris - Ger olika sorters statistik för ett Solaris-system.

  • WBEM Produktregister - Ger möjlighet att lägga till, ta bort och ändra nya eller befintliga produkter som installerats på systemet.

  • WBEM SNMP-provider - Gör det möjligt för WBEM-tjänster att leverera information med SNMP (Simple Network Management Protocol), ett protokoll av den referensmodell för Internet som används för nätverkshantering.

  • WBEM EEPROM-provider - Gör det möjligt att visa och ändra konfigurationsinformation i EEPROM.

  • Provider för WBEM Systemtillgänglighet - Ger omstartsinformation för ett system. Den här informationen gör att program kan beräkna hur stor del av tiden som systemet har varit igång. Den här providern ger också orsaker till systemfel:

    • Systempanik inträffade

    • Systemet stoppades av en användare

    • Systemet stängdes av en användare

Mer information finns i Solaris WBEM SDK Developer's Guide.

Skriva drivrutiner

Beskrivning av funktionerna  

FBPM (Frame Buffer Power Management)

En del enheter, t ex vissa bandstationer och bildskärmsminnen, bör inte råka ut för strömavbrott, inte ens vid omstart, när deras drivrutiner kopplas bort. Ett nytt gränssnitt, ddi_removing_power(9F), kontrollerar om en enhet kanske förlorar ström som ett resultat av en vilolägesoperation. En ny egenskap, no-involuntary-power-cycles, kan anges för att säkerställa att enheten inte stängs av oavsiktligt.

Du hittar mer information i direkthjälpen för ddi_removing_power(9F) och no-involuntary-power-cycles(9P).

Traffic Manager i Sun StorEdge

Traffic Manager i Sun StorEdge stöder flera sökvägar för I/O-enheter som till exempel lagringsutrymmen som är tillgängliga via Fibre Channel. Den här funktionen balanserar arbetet över flera enheter. Traffic Manager ökar stabiliteten genom att förfrågningar till kort som inte fungerar, dirigeras om till fungerande kort eller lagringsenheter. 

Testverktyg för drivrutiner

Testverktyget för drivrutiner (driver fault injector harness) är ett utvecklingsverktyg för Solaris-drivrutiner. Verktyget utför en rad simulerade maskinvarufel för att kontrollera den nya drivrutinen. Det testar effekten av testfeltillstånd på en SPARC-baserad enhetsdrivrutin. 

Du hittar mer information i direkthjälpen för th_define(1M) och th_manage( 1M).

GLD (Generic LAN Driver)

Drivrutinsutvecklare kan använda sig av GLD (Generic LAN driver). GLD implementerar en stor del av funktionaliteten hos STREAMS och DLPI (Data Link Provider Interface) för nätverksdrivrutiner till Solaris. Fram till Solaris 8 10/00-versionen var GLD-modulen bara tillgänglig för nätverksdrivrutiner för Intel-versionen av Solaris. Nu är GLD tillgänglig för nätverksdrivrutiner för SPARC-versionen av Solaris.

Du hittar mer information i "Drivers for Network Devices" in Writing Device Drivers.

Java-versioner

Beskrivning av funktionerna  

JavaHelp v. 1.1.2

JavaHelpTM v. 1.1.2 är ett plattformsoberoende, utökningsbart och fullständigt hjälpsystem. Med det här systemet kan utvecklare förse miniprogram, komponenter, program, operativsystem och enheter med onlinehjälp. Du hittar mer information på följande webbplats:

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, är en uppgraderingsversion för Java 2 SDK, Standard Edition. Uppgraderingsversionen innehåller nya plattformsfunktioner, nya verktyg och hjälpmedel.

All information om dessa förbättringar finns i dokumentationen för J2SE 1.4.0 på följande webbplats: 

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

Stöd för JSP 1.2 och Java Servlet 2.3 i webbservern Apache

Webbservern Apache har utökats med Jakarta Tomcat 4.0.1 samt en mod_jserv-modul. Servern stöder nu JavaServer PagesTM, JSP - version 1.2 och Java Servlets - version 2.3.

Följande filer lagras i /etc/apache:

  • tomcat.conf

  • README.Solaris

  • zone.properties

  • jserv.properties

  • jserv.conf

Mer information om hur du aktiverar Tomcat-stöd finns i filen README.Solaris. Besök även följande webbplats om du vill ha konfigurationsinformation:

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

Tomcat och modulen mod-jserv, liksom resten av programvarorna från Apache, är öppen källkod som underhålls av en grupp utanför Sun. De försöker behålla kompatibiliteten med tidigare versioner.