Datorarkitektur

Allt om hård- och mjukvara samt övriga it-relaterade diskussioner.

 Moderatorer: Alien, atoms

Datorarkitektur

Inläggav nallen » 2013-01-24 0:08:58

I tråden om RDOS Operativsystem dök det upp en diskussion som snarare handlar om datorarkitektur och systemdesign i allmänhet, så jag tyckte det verkade lämpligare att fortsätta i en ny tråd.

@plåtmonster: DDM är visst Data Diffusion Machine - deras modell-maskin för COMA. Jag hittade ett par rapporter när jag snabbgooglade, det bör finnas mer att läsa om man följer referenserna:
ftp://ftp.sics.se/pub/SICS-reports/Reports/SICS-R--91-17--SE.ps.Z
ftp://ftp.sics.se/pub/SICS-reports/Reports/SICS-R--91-19--SE.ps.Z
nallen
 
Inlägg: 19701
Anslöt: 2006-08-27
Ort: Vid Skogen

Datorarkitektur

Inläggav plåtmonster » 2013-01-24 1:06:08

@nallen, Tänkte om det fanns en riktigt kort sammanfattning om vad "Data Diffusion Machine" är.

rdos skrev:Jag tror knappast att en mikrokärna kan bli snabbare än en monolitisk kärna öht om allt som räknas är snabbhet. Att byta ring och page-tabeller kan aldrig bli något vidare snabbt, oavsett aritektur.

Knepigt att även om systemets inre kärna helt körs via L-cache så är det slött.

rdos skrev:Fast om man å andra sidan vill ha något säkrare än en monolitisk kärna som använder "flat", och där minneskydd i praktiken är obefintliga, då kan det tänkas att en mikrokärna kan konkurrera med alternativ som segmentering och interpreterande språk.

Vad menar du med "flat" ? och varför skulle minnesskydd vara obefintligt?
plåtmonster
 
Inlägg: 15480
Anslöt: 2010-03-23
Ort: Nära havet

Datorarkitektur

Inläggav rdos » 2013-01-24 1:22:49

plåtmonster skrev:Vad menar du med "flat" ? och varför skulle minnesskydd vara obefintligt?


"flat" är när man direkt använder linjära addresser, och varje instruktion kan accessa allting i minnet. Det är så både Linux och Windows monolitiska kärnor fungerar. Det betyder att ett fel i filsystemet kan skriva över schedulerns trådkontrollblock (i värsta fall). Varje drivrutin kan sabotera (medvetet eller av olyckshändelse) andra drivrutiner. Det är därför man i mikrokärnan flyttar ut drivrutinerna i egna address-rymder där de isoleras ifrån varandra. Ett annat sätt att göra samma sak är genom att använda X86s segmentering till att mappa kodsegment och dataobjekt till egna selektorer. Då kan man i viss utsträckning minska risken för att drivrutiner kör varandras kod eller skriver över varandras data. Fast precis som det kostar i prestanda att byta addressrymd (och ring) så kostar även segmentering genom att laddning av segmentregister är långsamt (och dessutom dåligt optimerat i moderna processorer).
rdos
 
Inlägg: 14158
Anslöt: 2005-10-14
Ort: Eslöv

Återgå till IT-forum



Logga in