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

Like dokumenter
P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2

Kommersiell Unix Linux og frie Unix kloner

Scheduling og prosesshåndtering

Oppgave 1 - Linux kommandolinje (%)

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

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

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

Internminnet. Håkon Tolsby Håkon Tolsby

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

TDT4258 Eksamen vår 2013

Internminnet. Håkon Tolsby Håkon Tolsby

Internminne og Cache. RAM = Random Access Memory

1 Forelesning 11/1-12(2 timer). Introduksjon til operativsystemer Hva er et operativsystem (OS)?... 7

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

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

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

Datamaskinens oppbygning

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

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

Definisjon av prosess

Hvorfor lære om maskinvare*?

Into da BIOS<3. Bak Skallet

1. Introduksjon til operativsystemer

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

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

Operativsystemer og grensesnitt

Læringsmål og pensum. v=nkiu9yen5nc

Eksempler på ikke-blokkerende systemkall:

Tonje Thøgersen, Daniel Svensen Sundell, Henrik Smedstuen

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

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

Del1: Setup: BIOS. 2. Hvor mye Internminne har den? 3GB DDR2

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

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

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

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

Threads Threads (tråder) threads vs prosesser threads vs prosesser Definisjoner av

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Datamaskinens oppbygning og virkemåte

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

Eksamensinformasjon. Linux kommandolinje. Linux kommandolinje. Eksamensinformasjon. Fakultet: Teknologi, kunst og design. Tid: 3 t.

Løsningsforslag til eksamen 24. november 2015

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

Operativsystemer og nettverk

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

Phu Pham Laboppgave 29. September 2015

Oppgave 8.1 fra COD2e

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

Tildeling av minne til prosesser

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Introduksjon til kurset og dets innhold

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D

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

Prosesstabeller (PCB - Prosess Control Block) Se på PD: kommandoene ps og top Bakgrunnsprosesser Opprettelse av prosesser:

DAT kandidatnummer: 142

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Generelt om operativsystemer

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17

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

INF2270. Input / Output (I/O)

Oppgave 1 - Java og prosesser (20%)

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Setup programmet brukes til å endre konfigurasjonen av BIOS og til å vise resultatene fra

Hukommelseshierarki. 16/3 cache /3 virtuell hukommelse in 147, våren 1999 hukommelseshierarki 1

INF2270. Input / Output (I/O)

Litt om Javas class-filer og byte-kode

Dagens temaer. Praktisk anvendelse: Satellittkommunikasjon. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten

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

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

Definisjon av prosess

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

Kjenn din PC (Windows 7)

dynamiske data dynamiske data statiske data program dynamiske data statiske data reservert program dynamiske data statiske data reservert program

6105 Windows Server og datanett

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

Servere. Katalog Åpningstid: 09:00-17:00 alle hverdager.

Her velger dere først System and Maintenance og deretter System.

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

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

Repetisjon - Modul 1

VMware ESX og krav til hardware

Her velger dere først System and Security og deretter System.

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

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

En harddisk består av et lite antall plater av et magnetisk materiale.

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

ytelsen til hukommelseshierarkier

HØGSKOLEN I SØR-TRØNDELAG

Eksamensinformasjon. Prosesser. Prosesser. Eksamensoppgave. Operativsystemer (DATS/ITPE2500) Bokmål 06. juni 2017 kl

Det matematisk-naturvitenskapelige fakultet

Hvorfor operativsystemer? Introduksjon til operativsystemer. Samtidighet. Praktiske hensyn. Kjell Åge Bringsrud INF103

Dagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM

INF2270. Datamaskin Arkitektur

Hvordan en prosessor arbeider, del 1

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

oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO

Transkript:

-OS i i L1 og L2 og og Basis for flerprosess-systemer. Adresser.. 2 1 0 OS Device minne Skjerm minne Brukerprogram Brukerdata/heap Stack Stack: brukes bl. a. til å lagre adressen som skal returneres til ved subrutinekall.

-OS i i L1 og L2 og og -OS For å lage et system som kan kjøre n samtidig, må vi få en enprosess maskin til å se ut som n maskiner. Adresser.. 2 1 0 OS Bibliotek virtuell I/O1 program1 data 1/heap1 stack1 virtuell I/O 2 program 2 data 2/heap2 stack 2 prosess nr. 1 prosess nr. 2 Figure: Minnekart for et multitasking system

