Microsoft-arkitekt: Tiden er løbet fra styresystemet

Hvorfor skal man nogensinde vente på sin computer? Fundamentet under styresystemerne bør tænkes helt om. Se her, hvordan et styresystem ville se ud, hvis det blev designet helt fra bunden i dag.

Artikel top billede

Computerworld News Service: Chipproducenterne bliver ved med at øge antallet af kerner i hver ny generation af processorer.

Og måske er det ved at være tid at omtænke den grundlæggende arkitektur i de nutidige styresystemer, foreslår Dave Probert, der er kerne-arkitekt i Windows Core Operating System Division hos Microsoft.

Den aktuelle tilgang til at udnytte styrken ved processorer med flere processorkerner er kompliceret og ikke helt vellykket, mener han.

Frem for at bruge mere energi på at raffinere teknikker såsom parallelprogrammering kan nøglen til at løse problemet vise sig at være en omtænkning af de grundlæggende koncepter, der udgør modellen for et styresystem.

Får ikke nok ud af de mange kerner

Computere i dag får ikke nok ydelse ud af deres flerkernede chip, siger Dave Probert.

"Hvorfor skal man nogensinde - med al denne parallelhardware - nogensinde overhovedet være nødt til at vente på sin computer?" spøger han retorisk.

Probert er med i det team, der arbejder på den næste generation af Windows.

Han påpeger dog, at idéerne ikke repræsenterer konkret arbejde, som hans team foretager for Microsoft.

Faktisk bemærker han, at mange af de andre softwarearkitekter på Windows-kernel-udviklingsteamet slet ikke er enige i hans syn på sagen.

Designet helt fra bunden

Han forsøger imidlertid at definere, hvordan et nyt styresystem ville tage sig ud, hvis det i dag blev designet helt fra bunden af.

Han konkluderer, at det ville være ret forskelligt fra Windows eller Unix.

En typisk computer kører i dag adskillige programmer samtidigt og afspiller eksempelvis musik, mens brugeren skriver en e-mail og surfer på nettet.

"Hurtige svartider står øverst på listen. Det er det, folk vil have," siger han.

Problemet med svartider er, at styresystemet har svært ved at finde ud af, hvad der er vigtigst.

"Man gider ikke sidde og vente på, at Microsoft Word starter op, bare fordi antivirusprogrammet valgte lige præcist dette øjeblik at begynde at skanne alle ens filer," siger Dave Probert.

Her er problemet med de flerkernede chips

De fleste styresystemer benytter et slags prioriteringssystem i et forsøg på at undgå sådanne flaskehalse, men de er stadig primitive.

Probert foreslår ligefrem en "Dette stinker!"-knap, som brugeren kan klikke på, hver gang computerens sløvhed bliver frustrerende.

De opsamlede data kan derefter bruges til at give udviklerne et bedre billede af, hvad der skal prioriteres.

Da de begyndte at tilføje flere processorkerner, anlagde chipproducenterne en ekstremt optimistisk tilgang de flerkernede chip, hvor de bare byggede dem og krydsede fingre for, at applikationsprogrammørerne ville skrive programmer til dem.

Problemet er, at de nuværende desktopprogrammer ikke udnytter de adskillige kerner effektivt nok, forklarer han.

For at drage fuld nytte af flere processorkerner er udviklerne nødt til at bruge teknikker til parallelprogrammering.

Det bliver ved at være en svært disciplin at mestre og er ikke blevet udnyttet i noget stort omfang uden for specialiserede videnskabelige programmer såsom til klimasimulation.

Måske vil det være bedre at omtænke, hvordan styresystemet håndterer disse flerkernede processorer, mener Probert.

"Spørgsmålet er faktisk ikke, hvordan vi skal parallelprogrammere - - men hvad vi skal gøre med alle disse transistorer."

Fremtidens styresystem vil ligne en hypervisor

Den nuværende arkitektur af styresystemer er baseret på et antal abstraktioner, forklarer Dave Probert.

I computernes tidlige dage kørte et enkelt program på en enkelt CPU.

Da vi ville have flere programmer til at køre på den samme processor, blev CPU-tiden hakket op i processer, hvilket gav hvert program illusionen af at køre på sin egen dedikerede CPU.

