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



Relevanta dokument
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ö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Minnet från processorns sida Datorteknik

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

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

Digitala System: Datorteknik ERIK LARSSON

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.

Datorteknik ERIK LARSSON

Några gamla tentamensuppgifter: Minneshantering

Datorteknik ERIK LARSSON

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

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

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

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

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

Närliggande allokering Datorteknik

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

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

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne.

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

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

Mer datorarkitektur. En titt I datorn Minnen

Datorarkitekturer med operativsystem ERIK LARSSON

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.

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

DIG IN TO Dator och nätverksteknik

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Tentamen den 18 mars svar Datorteknik, EIT070

Lösningsförslag till tentamen i IS1350 Operativsystem

Operativsystem - Filsystem

Öppna filer och filsystem i PintOS Hemuppgift TDDI81, 21/

Operativsystem - input/output, skydd, virtualisering

Digitalteknik och Datorarkitektur 5hp

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

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

Datorsystemteknik DAVA14 Föreläsning 10

Operativsystem (IS1350) :00-12:00

Operativsystem ID1200/06 Tentamen :00-18:00

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör.

Operativsystem - Minneshantering I

Prestandajämförelse - Sekventiell skrivhastighet i RAID 4 och RAID 5

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Kapitel 4 (DeBlanche) Datorarkitektur

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

Grundläggande datavetenskap, 4p

Dugga 1 status 41 godkända 39 ej godkända ERIK LARSSON

Minneshantering - grunderna. Föreläsning 2

Operativsystem ID2200/06 omtentamen :00-18:00

Filsystem användarvy och implementering. Föreläsning 4

Hantering av hazards i pipelines

