Minnehåndtering i operativsystemer

Like dokumenter
Minnehåndtering i operativsystemer

Håndtering av minne i et OS

Tildeling av minne til prosesser

Tildeling av minne til prosesser

Generelt om operativsystemer

Hvorfor lære om maskinvare*?

Tildeling av minne til prosesser

Generelt om operativsystemer

Operativsystemer og grensesnitt

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Hvorfor lære om maskinvaren*?

Definisjon av prosess

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Datamaskinens oppbygning

Internminnet. Håkon Tolsby Håkon Tolsby

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki Hukommelseshierarki-2 1

Internminnet. Håkon Tolsby Håkon Tolsby

Generelt om permanent lagring og filsystemer

Scheduling og prosesshåndtering

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

Tonje Thøgersen, Daniel Svensen Sundell, Henrik Smedstuen

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Datamaskinens oppbygning og virkemåte

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

UNIVERSITETET I OSLO

Maskinvaredelen av INF 103: oversikt og innhold (1)

Minnehåndtering. Lars Vidar Magnusson. October 4, Lars Vidar Magnusson () Forelesning i Operativsystemer October 4, / 20

Clock speed 3.20GHz Bus Speed 800MHz L2 Cache 4MB 2 Cores Ikke Hyperthreading 64 BIT

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Innhold. Om denne boka 1. Kapittel 1 Operativsystemer og mellomvare 5

Del 1 Setup - BIOS Oppgaver: 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Oppgave lab. 2. Hvor mye Internminne har den? - Maskinen har 2GB internminne.

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Oppsummering av digitalteknikkdelen

TDT4258 Eksamen vår 2013

Dagens tema. Flere teknikker for å øke hastigheten

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache Hukommelseshierarki-1 1

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

Resymé: I denne leksjonen vil du få en oversikt over hva et operativsystem er for noe, hvordan det er bygget opp og hvordan det virker.

Martin Olsen, Lars- Petter Ahlsen og Jon- Håkon Rabben

Oppgave 1 - Linux kommandolinje (%)

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

2. Hvor mye Internminne har den? Svar: 2GB

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.

Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

Hvordan en prosessor arbeider, del 1

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

Del 2. Bak skallet. Avsette minne til et spesifikt OS Teste harddisk under oppstart Sette opp system logger

Bits&Bytes Om datamaskinens oppbygging og virkemåte. TOS - IKT Tirsdag 4. desember 2012 Seksjon for digital kompetanse

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

HØGSKOLEN I SØR-TRØNDELAG

Læringsmål og pensum. v=nkiu9yen5nc

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Laboppgave. Sondre Gulichsen, Li Lisan Linder. 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte

OPPGAVESETT 1 INTRO. Delta på andre forelesning i emnet, der hovedkomponentene til datamaskinen blir introdusert. Ta notater!

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.

Kapittel 1: Datamaskiner og programmeringsspråk

I dag. Minne typar Minne mot bussar (fysisk grensesnitt generelt) Meir buss

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

TDT ITGK - Hardware. Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte. Terje Rydland - IDI/NTNU

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

INF2270. Minnehierarki

Tema: Oversikt over ansatt, rom, datamaskin, skjerm, software, hardvare og tilkoblingsanlegg.

1. Introduksjon til operativsystemer

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

Kapittel 7, Minne RAM DIMM, SIMM ROM, PROM, EPROM, EEPROM FLASH DIM SUM. Cache Virtuelt minne

Programmeringsspråket C Del 2

Filsystemet fra innsiden

Operativsystemer og nettverk Løsningsforslag til eksamen Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

Kapittel 1: Datamaskiner og programmeringsspråk

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2

EKSAMEN. Operativsystemer og nettverk

Transkript:

Minnehåndtering i operativsystemer

Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet må beskyttes, men samtidig kunne deles Minnehåndtering utføres av en egen del av OS som har ansvaret for maskinens primærminne: Memory Management System (MMS)

Hva er det som skal håndteres? MMS håndterer bare maskinens primærminne Aka RAM, (hoved)minne, (main) memory, internminne RAM er direkte tilgjengelig for CPU CPU leser instruksjonene som skal utføres fra RAM Alle data som CPU jobber med leses fra/lagres i RAM Primærminnet inkluderer ikke cache, ROM, grafikk- RAM, RAM-disker, cache-ram i disk-kontrollere etc.

