Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt



Relevanta dokument
Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7

Olika OS. Unix, Linux och Windows. Unix. Unix. En översikt av ett par OS. Titt på hur de gör. Många varianter. Mycket gemensamt. En del som skiljer

4 grundregler. Minneshantering. Problemet. Windows minkrav

Minneshantering segmentering och virtuellminne. Föreläsning 3

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

Vad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Minnet från processorns sida Datorteknik

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Operativsystem - input/output, skydd, virtualisering

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

HI1025 Operativsystem, KTH Haninge, VT2012

Lathund Milestone 112 Ace

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

Operativsystem (IS1350) :00-12:00

Datorteknik ERIK LARSSON

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum:

Operativsystem (ID2200/06) XX XX:00-XX:00

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

GoTalk NOW. Liten lathund hur du redigerar i appen.

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

... Funktionsanrop. Vad händer när man kör ett program?

Synkronisering. Föreläsning 8

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Datorsystem Laboration 2: Minnesmappade bussar

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

Föreläsning 11. Giriga algoritmer

Vad bör göras? Steg 1. RISC => pipelining. Parallellism. Pipelining. Nya LDA 13. RISC(reduced instruction set computer) Öka klockfrekvensen

MESI i Intel Core 2 Duo

Stack och subrutiner Programmeringskonventionen

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström

A-del motsvarande KS1

WIQ MK2 WIQ MK2. Snabbstartsguide

HF0010. Introduktionskurs i datateknik 1,5 hp

QUICK GUIDE Master reset, initiering och adressering. Master Reset av LCU6516

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

Pulse Sonic K5505-K5506

LAJKA-GUIDE. 8 smarta tips som gör dig till. Dropbox-kung. 7 Dela filer som länkar 7 Höj säkerheten 7 Förhandsgranska dokument och fem andra tips

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Föreläsning 6: Introduktion av listor

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

55200 Inspelningsbar microfon

Objektorienterad programmering D2

SÅindex 5 i Microsoft Excel 2010

Föreläsning 3.1: Datastrukturer, en översikt

INSTALLATION AV VITEC MÄKLARSYSTEM. Studentversion

Beställnings- och installationsguide av Dubbelskydd

StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd. Tips på timer-appar. Appar som hjälper dig hålla koll på tiden

Lösenordet till dator, mejl och självservice

Tentamen TEN1 HI

Föreläsningsanteckningar 3. Mikroprogrammering II

Digital Display VDS / Bus2

Operativsystem Introduktion

Trådlös Rök Detektor SD14

Att använda pekare i. C-kod

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Föreläsning 4: Poster

Åtkomst och användarhandledning

Deluppgift 17 Processhantering: exec, sleep, exit, plist

trafiksimulering Intro OU5 trafiksimulering

Teknikprogrammet, inriktning informations- och medieteknik

Installationsanvisning från Visma Spcs. Visma löneprogram. Innehåll. Inledning

Institutionen för datavetenskap 2014/15

Design och trender. Föreläsning 12

DIG IN TO Dator och nätverksteknik

Lära känna skrivbordet

Info till IT - dioevidence Nationell uppföljning inom sociala områden

Säkra pausade utskriftsjobb. Administratörshandbok

Projektarbete 2: Interaktiv prototyp

Introduktion. Temperatursändarens finesser

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Introduktion till hårdvara, mjukvara och operativsystem

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Innehåll. Kurs i Windows

PNSPO! Programöverföring via CP1W-ME05M. 14 mars 2012 OMRON Corporation

Övningar Dag 2 En första klass

Säkerhet. Vad är det vi pratar om??

Sidan Dan Ulfskans

Upsättning av Shoutcast-sändning

OM KRITERIER av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2004

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Steg 1 Starta Outlook 2013 och öppna konfigurationsguiden

Operativsystem ID1200/06 Tentamen :00-18:00

WAGO IO System Service Seminar. Diagnostik

Tentamen den 18 mars svar Datorteknik, EIT070

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

TTS är stolta över att ingå i

