Skriv ut
Kategori: Nyheter

Användarbetyg: 0 / 5

Markera som inaktivMarkera som inaktivMarkera som inaktivMarkera som inaktivMarkera som inaktiv
 
ImageSuns nya javamaskiner gör skräpsamling (återvinner minne) i realtid. Det betyder att man kan dra ner realtidsreponserna till 120 mikrosekunder.
Realtid i Java idag används snarare av dem som bygger affärsssystem än av inbyggare: först att annonsera intresse för Sun Java Real Time Systems 2.0 är börsen Nazdaq. Och de arkitekturer som stöds är serveroperativsystemet Solaris på x86 och Sparc.

Den kanske viktigaste egenskapen hos programspråket Java när det lanserades var det faktum att programmeraren inte behövde engagera sig i att reservera och avboka minne. Detta sköts automatiskt i en process som kallas skräpsamling.

Manuell skräpsamling är en mycket vanlig orsak till buggar i programspråk som C och C++. Automatisk skräpsamling leder å andra sidan till att Javaprogram då och då utan förvarning stannar upp med ett ryck för att återvinna minne. Vilket saboterar realtiden.

Det finns redan idag skräpsamlare för Java som arbetar i realtid, exempelvis i den svenska teknik Bea Systems använder i sin Javaserver Weblogic Real-Time. Tekniken är att köra skräpsamlaren som en lågprioriterad tråd.

Sun ger sig dock in i matchen med betydligt bättre prestanda: man lovar att fördröja realtidsresponser med högst 120 µs där Weblogic bara lovar högst 30 ms.

Realtid i handlar inte bara om skräpsamling. Den som bygger inbyggda system i Java kanske hellre stänger av skräpsamlingen och skriver sitt program så att minne aldrig behöver återvinnas.

På det viset kan man få ännu bättre realtidsegenskaper. I RTS 2.0 stänger man av skräpsamlingen genom att man deklarerar en programtråd som en NoHeapRuntimeThread. En sådan tråd ska ha en responstid på några tiotals mikrosekunder när Javamaskinen körs i operativsystemet Solaris.