Ideen om processerne var en abstraktion eller spaltning, og det ville ikke blive den sidste.

Da styresystemerne begyndte at jonglere med adskillige programmer, opstod der et behov for et beskyttet rum, der var afskærmet fra både brugeren og programmerne.

Deraf opstod "kernel mode," der er adskilt fra der, hvor programmerne køres, det vil sige "user mode".

Kernel mode og user mode spaltede praktisk set CPU'en ud i to CPU'er, fortæller Dave Probert.

Hvilke opgaver skal have opmærksomheden?

Med alle disse virtuelle CPU'er opstår dog kampen om hvilke opgaver, der får opmærksomheden fra den virkelige CPU.

Og omkostningerne i systemydelse ved at skifte mellem alle disse CPU'er begynder at stige til det punkt, hvor det går ud over svartiden, særligt med introduktionen af flere processorkerner.

Men når nu både Intel og AMD vurderer, at antallet af kerner i deres produkter vil fortsætte med at stige, kan styresystemsudviklerne lige så godt skille sig af med abstraktioner såsom skellet mellem user mode og kernel mode, argumenterer Probert.

"Når der kommer mange kerner, bliver CPU'en til CPU igen," siger han. "Hvis vi får nok af dem, kan vi måske begynde at dele ud af dem" til individuelle programmer.

Vil ligne en hypervisor

Med denne tilgang ville styresystemerne ikke længere ligne de nuværende styresystemer, men nærmere fungere ligesom en hypervisor.

En hypervisor er et koncept fra virtualisering og fungerer som et lag mellem den virtuelle maskine og den fysiske hardware.

Programmerne - eller runtimes, som Probert kalder dem - ville selv bære mange af arbejdsbyrderne i forhold til ressourcestyring.

Styresystemet kunne tildele en applikation en processorkerne og noget hukommelse, og applikationen ville derefter ved hjælp af metadata genereret af compileren bedst selv vide, hvordan ressourcerne skulle udnyttes.

Probert erkender, at denne tilgang ville være meget svær at teste, da den ville kræve en stor mængde eksisterende applikationer. Men det kunne vise sig at være umagen værd.

"Der er langt mere fleksibilitet i denne model," påpeger han.

Oversat af Thomas Bøndergaard

Læses lige nu
    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    It-løsninger | Aarhus C

    Få fuldt udbytte af din Microsoft Dynamics 365 FO løsning

    Få inspiration fra spændende cases og viden om de tendenser, der giver dig helt nye muligheder for at optimere forretningen med Dynamics 365 FO.

    Jura | København Ø

    Compliance Day 2025

    Få de nyeste indsigter fra eksperter om, hvordan du navigerer i et komplekst compliance-landskab, når vi samler viden om alt fra NIS2, AI Act, CRA, DORA til GDPR og SCHREMS2.

    Navnenyt fra it-Danmark

    Norriq Danmark A/S har pr. 1. august 2025 ansat Niklas Matzen Groth, 28 år,  som Data Engineer. Nyt job

    Niklas Matzen Groth

    Norriq Danmark A/S

    Norriq Danmark A/S har pr. 1. september 2025 ansat Ahmed Yasin Mohammed Hassan som Data & AI Consultant. Han kommer fra en stilling som selvstændig gennem de seneste 3 år. Han er uddannet cand. merc. i Business Intelligence fra Aarhus Universitet. Nyt job

    Ahmed Yasin Mohammed Hassan

    Norriq Danmark A/S

    Norriq Danmark A/S har pr. 1. august 2025 ansat Carsten René Christensen, 46 år,  som Al Lead. Han kommer fra en stilling som Co-founder hos Mærkbart ApS. Nyt job

    Carsten René Christensen

    Norriq Danmark A/S

    Norriq Danmark A/S har pr. 1. august 2025 ansat Mia Vang Petersen som Head of Marketing. Hun skal især beskæftige sig med at lede Norriqs marketingteam mod nye succeser. Hun kommer fra en stilling som Head of Marketing hos Columbus Danmark. Hun er uddannet Kandidat i Kommunikation fra Aalborg Universitet. Nyt job

    Mia Vang Petersen

    Norriq Danmark A/S