Instruktioner för användning av Accessapplikationen till uppföljning av skyddsvärda arter kärlväxter samt AnnexIIkärlväxter

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Reservera utskriftsjobb


Installationsanvisning för kursens programvara på egen dator

Arkitekturer i operativsystem

I detta dokument finns beskrivet hur en nyinstallation av Tidbok skall göras.

ETS052 Internet Routing. Jens A Andersson

Transkript:

Flera processer Minneshantering Operativsystem lektion 6 Potentiellt problem: Den sida som plockas bort behöver inte vara den sida som används minst!! Det kan finnas andra processer som inte körs eller som har sidor som används ändå mindre Ersätta lokalt eller globalt? Ersätta globalt Om working set varierar => globalt Problem: Men om nån annan process använder en frame och väntar på IO? Det finns stora och små processer PFF Page Fault Frequency Trashing kan uppstå ändå Fast man följer alla regler kan trashing ändå uppstå Tvungen att plocka bort proceser Schemaläggning på flera nivåer Storlek på sidorna Med fel storlek på sidorna får man intern fragmentation

Storlek på sidorna Snabbt att läsa in Slöseri med minne Intern fragmentering Låt data och program dela adress Processorn har ett begränsat adressutrymme Låt två olika bytes ha samma adress Längre tid att läsa in Mindre slöseri med minne Låt processer dela minne Dela kod Om man kör flera kopior av samma program så varför ladda in programmet flera gånger? Dela data Snabbt sätt att skicka data mellan processer Dela data Spar utrymme men vad händer om en process vill skriva och det ska bara synas för denna process Problem Vad händer om en process dör Copy-on-write mema mema mema mema memb memab mema memb h = mem[30] t = mem[12] mem[24] = 17

Implementation En icke existerande adress => "page fault"/trap Speciell kod sparar register Anropa OSet som tar reda på vilken sida som behövs Om adressen verkligen existerar och processen får använda den så letar man reda på en lämplig fysis plats att lägga informationen på. Om nåt är fel så skickas en signal till processen (eller så avslutar man den) Om den valda platsen innehåller en modifierad sida så sparas den till disk. Sedan läses det nya innehållet in (antagligen sker ett process byte här). När rätt sida finns tillgänglig så anropas OSet som fixar till alla tabeller Man backar tillbaka till den instruktion som gav upphov till page fault Alla register läses tillbaka och processen schemaläggs Problem Hur får man reda på vilken adress som gav upphov till page fault Hur ska man reservera disk för att spara till Spara till disk + Snabbt - Oflexibelt - Mycket plats Knep och knåp Kan vara jobbigt att ha ett adressområde ibland Genom att segmentera minnet kan man få OSet att ta hand om obehagligheterna Flexibilitet Möjlighet att ge olika skydd till segmenten + Flexibelt + Mindre plats - Långsammare

Koncept Unix Processer Daemon Förälder vs barn Kommunikation Pipes Signals Processer Hur skapas en process Skapas med fork exec* Zombie 237 237 237 237 1057 1057 Exec

Implementation Två delar: user och kernel part Process table Parametrar för schemaläggning Olika minnesreferenser Signaler Resten User structure Maskinregister Tillståndet för systemanrop File descriptors Accounting Kernel stack Hur ser en process ut Minnesmappade filer Unix använder sig av paging Demand paging User structure + page table Om detta inte finns i minnet så kan processen schemaläggas Page daemon Core map

Algoritm Page daemon kollar med jämna mellanrum Finns det tillräckligt med lediga frames? Jäpp: Gör ingenting Nix: Börja flytta sidor så att det ska finnas tillräckligt Klocka med en visare Klocka med två visare Mycket byte och inte tillräckligt med sidor swapper börjar flytta ut processer till disk Linux 3GB adressutrymm + 1GB reserverat Kärnan finns alltid i minnet Har en grupp av fria sidor En process kollar att det finns tillräckligt 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. Hur ser en process ut En annan process kollar att modifierade sidor skrivs till disk. Area Page Reserverat User Windows

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) Working set Skriv disk Process klar Nolla Modifierad Beredd Ledig Nollad Trasigt