-OS i i L1 og L2 og og gjør en og en maskinistruksjon av gangen Et multitasking operativsystem får det til å se ut som om mange kan kjøre samtidig ved å dele opp tiden i små biter (timeslices) Hver prosess som kjører få en bit -tid, 1/100 sek av gangen, i et køsystem (Round Robin kø) Preemptive multitasking: En hardware timer (klokke) sender hvert hundredels sekund et interrupt-signal til Første OS-instruksjon legges inn i instruksjonsregisteret i en OS lar hver prosess etter tur bruke en i et 1/100 sekund Unngår at en brukerprosess henger eller tar over kontrollen Alle prosesser ser da ut til å kjøre samtidig

-OS i i L1 og L2 og og Når OS switcher fra prosess P1 til prosess P2 utføres en såkalt Contex (kontekst svitsj). 10 30 50 70 P1 P2 P3 P1 P2 P3 P1 P2 OS gjør Contex fra P1 til P2 tid/ms bruk Figure: Prosessene P1, P2 og P3 kjører samtidig under et multitasking OS. En utføres hver gang en prosess gis -tid. Typisk tid som brukes på en context-switch: 0.001 ms (ms = millisekund = tusendels sekund). Timeslice = 10 ms for Linux på Intel.

-OS i i L1 og L2 og og Process (PCB) er Prosessens tilstandsbeskrivelse: prioritet, prosessormodus, minne, stack, åpne filer, I/O, etc. PCB inneholder bl. a. følgende: registere pekere til stack prosesstilstand (sleep, run, ready, wait, new, stopped) navn (PID) eier (bruker) prioritet (styrer hvor mye -tid den får) parent prosess ressurser (åpne filer, etc.)

-OS i i L1 og L2 og og -scheduling = å fordele -tid mellom prosessene = Time Sharing Ved hvert timer-interrupt til, vurderer OS om scheduler-rutinen skal kalles Scheduleren avgjør hvilken prosess som skal velges til å bruke en Når OS switcher fra prosess P1 til prosess P2 utføres en Contex All PCB-info må lagres i en tar tid systemoverhead

-OS i i L1 og L2 og og Adresser.. 2 1 0 Context switch fra P1 til P2 PCB 1 program1 data1 PCB 2 program 2 data 2 PCB og Lagrer prosess nr. 1 prosess nr. 2 registere Laster inn PC IR ax bx cx Figure: info lagres i PCB ved en

-OS i i L1 og L2 og og i Et program som oversetter kildekode til maskinkode (kompilator) eller et program som hele tiden regner med tall, vil bruk så mye -tid som det klarer å få tak i. Kalles. De fleste vanlige som browsere, tekstbehandlings, tengeprogram etc. bruker lite Dette gjør at multitasking av hundretalls samtidige prosesser går helt greit uten at brukeren oppfatter datamaskinen som treg

-OS i i L1 og L2 og og i Kjører et lite shell-script som står i en løkke og regner og regner Vil hele tiden bruke så mye det kan få Har aldri behov for å vente på data fra disk, tastatur eller andre prosesser, kan regne uten stans #! /bin/bash # regn (bruker hele tiden) (( max = 100000 )) (( i = 0 )) (( sum = 0 )) echo $0 : regner... while (($i < $max)) do (( i += 1 )) (( sum += i )) done echo $0, resultat: $sum

-OS i i L1 og L2 og og Bare rene regneprosesser bruker hele tiden. Vanlige prosesser venter mye på I/O (Input/Output fra disk, nettverk etc.) og multitasking gir da mer effektiv utnyttelse av. Singletasking; først A så B Prosess A Prosess B I/O I/O 0 30 40 60 I/O I/O Figure: Prosessene A og B kjørt med single og multitasking tid/ms

-OS i i L1 og L2 og og vanlige som webbrowsere, teksteditorer, regneark etc bruker stort sett lite venter på I/O(Input/Output), input fra brukere, nettverkskort eller disk. io1: #! /bin/bash echo $0 : laster ned... wget -O io1.file http://uvtagg.com/classes/operatingsystems.pdf 2> /dev/null

