Schemaläggning Unix 20 priority = CPU_usage + nice + base Minneshantering etc Operativsystem - Lektion 7-20 Linux Schemaläggning av trådar (kernel threads) Real-time FIFO Real-time round robin Timesharing Detaljer Jiffy Goodness if (class == real_time) goodness = 1000 + prio if (class == timesharing && quantom > 0) goodness = quantum + prio if (class == timesharing && quantum == 0) goodness = 0
3GB adressutrymm + 1GB reserverat Kärnan finns alltid i minnet Har en grupp av fria sidor En process kollar att det finns tillräckligt Hur ser en process ut Försöker få lediga sidor genom att kolla vilka sidor som har använts minst, vilka delade sidor som inte används och vilka vanliga sidor man kan ta. En annan process kollar att modifierade sidor skrivs till disk. Area Page Reserverat User Demand paging Ingen prepaging Inget working set Windows Lite granna om hur Windows funkar
Object manager Schemaläggning En enhet ger full koll och enhetligt gränssnitt Skapas vid boot Paged / non-paged Säkerhet Object name space Ingen central tråd Tråden går in i kernel Tråd blockar Signal Quantum IO klar Wait klar
Basprioritet Nuvarande prioritet Prioritetskö Round-robin Trådbaserat Tillfällig höjning Prioritetsinversion Schemaläggning Processer, trådar etc Job Process Tråd Fiber (deamons) IPC Hur ser en process ut Behöver inte byta adressområde => snabbare, mindre adressområde Sidorna kan vara i tre tillstånd: free, commited, reserved. Paging files Mappa filer i minne (filen och minne kan vara ur sync) Stödjer delat minne Copy-on-write Kärna, delat mellan alla processer För programmet Ogiltliga Bara läs Implementering Demand paging Försöker hålla ett viss antal lediga sidor Varje process har en working set, med max och minimum (kan ändras) Använder en lokal algoritm med lite extra styrning baserat på det globala läget Balance set manager => Working set manager (stora passiva först, sedan mindre, sist den aktiva)
Knep och knåp Working set Absolut adressering Relativ adressering Skriv disk Process klar Nolla Modifierad Beredd Ledig Nollad Trasigt