Til hovedinnhold
SniktittOS X Mavericks

Dette er teknologiene som gjør Apples nye OS raskere

Vi ser hva Mavericks har under panseret.

Legger programmer i dvale

Helt siden Apple slapp sitt nye operativsystem OS X Mavericks for utviklere for én måned siden, har vi testet det daglig. For et par uker siden tok vi et dypdykk i hvordan systemet på en genial måte håndterer bruk av flere skjermer.

Over de kommende månedene skal vi skrive flere artikler om hvordan det nye operativsystemet fungerer, hva vi synes og hva vi håper å finne i den endelige versjonen av Mavericks.

For det er langt mer ved OS X enn en spennende funksjon for flerskjermer. Etter å ha brukt systemet i en måned har vi ikke tvil om at det nye operativsystemet generelt sett har blitt mer responsivt.

Lynrask vekking

Ta et lite eksempel: Når du lukker lokket på en MacBook går maskinen i dvale, og du vekker den ganske enkelt ved å åpne lokket igjen. Med tidligere versjoner av OS X har den våknet raskt, men det har fortsatt tatt noen sekunder fra du åpner maskinen til du kan ta den i bruk. Med Mavericks er maskinen klar til bruk før du har rukket å åpne skjermlokket.

Maskinen starter raskere, den våkner fra dvale raskere, og bruker du den til batteriet går tomt, våkner den på langt kortere tid enn før. Vi kan også skrive under på at vi etter en måned med bruk har sett badeballen, som indikerer at du må vente på et program som laster noe, langt sjeldnere enn under vår første måned med OS X Mountain Lion.

Ikke bare oppleves maskinen som raskere, men den samme maskinen har også fått noe bedre batteritid. De samme triksene som gjør maskinen mer responsiv, sparer nemlig maskinen for strøm.

Men hva har Apple egentlig gjort? For å forstå hvorfor operativsystemet oppleves som så mye raskere må vi ta et dykk inn i tre av de nye funksjonene i operativsystemet. Apple forteller faktisk mye om disse funksjonene både på sine hjemmesider og i et eget teknisk dokument.

App Nap – legger programmer i dvale

App Store får maskinen til å bruke over 10 prosent av prosessorkraften.Foto: Hardware.no

Vi starter med funksjonen Apple kaller App Nap. Kort fortalt er dette en funksjon som skal få maskinen til å jobbe mindre når du bruker flere programmer samtidig. Det vil lede til bedre effektforbruk, samtidig som det programmet du faktisk bruker i teorien får litt mer datakraft til rådighet.

Det App Nap gjør er å sette programmer som ligger i bakgrunn av skjermbildet i en lav-effektsmodus. Kort og greit setter funksjonen programmene du ikke ser i en form for tomgang.

Samtidig er funksjonen smart nok til at den klarer å «vekke» programmer fra denne hviletilstanden øyeblikkelig, uten at du skal oppleve programmet som tregt i starten. Apple selv hevder at dette over tid fører til at prosessoren bruker 23 prosent mindre energi.

Usynlig program, ingen kraft

Når Google Chrome dekker over App Store, synker prosessorbruken fra over 10 prosent til 3,5 prosent.Foto: Hardware.no

App Nap aktiveres automatisk når programmet ikke lenger er synlig i skjermbildet, altså at du dekker det til med et annet program – for eksempel at du legger nettleservinduet over Photoshop. Om du jobber i et stort regneark og samtidig raskt bytter frem og tilbake til et tekstprogram, vil de bli satt i dvale i tur og orden når de ikke er synlig for det blotte øyet.

Men det finnes et unntak. Ville det ikke vært irriterende om du hører på musikk i Spotify, eller ser en film med Netflix, og at det stopper opp hver gang du dekker over programvinduet? Vel, Apple har tenkt på at folk hører på musikk i bakgrunn. App Nap aktiveres nemlig ikke på programmer som spiller av lyd.

Dette er i utgangspunktet det eneste unntaket for App Nap. Har du et program med lyd, blir det aldre satt i dvale. Samtidig kan utviklere legge inn en sperre i programmet om de ikke ønsker at OS X skal ta over og sette det i dvale rett som det er. Det er kjekt for programmet som er designet for å kjøre på full spiker i bakgrunn, som når du renderer en film i Final Cut eller om du bruker maskinen din til Folding.

Struper klokkene

Hvert program har en rekke nedtellingsklokker som «vekker» maskinen hele tiden.Foto: 19772545, Istockphoto

Det høres kanskje enkelt og greit ut at OS X legger et program du ikke ser i en form for dvalemodus, og det ér en smått genial funksjon. Det som skjer under panseret er ikke fullt så enkelt, men like spennende.