Minne: Adresserbare lagerceller Lagrer data i (tradisjonelt 8-bits) minneceller Hver celle har en (heltalls)adresse som kan brukes for å lese verdien eller lagre en verdi Lesing og skriving skjer ved å overføre data på databussen, mellom cellen og et register i CPU Cellene ligger oftest i banker med minnebrikker på hovedkortet

Hvem gjør minnehåndteringen? Operativsystemets programvare (MMS) håndterer fordelingen av minne mellom prosesser Maskinvare for minneaddressering internt i CPU (memory management unit / MMU) sørger for riktig lesing/skriving i RAM Run-time systemer (f.eks. JVM) holder rede på variablene som brukes i et program som er skrevet i høynivå programmeringsspråk (f.eks. Java).

Hvorfor er minnehåndtering viktig? Uten god minnehåndtering virker ikke maskinen: Feil i minnet gir bugs som er umulige å finne Dårlig minnehåndtering gir en treg maskin Usikre minnesystemer åpner for virus og malware Alt som en programmerer gjør handler om minnehåndtering både koden og dataene ligger i RAM under kjøring av programmet Moderne OS har derfor svært komplekse og kompliserte systemer for å håndtere minnet

Hovedoppgaver i minnehåndtering Holde rede på status (tildelt/ledig) for minnecellene Fordele RAM mellom prosessene: Hvem skal få tildelt minne? Når skal en prosess få tildelt minne? Hvor mye skal en prosess tillates å få? Finne passende deler av minnet ved tildeling Frigjøre minne som ikke lenger er i bruk Beskyttelse og deling av minne mellom prosesser

Forenkling av minnehåndtering * Bruker en lineær modell for å beskrive RAM Antar at hele primærhukommelsen ligger som en endimensjonal tabell en søyle av minneceller Antar at vi kan adressere RAM omtrent som vi indekserer en tabell/array i f.eks. Java, fra lave til høye adresser Antar at prosesser får tildelt minneområder som er en sammenhengende del av denne RAM-tabellen * Vi gjør dette for lettere å kunne forstå prinsippene. En godt fungerende MMS er mye mer komplisert både mht. algoritmer og håndteringen av maskinvare.

Minneområdet til en prosess Anta at hver prosess får tildelt bare ett sammenhengende minneområde i RAM For hver prosess som kjører vil OS lagre informasjon om minneområdet i registre i CPU: En segmentindeks, angir start på minneområdet En grense, angir størrelse på minneområdet

Beskyttelse av minneområder OS bruker verdiene i segment- og grenseregistre for en prosess til å beskytte minnet: Prosessen nektes tilgang til RAM utenfor eget område Kan bare gis tilgang hvis andre prosesser tilllater det Registrene er beskyttet * En prosess kan ikke endre data om eget minneområde Kun OS har tilgang til segment- og grenseregistrene * : Tidlige Microsoft-systemer hadde ikke beskyttelse av minneregistrene mye systemfeil

Deling av minne To muligheter for deling av minne hvis hver prosess bare har ett sammenhengende minneområde: 1) Delvis overlappende minneområder: Prosessene som skal dele minne har hver et underområde av RAM som er felles 2) Helt overlappende minneområder: Prossessene som skal dele minne tildeles det samme minneområdet og deler hele dette området

Delvis overlappende minneområder Fungerer bare for to prosesser Ved tre eller flere prosesser må minst en av prosessene dele hele sitt minneområde Brukes ikke i praksis

Helt overlappende minneområder Prosessene deler hele minneområdet Prosessene har identisk innhold i grense- og segmentregistre Brukes bl.a. for alle trådene i en prosess

Deling av minnesegmenter De fleste OS bruker segmentert minnehåndtering Hver prosess kan tildeles flere mindre minneområder Hvert minneområde kalles for et minnesegment Segmentene er sammenhengende, mens hele minneområdet til prosessen er spredt i RAM Et eller flere av de tildelte segmentene kan deles med flere prosesser, mens andre segmenter kan beskyttes mot lesing og/eller skriving