Innehåll. Minneshantering. Systemet hivlls... Föreläsning 1. Problemformuleringar. Problem a[ lösa idag (...)

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

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning

Cacheminne i en AMD Opteron Processor

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

Allmänt om programvaror och filer i Windows.

Föreläsning 2. Operativsystem och programmering

DIG IN TO Dator och nätverksteknik

Operativsystem ID1200/06 Tentamen :00-18:00

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Digitala System: Datorteknik ERIK LARSSON

F5: Högnivåprogrammering

CE_O5. Cacheminne. Hemlaboration 2.

Reservföreläsningen inställd

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

Snapdragon 810: Cacheminnet

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Datorarkitekturer med operativsystem ERIK LARSSON

Operativsystem - Processkedulering

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

Kursansvarig. Välkomna till NADA. Datorn som verktyg. Datalogi, grundkurs 1, 15hp

Processprogrammering och operativsystem Introduktion. Kursinformation. Varför operativsystem?

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

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

Operativsystem. Hierarkin för hårdvara läses nerifrån

F5: Högnivåprogrammering

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

Systemanropp kontrollen övergår från userspace till kernelspace ca 100 i UNIX, många fler i NT

Datorsystem. Tentamen

Projekt Fake för Virtutech

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Datorsystem. Exempeltentamen

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Synkronisering. Föreläsning 8

TIDNINGEN. Konsten att partitionera SSD-flash EMBEDDED. Kongeniala rapporter om inbyggda system etn.se/expert. Claus Giebert Kontron

Introduktion till datoranvändning. Välkomna till NADA. (Numerisk Analys och DAtalogi) och kursen. Datalogi, grundkurs 1, 15hp

Steg 1 Minnen, mappar, filer Windows 10

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

LABORATIONSRAPPORT Operativsystem 1 Linux

Program & programmering

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Datorsystemteknik för E/D

Transkript:

Fö 8: Operativsystem II Minneshantering och Virtuelltminne. Virtuella I/O enheter och Filsystemet. Flerprocessorsystem. Minneshantering Uniprogrammering: Minnet delas mellan operativsystem och användarprogrammet. Kan göras statiskt. Multiprogrammeing: Användare delen av minnet delas mellan flera olika processer. Uppdelning av datorns minne på de olika processerna kallas Minneshantering. Viktig uppgift för Operativsystemet. Måste oftast göras dynamiskt. Typeset by FoilTEX 1 Typeset by FoilTEX 2 Minneshantering (1) Stöd för omförflyttning: program känner inte till sin fysiska placering i primär minnet. Minneshantering (2) Partitionering: Dela in minnet i sektioner. Skydd: Skydd mot ofrivillig eller illegal åtkomst av andra processers minne. Segmentering: logisk delning av program i segment. Typeset by FoilTEX 3 Typeset by FoilTEX 4

Minneshantering (3) Struktur Delande av minnesutrymme: Data och programkod ( reentrant ). Fysisk organisation: primär- och sekundärminne tillsammans skapar ett virtuellt minne. Typeset by FoilTEX 5 Typeset by FoilTEX 6 Effektivitetsfrågor Problem: I/O extremt långsamt jämfört med CPU. Oftast måste CPU vänta även i multiprogramfallet. Lösningar: - Fler processer aktiva i minnet ger mindre chans att alla är blockerade samtidigt. - Öka minnesstorleken för att få plats med fler program. Kan vara dyrt. Leder eventuellt till större program. - Swappa program som inte exekveras just nu. Hårddisken är långsammare än primärminnet men snabbare än övriga I/O enheter. Swappning Kö av processer på disk. Processer swappas in till primärminnet när de behövs. Processer som inte är redo att exekveras kastas ut. Om inga processer kan exekveras (blockerade av I/O): - Swappa ut en blockerad process. - Swappa in en Ready eller ny process. Eftersom vi ändå måste vänta på I/O finns ofta tid att exekvera operativsystemet utan att det stjäl tid ifrån övriga processer. Typeset by FoilTEX 7 Typeset by FoilTEX 8

Utökat processtillstånd Partitionering av minnet Processer måste dela på primärminnet. Hur skall uppdelningen göras? - Statiskt. - Dynamiskt. Typeset by FoilTEX 9 Typeset by FoilTEX 10 Statisk partitionering Primäminnet delas upp i partitioner med fix storlek. - Kan ha olika storlek. - En process placeras i den minsta partitionen där den får plats ( best fit ). - Visst minnesslöseri oundvilkigt. - Bra att ha flera partitioner av varierande storlek. Dymanisk partitionering (1) Allokera exakt det minne en process begär. Typeset by FoilTEX 11 Typeset by FoilTEX 12

Dynamisk partitionering (2) Allokera exakt det minne en process begär. - Kan finnas många oanvända hål i primärminnet. - Dock inget tillräckligt stort hål. Fragmentering. - Minneskompaktering eller Defragmentering. Minneskompaktering (1) Flytta använda patritioner tills ett tillräckligt stort ledigt block uppstått. - Behöver kanske bara flytta några enstaka processer. - Ganska stor sannolikhet att behöva flytta på nytt nästa gång. - Kallas även Defragmentering. Typeset by FoilTEX 13 Typeset by FoilTEX 14 Minneskompaktering (2) Arrangera om minnet så att allt utnyttjat minne hamnar i följd. - Tidskrävande. - Bör kunna klara sig utan nya omflyttningar ett tag. Jämför med Defragmentering av Hårddisk. Omförflyttning av minne Ingen garanti att en process laddas till samma ställe i primärminnet varje gång. Maskininstruktioner innehåller adresser till: - Data. - Andra instruktioner. Logiska, inte fysiska, adresser används. Ofta relativt programmets första instruktion. Operativsystemet sköter konverteringen till fysisk adress. Base-Register Adressing: Hårdvarustöd för relativ adressering. Typeset by FoilTEX 15 Typeset by FoilTEX 16

Sidbaserat minne Dela program (processer) i block (sidor) med en fix storlek. Dela primärminnet på samma sätt (sidramar). Allokera begärt antal sidor till en process. - De sidor som en process använder behöver inte ligga i följd. - Statisk uppdelning av minnet men flexibel placering av processer. Logiska och fysiska adresser Processens sidtabell innehåller 4 sidor (Sida 0 3). Implementation av Sidtabell: - Primärminnet - långsamt. - Separata register - dyrt. - Cache. En sidtabell används för att hålla ordning på översättning mellan sidor och sidramar. Memory Page, Frame, Pagetable, Paging. Typeset by FoilTEX 17 Typeset by FoilTEX 18 Virtuellt minne Demand Paging - Delmängd av processens sidor finns i primär minnet. - Sidor laddas in när de behövs. Målsättning med Virtuellt minne Ger illusionen av att primär minnet är stort. Logiskt primär minne lika stort som hårddisken. Sidfel (Page fault). - Begärd sida finns inte i primär minnet. - Operativsystemet måste flytta sidan till primär minnet. - Eventuellt måste en annan sida flyttas till disk för att ge plats. - Vilken dida skall kastas ut? Program kan vara större än primär minnet. Lokalitetsprincipen: Endast några sidor ur en process är aktiva samtidigt. Typeset by FoilTEX 19 Typeset by FoilTEX 20

Sidfel Åtkomst försök till en sida ur virtuella minnet som inte finns i primär minnet. Operativsystemet måste flytta sidan från sekundär- till primärminnet. Sidbyte Sidfel innebär att en ny sida skall in och en gammal ut. Om den gammla sidan är förändrad måste den kopieras tillbaka till sekundär minnet. Målrättning: Sidan som kastas ut skulle ändå inte användas. - Framtida beteende okänt. - Lär från historiskt beteende. Typeset by FoilTEX 21 Typeset by FoilTEX 22 Utbytes algoritmer Välj vilken sida som skall ersättas enligt någon regel. - FIFO (First In First Out). - LRU (Least Recently used) - LFU (Least Frequently Used) Med en dålig regel riskerar CPU att tvingas använda mycket tid till att flytta sidor mellan primär- och sekundärminnet. Jämförelse mellan Cache och Virtuellt Minne Båda kan använda samma algoritmer. - FIFO (First In First Out). - LRU (Least Recently used) - LFU (Least Frequently Used) Slumpmässigt utbyte används inte vid sidhantering i ett virtuellt minne. Typeset by FoilTEX 23 Typeset by FoilTEX 24

Målsättning med I/O-hantering. Virtuella I/O enheter Programkod skall vara oberoende av - Enhetstyp. Samma kod för att skriva till en matrisskrivare och en laserskrivare. - Instans. Ingen skillnad att skriva på skrivaren i rummet; eller på den i nästa rum. - Bekvämlighetsfråga. Programmet jobbar mot en logisk (virtuell) I/O enhet. Operativsystemet ansvarig för kopplingen mellan virtuell och fysisk enhet. I/O operationer skall inte påverka CPU uttnyttjande alltför mycket. Effektivitetsfråga. Typeset by FoilTEX 25 Typeset by FoilTEX 26 Filsystem Operativsystemet skall tillhandahålla ett filsystem. Skall gömma fysisk struktur. Översättning av filnamn till fysisk adress (block och sektorer). Exempel: UNIX Filsystem inode tabell: Varje fil har ett unikt nummer (ls i). En inode innehåller: (ls -l eller stat). - information om ägare, åtkomsträttigheter (rwx), filtyp, etc. - Tabell med disk block där filen lagrats. Stöd för filhantering. Skapa, Flytta, Läsa, och Skriva filer. Katalogstruktur. Stöd för fildelning mellan processer och användare. Åtkomsträttigheter. Typeset by FoilTEX 27 Typeset by FoilTEX 28

Exempel: UNIX Filsystem Filnamn, Katalogstruktur och annan metadata lagras i tabeller. Bitmap: Karta över tomma block på disken. Tabell över skadade diskblock. Typeset by FoilTEX 29