OS X ser at du dekker ett program med et annet. Det operativsystemet da faktisk gjør er å automatisk begynne å strupe inn de forskjellige nedtellingsklokkene i programmet, slik at klokkene tikker saktere.

Alle programmer har mange nedtellingsklokker, en timer, som konstant følger med og aktiverer forskjellige prosesser etter en bestemt tid. Funksjonen til disse klokkene er å la programmet gjøre spesifikke ting med faste mellomrom, operasjoner programmet gjerne gjør flere ganger hvert eneste sekund. Dette er faste operasjoner som programmet ofte ikke trenger å gjøre når du ikke bruker det, men det er en del av rutinen.

Med en struping på plass vil frekvensen til disse klokkene begrenses. Det er akkurat dette som gjør at prosessoren vil bruke mindre strøm, fordi nedtellingstidene strekkes så langt ut at programmet sendes inn i en form for tomgang.

Det er samme grunnen til at OS X også raskt kan vekke programmet igjen, fordi operativsystemet bare må regulere frekvensen tilbake igjen – ikke starte hele programmet på nytt.

Blir nedprioritert

Denne formen for klokkeregulering gjør at programmer som ofte sjekker etter data, vil bruke betydelig mindre resurser.

Samtidig blir ikke bare programmene lagt i dvale, de havner bakerst i køen når de først prøver å få tilgang til maskinens resurser. Spør ett av programmene som er lagt ned av App Nap om å få bruke harddisken eller nettverket, er det det siste programmet som får tilgang.

App Nap i Safari: En tung nettside sluker prosessorkraft.Foto: Hardware.no

Dette vil ikke bare spare maskinen for strøm, men også gi det programmet du faktisk bruker bedre responstid.

Det samme gjelder for prosessorbruken – et sovende program får laveste prioritet på prosessoren når det måtte trenge ekstra datakraft.

Fungerer på faner

App Nap i Safari: Vi åpner en ny fane og prosessorbruken faller dramatisk.Foto: Hardware.no

App Nap jobber altså på hvert enkelt program for å spare strøm, men i Apples egen nettleser, Safari, har selskapet tatt funksjonen ett steg lenger.

Der jobber nemlig App Nap med hver enkelt fane. Det er kun den aktive fanen som får bruke maskinens resurser, mens alle andre faner du har åpne i bakgrunn blir lagt helt i dvale frem til du klikker deg inn på dem.

Det er flere spennende funksjoner i maskineriet til OS X:
Bli med over på neste side, så ser vi på Timer Coalescing »

Synkronisering av økter

Parallelt med App Nap er det en annen funksjon som jobber kontinuerlig med å spare strøm i OS X. Funksjonen heter Timer Coalescing, og går veldig kort fortalt ut på at operativsystemet samkjører alle de små oppgavene den sysler med flere ganger hvert eneste sekund.

Mange åpner programmer gir maskinen mye å gjøre – også når den skal sove.Foto: Hardware.no

Funksjonen har ligget i Windows 7 og Windows 8 siden lansering, og med OS X Mavericks får Apple det også på plass. Timer Coalescing fungerer i utgangspunktet på samme måte både i Windows og OS X, ved at funksjonen forlenger tiden maskinen faktisk står på tomgang, mer kjent som idle.

For selv om du tror maskinen din står på tomgang, gjør den egentlig ikke det. Maskinen bruker for all del mindre kraft når du bare lar den stå stille, men den gjør samtidig mange hundre oppgaver du ikke ser snurten av, oppgaver som krever mer energi enn de burde.

Mange små oppgaver

Før Timer Coalescing: Maskinen blir vekket fra Idle-stadiet konstant, fordi den må gjøre mange små oppgaver hvert sekund.Foto: Apple

På forrige side nevnte vi at App Nap strekker ut tiden en rekke nedtellingsklokker i operativsystemet. Disse nedtellingsklokkene er det hundrevis av i de forskjellige programmene på maskinen din, og de teller ned til neste gang programmet skal gjøre én bestemt oppgave.

Disse oppgavene kan være veldig små, samtidig som noen er store. For eksempel vil en nedtellingsklokke be e-postprogrammet ditt om å våkne opp og sjekke om det har skjedd noe nytt, hvert eneste minutt, selv om du ikke bruker det. En annen klokke vekker kalenderen din og lete etter oppdateringer hvert minutt, og nettleseren din gjør opp status flere ganger i minuttet. Dette er bare tre av oppgavene som faktisk er synlige, de fleste slike oppgaver er ting du aldri ser noe av, det er rent bakgrunnsarbeid.