-OS i i L1 og L2 og og RAM - Random Access Memory utfører instruksjoner raskere enn de og data kan hentes fra RAM er hurtigere og mellomlagrer instruksjoner og data 4 8 GByte 2MByte 128Kbyte 512 byte < 1ns 1ns 2ns 8 10 ns (10 sekunder) Registere L1 L2 Internminne (RAM) 500 GByte 2 10 ms (10 sekunder) Disk

-OS i i L1 og L2 og og Mikroprosessor brikke L1 Level 1 0101 1111 1101 0001 R0 0101 0001 1101 hurtigst R1 1101 0111 R2 0001 1111 1111 R3 0111 0001 0001 1101 1101 (SRAM) hurtig L2 Level 2 (SRAM) 0101 1111 1111 1101 0001 0001 0001 1101 1101 0111 1111 1111 1111 0001 0001 0001 1101 1101 1101 1111 1111 1111 0001 0001 0001 1101 1101 1101 1111 1111 1111 0001 0001 0001 1101 1101 1101 treg (Buss) Internminne (RAM) (DRAM) 0101 1111 1111 1111 1111 1101 0001 0001 0001 0001 0001 1101 1101 1101 1101 0111 1111 1111 1111 1111 1111 0001 0001 0001 0001 0001 1101 1101 1101 1101 1101 1111 1111 1111 1111 1111 0001 0001 0001 0001 0001 1101 1101 1101 1101 1101 1111 1111 1111 1111 1111 0001 0001 0001 0001 0001 1101 1101 1101 1101 1101 1111 1111 1111 1111 1111 0001 0001 0001 0001 0001 1101 1101 1101 1101 1101 1111 1111 1111 1111 1111 0001 0001 0001 0001 0001 1101 1101 1101 1101 1101 1111 1111 1111 1111 1111 0001 0001 0001 0001 0001 1101 1101 1101 1101 1101 1111 1111 1111 1111 1111 0001 0001 0001 0001 0001 1101 1101 1101 1101 1101 1111 0001 1101 1111 0001 1101 1111 0001 1101 1111 0001 1101 1111 0001 1101 1111 0001 1101 1111 0001 1101 1111 0001 1101 Figure: Level 1 cache (L1) ligger nærmest. L2 er større, men har litt lengre aksesstid.

-OS i i L1 og L2 og og L1 data L1 instruksj. L1 TLB Mikroprosessor L2 Level 2 L1 og L2 Figure: Level 1 cache (L1) bestående av tre deler. I AMD Athlon 64 er TLB i tillegg delt i to deler, en for adresser til instruksjoner og en for adresser til data. RAM

-OS i i L1 og L2 og og og /Multiprogramming Software(OS) brukes til å fordele tid fra samme mellom flere prosesser To eller flere er i samme computersystem kjører flere prosesser virkelig samtidig, på samme tidspunkt Symmetric SMP, mest vanlig, To eller flere prosessorer deler samme internminne og kjører flere prosesser virkelig samtidig, på samme tidspunkt Multi Core To eller flere prosessorer på samme brikke deler cache og databus og kjører flere prosesser samtidig.

-OS i i L1 og L2 og og L1 cache RAM Singel processor L1 cache L1 cache L1 cache L1 cache L1 cache RAM RAM RAM Dual processor Dual Core AMD Dual Core Intel processor processor Figure: Single og dual prosessor og dual core prosessorer. Den tykke linjen markerer grensen for brikken/chip en L1 cache

-OS i i L1 og L2 og og 64KB L1 cache 256 KB 64KB L1 cache 256 KB 8MB L3 cache 64KB L1 cache 256 KB 64KB L1 cache 256 KB Figure: Intel Core i7 og AMD Opteron K10. K10 kjernen har 512KB og i7 kjernene har, ellers er de i store trekke relativt like.

-OS i i L1 og L2 og og og Mange av Intels prosessorer som Pentium 4 og Xeon har såkalt teknologi En single core kan inneholde to prosesser samtidig er mellom de to prosessene i løpet av nanosekunder Egne registere for hver prosess, men deler felles ALU