Datorarkitektur
3 inlägg
• Sida 1 av 1
Datorarkitektur
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
@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
Datorarkitektur
@nallen, Tänkte om det fanns en riktigt kort sammanfattning om vad "Data Diffusion Machine" är.
Knepigt att även om systemets inre kärna helt körs via L-cache så är det slött.
Vad menar du med "flat" ? och varför skulle minnesskydd vara obefintligt?
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
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).