Dette skjer mange, mange ganger hvert minutt i hvert eneste program, og med flere programmer aktive blir operativsystemet ditt konstant vekket fra tomgangs-modus for å raskt sjekke noe, også gå tilbake til å slappe av.

Småøkter synkroniseres

Etter Timer Coalescing: Maskinen blir vekket langt skjeldnere enn før.Foto: Apple

Det er tungt for maskinen din å gå inn og ut at dvalemodusen hele tiden. Det kan sammenlignes litt med bilkjøring – du må trykke hardt på gasspedalen for å få hjulene til å snurre, men så snart de ruller kan du lette trykket. For å spare bensin bør du derfor stoppe minst mulig, og når du først starter bør du få kjørt så langt som mulig.

Akkurat det er hva OS X streber etter med Timer Coalescing. Problemet er nemlig ikke nødvendigvis at hvert program gjør en haug med småting med jevne mellomrom, men at maskinen aldri vekkes for å gjøre disse småtingene samtidig. Det skjer konstant og med ujevne mellomrom.

Det ideelle er at maskinen våkner, tar unna et stort parti med oppgaver, for så å legge seg til ro igjen for en lengre periode. Og det er akkurat det Timer Coalescing gjør – den sørger for at operativsystemet tar unna et stort parti med oppgaver hver gang den faktisk blir vekket, slik at maskinen får lengre perioder med tomgang.

Vekkerklokkene ringer samtidig

En rekke nedtellingsklokker (grå streker) vekker maskinen på forskjellige tidspunkter.Foto: Apple

Timer Coalescing sørger altså for at alle de små oppgavene gjøres samtidig, fremfor at de skjer konstant. Det gjør maskinen mer effektiv fordi den får mer ut av å bli vekket, noe som nevnt krever mye energi, og som i sin tur leder til at operativsystemet arbeider mer effektivt.

Fremfor at maskinen vekkes en gang for at nettleseren din skal sjekke om det har kommet ett nytt bokmerke i lista di, gå tilbake i søvn, for så å bli vekket en kort tid senere av mailklienten som leter etter nye meldinger, blir den nå vekket én gang. Da blir både bokmerker, e-post, kalenderoppdateringer og mye mer sjekket i ett stort jafs, før maskinen går tilbake i søvn igjen.

Timer Coalescing synkroniserer nedtellingsklokkene (grå streker), slik at maskinen blir vekket på bestemte tidspunkter.Foto: Apple

Dette eksempelet er riktig nok grovt forenklet, i virkeligheten gjør operativsystemet dette flere ganger i sekundet – men med OS X Mavericks skjer det langt sjeldnere enn før. Faktisk blir hver operasjon bare forskjøvet med opptll 100 millisekunder, så det er en kort tidsskala det er snakk om her.

Stort lenger kan ikke tiden forskyves uten at det skaper andre problemer, som at programmer ikke lenger jobber i den takten utvikleren mente at det skulle jobbe. Uansett, det er nok til at Apple vil hevde at prosessoraktiviteten kan reduseres med opptil 72 prosent:

– Ved å gruppere operasjoner kan prosessoren bruke mer tid i lavenergimodus. Strømmen brukes da mer effektivt, uten at det går på bekostning av ytelsen, skriver Apple på sine produktsider.

Vil bruke få kjerner

Parallelt med at OS X setter programmer i pause med App Nap og synkroniserer småoperasjoner med Timer Coalescing, søker operativsystemet alltid etter å bruke så få kjerner i prosessoren som mulig.

Klarer den å begrense prosessorbruken til bare én av prosessorens to, fire eller åtte kjerner, vil Mavericks faktisk slå av resten av kjernene. Dette er en funksjon som går hånd i hånd med Haswell-prosessorene Apple nå har tatt i bruk på flere maskiner.

Med det sagt er Timer Coalescing en funksjon som kun jobber når en av Apples bærbare maskiner går på batteriet. Er en MacBook koblet til strøm finner det ikke sted, og om du har en Mac Pro eller iMac, blir funksjonen rett og slett aldri aktivert. Med full tilgang på strøm er det tross alt ikke noe betydelig behov for funksjonen, da den primært bare skal spare batteri.

Apple har også lagt inn en helt ny teknologi for å håndtere minnet:
På nesten side forteller vi hvordan den nye funksjonen fungerer »

Smart minne

Den tredje store kjerneteknologien i OS X Mavericks, etter App Nap og Timer Coalescing er komprimering av innholdet i maskinens minne: Compressed Memory.

I minnet ditt ligger det til en hver tid mye informasjon, og denne funksjonen komprimerer de eldste filene på en måte som kan sammenlignes med det du gjør når du lager .zip-filer. Dette går veldig raskt og gir deg en mer responsiv maskin samtidig som du får mer rom til å ha flere programmer gående samtidig.

Det høres veldig flott ut, og er det i og for seg også: Funksjonen gir deg effektivt mer minne, gratis. Det er spesielt kjekt nå som det blir vanskeligere og vanskeligere å oppgradere minnet i Mac-ene.

Minnet kan bli fullt

Her er minnet i ferd med å fylles opp.Foto: Apple

Når du jobber med alle mulige programmer blir mye informasjon mellomlagret i maskinens minne. Det gjør at det er raskt tilgjengelig på et blunk, når programmet trenger det.

Minnet har nemlig en motorvei tilgjengelig rett opp til maskinens prosessor, som gjør at informasjonen kan utveksles raskt. Alternativet er å mellomlagre informasjonen på harddisken eller SSD-en, men da må informasjonen flyttes over et grensesnitt som i denne sammenligningen ligner mer på en rufsete norsk riksveg.

Det er grunnen til at du har minne, men på ett eller annet punkt vil minnebrikkene dine bli fylt opp. Da blir maskinen tvunget til å skrive informasjonen til en spesiell del av harddisken din, og det gjør maskinen din tregere.

Løsning: Komprimer minnet

Som en løsning på dette kommer komprimering av minnet inn i bildet. Apple har funnet en måte som lar maskinen komprimere og åpne opp igjen den komprimerte informasjonen, raskere enn å skrive til harddisken eller SSD-en din.

For å få til dette tar de i bruk en algoritme som heter VKdm, en forholdvis gammel algoritme som ble forsket på så tidlig som i 2003. Denne algoritmen er valgt fordi den er veldig rask til å både komprimere og dekomprimere data, som forskningen viser.

Algoritmer er ofte bare gode til én av delene, og VKdm er en av få som er god til begge deler. Dette er en såkalt hybridalgoritme, som både tar i bruk en «ordbok» samtidig som den er statisk.

Halverer størrelsen

Når minnet er fyllt opp, slår Mavericks inn og komprimerer de eldste bitene til halv størrelse.Foto: Apple

I teknologidokumentet til Apple hevder selskapet selv at komprimeringen vil halvere størrelsen til den aktuelle filen. Og det skal gå raskt, dekomprimeringen skal skje på bare noen milliondeler av et sekund.

Algoritmen komprimerer den eldste informasjonen i minnet, noe som øker den ledige kapasiteten og dermed den totale ytelsen – fordi maskinen ikke trenger å skrive til harddisken.

Bruken av minnekomprimering har nok også kommet som en konsekvens av de to andre funksjonene vi har snakket om i dag, App Nap og Timer Coalescing. Disse to funksjonene setter prosessoren, gjerne hele kjerner, i flere og lengre idle-stadier. Det stiller større krav til minnet ditt, og da kommer minnekomprimering godt med – for å gi deg mer spillerom.

Best på eldre maskiner

Apple hevder at OS X Mavericks skal gjøre maskinen langt mer responsiv.Foto: Apple

Hvor store utslag du får på dette i operativsystemet vil variere avhengig av hvor gammel maskinen din er. I dag leveres Apples MacBook Air og MacBook Pro med minst 4 GB minne, og legger du inn en kostbar slant kan du oppgradere til 8 GB. Sistnevnte burde holde, men eldre maskiner som støtter Mavericks ble ikke levert med mer enn 2 GB minne – og det er veldig lite.

Det er disse maskinene som har mest å tjene på denne teknologien, samtidig som den kommer godt med på dagens modeller. Vi tester for tiden Mavericks primært på en MacBook Pro 2012-modell med 4GB minne, og etter flere uker med testing har vi ingen problemer med å konstantere at maskinen er mer responsiv i minne-intensive oppgaver når vi bruker Mavericks, fremfor Mountain Lion.

Om du selv med minnekomprimeringen skulle komme til det punktet at maskinen din allikevel må skrive til harddisken, fungerer komprimeringsteknologien også der. Informasjonen blir da lagret som komprimerte elementer, som åpnes i minnet. Hovedformålet med dette er rett å slett å forebygge slitasje, fordi mindre informasjon blir skrevet, noe som er spesielt aktuelt for SSD-er.

Vi har testet OS X Mavericks i lengre tid nå:
Apple hevder de har løst flere skjermer-utfordringen – vi har testet »

annonse