HW for koordinering med omverdenen. OS syr HW og SW sammen. Tema for denne forelesningen: in 147, våren 1999 Input/Output 2 1

Like dokumenter
Operativsystemets ansvar er å koordinere. programmers bruk av I/O

Dagens tema. Parallellitet Generelt Fraktaler Polling og avbrudd Multiprosessering i UNIX Opprettelse av prosesser Signaler

Prosesser. Dagens tema. Hva er en prosess? En prosess er et program under utførelse.

Dagens tema: Parallellisering Generelt Fraktaler Generelt Julia-kurven Vindussystemet X Parallellitet i UNIX Signaler. IN 147 Program og maskinvare

Brukerhåndtering av prosesser i Linux

ytelsen til hukommelseshierarkier

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

Dagens tema: Liten repetisjon Håndtering av statusverdier

Dagens tema (kapittel 15 i Englander-boken)

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O)

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

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

Oppgave 8.1 fra COD2e

Tema for denne forelesningen: tilpassing til pipeline. forwarding. eliminere NOP. faktisk MIPS. in 147, våren 1999 pipelining 1 9

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

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

Oppgave 1 Oversettelse (total vekt 20%)

Oppsummering av digitalteknikkdelen

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

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Hvorfor lære om maskinvare*?

Scheduling og prosesshåndtering

Minnehåndtering i operativsystemer

UNIVERSITETET I OSLO

TDT4258 Eksamen vår 2013

Hva er datamaskinarkitektur?

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

kan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet

Håndtering av minne i et OS

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

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

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

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

Oppgave 2 Maskinkode (vekt 12%)

Tildeling av minne til prosesser

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

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

Dagens tema: Enda mer MIPS maskinkode

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

hukommelse (kapittel 9.9 i læreboken) Dagens temaer Input-Output INF 1070

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

alternativer til felles hukommelse store parallelle datamaskiner Tema for denne forelesningen: in 147, våren 1999 parallelle datamaskiner 1 9

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

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

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

Generelt om operativsystemer

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

Løsningsforslag til eksamen i IN 147(A)

1. Introduksjon til operativsystemer

Innhold. Oppgave 1 Oversettelse (vekt 15%)

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt

Hvorfor lære om maskinvaren*?

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

Dagens tema INF1070. Makroer. Sanntidsprogrammering. Avbrudd. Bruker- og supermodus. Blanding av C og assemblerkode. Selvmodifiserende kode

Dagens tema. Makroer Ofte gjentar man kodelinjer når man skriver assemblerkode. Da kan det lønne seg å definere en makro:

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur

4/2 enkel pipelining in 147, våren 1997 pipelining 1. Pipelining. når tema læreboka. 11/3 problemer

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode.

Oppgave 1 Oversettelse (vekt 16%)

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

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

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

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

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

IN1020. Datamaskinarkitektur

Minnehåndtering i operativsystemer

DAT kandidatnummer: 142

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

Oppgave 1 - Linux kommandolinje (%)

Intel Core i7. Omid Mirmotahari 4

Forelesning 5. Diverse komponenter/større system

Forelesning Instruksjonstyper Kap 5.5

Dagens program. Sanntidsprogrammering med Linux. Embedded Linux: Begrensninger. Hvorfor Linux?

6105 Windows Server og datanett

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

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

Dagens tema. Flere teknikker for å øke hastigheten

SLA og KPIer i skytjenester

Eksempler på ikke-blokkerende systemkall:

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

Introduksjon til kurset og dets innhold

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

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

Tildeling av minne til prosesser

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

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

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

EKSAMENSOPPGAVE, INF-2200

Dagens temaer. Mer om adresseringsmodi. Indeksert adressering med offset og auto-inkrement eller dekrement. Register-indirekte adressering

Bruk av interrupt og Timer i Arduino-program.

Dagens temaer. Dagens emner er hentet fra Englander kapittel 10 (side ) Mer om adresseringsmodi. RISC og CISC-prosessorer.

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

Kommersiell Unix Linux og frie Unix kloner

Transkript:

Tema for denne forelesningen: OS syr HW og SW sammen HW for koordinering med omverdenen in 147, våren 1999 Input/Output 2 1

Operativsystemets ansvar er å koordinere programmers bruk av systemet blir delt av flere programmer som også deler prosessoren bruker ofte avbrudd for å melde tilbake om status til operasjoner avbrudd bringer prosessoren inn i en «supervisor» modus som er forbeholdt operativsystemet [supervisor har alle rettigheter!] Håndtering av er komplisert flere ting kan skje samtidig korrekt operasjon kan kreve pinlig nøyaktighet in 147, våren 1999 Input/Output 2 2

En klient/tjener modell for klient kø tjener Gjennomstrømming: antall oppgaver som blir utført av tjeneren pr. tidsenhet * for å få størst mulig gjennomstrømming hold tjeneren sysselsatt hele tiden køen må aldri få gå tom + «mer maskinvare gir større gjennomstrømming» Responstid: starter når en oppgave blir plassert i køen av klienten slutter når oppgaven er ferdig behandlet av tjeneren * for å få minst mulig responstid la køen være tom la tjeneren være ledig in 147, våren 1999 Input/Output 2 3

Operativsystemets administrasjon av prosesser waiting for event event occurred task deleted wait for event task deleted delayed delay task for N ticks delay expired dormant task create/delete ready context switch running task deleted interrupt interrupted in 147, våren 1999 Input/Output 2 4

Kommunikasjon mellom og operativsystem OS trenger å vite når operasjoner er ferdige og om feil har oppstått polling: Interrupts Processor Cache data? Main memory Memory bus Graphics output Network + enkelt prosessoren har kontrollen prosessoren utfører arbeidet les data aktiv venting sløsing med CPUressurser skriv data ferdig? in 147, våren 1999 Input/Output 2 5 Main memory Cache Processor Interrupts Graphics output Memory bus Network

Kommunikasjon mellom og operativsystem OS trenger å vite når operasjoner er ferdige og om feil har oppstått avbrudd Processor Interrupts Cache Main memory Memory bus Graphics output Network sub store load add store store store sub add load in 147, våren 1999 Input/Output 2 6 Main memory Cache Processor Interrupts Graphics output Memory bus Network avbruddsrutine brukerprogram + ingen aktiv venting trenger spesialhw forårsake avbrudd oppdage avbrudd avbrudd save PC må ta vare på registre

Programmert Programmer står selv for flytting av data, ved at CPU en leser og skriver! Processor Interrupts Cache Memory bus Main memory Graphics output Network benytter programmets egen virtuelle hukommelse utenom/gjennom cache? [write buffer] flytting mellom forskjellige virtuelle adresserom! in 147, våren 1999 Input/Output 2 7

Direct Memory Access [DMA] Egen maskin ( enhet) leser og skriver Processor Interrupts Cache DMA Memory bus Main memory Graphics output Network bruker fysiske adresser utenom translasjon [låsing] kan få overlapp med arbeid i CPU en signalisere tilbake til OS kan være kostbar å administrere in 147, våren 1999 Input/Output 2 8

Kontrollprosessor 0 for en MIPS R3000 Oppgaver: user vs. kernel mode EntryHIGH EntryLOW memory management håndtering av avbrudd feil (traps) TLB in 147, våren 1999 Input/Output 2 9 status cause EPC index random context BadVA

Kilder til avbrudd/exceptions MIPS formål reset eksternt reset signal [0xBFC00000] UTLB miss ingen gyldig translasjon TLB miss invalid translasjon eller ingen gyldig TLB modified valid, men ikke dirty ved store bus error ekstern Bus Error, f.eks. timeout eller ugyldig fysisk adresse address error bruk av en unaligned address overflow 2s komplement overflyt ved add/sub system call SYSCALL instruksjon breakpoint BREAK instruksjon reserved instruction co processor unusable interrupt eksternt avbruddssignal eller software interrupt in 147, våren 1999 Input/Output 3 0

Handlinger ved avbrudd Exception entry interrupt TLB miss address error overflow illegal instruction exception exit ta vare på PC [flere ved pipelining] slå av det avbruddet som blir behandlet hopp til riktig rutine evt. large unna programmerbare registre og annen tilstandsinformasjon in 147, våren 1999 Input/Output 3 1

Sentrale registre: coprocessor usable status: CU IntMask avbruddsmaske cause: CE IP[5..0] Sw ExcCode BD coprocessor error branch delay utestående avbrudd exception angivelse in 147, våren 1999 Input/Output 3 2

Name Value Default Event SIGHUP 1 Exit Hangup SIGINT 2 Exit Interrupt SIGQUIT 3 Core Quit SIGILL 4 Core Illegal Instruction SIGTRAP 5 Core Trace/Breakpoint Trap SIGABRT 6 Core Abort SIGEMT 7 Core Emulation Trap SIGFPE 8 Core Arithmetic Exception SIGKILL 9 Exit Killed SIGBUS 10 Core Bus Error SIGSEGV 11 Core Segmentation Fault SIGSYS 12 Core Bad System Call SIGPIPE 13 Exit Broken Pipe SIGALRM 14 Exit Alarm Clock SIGTERM 15 Exit Terminated SIGUSR1 16 Exit User Signal 1 SIGUSR2 17 Exit User Signal 2 SIGCHLD 18 Ignore Child Status Changed SIGPWR 19 Ignore Power Fail/Restart SIGWINCH 20 Ignore Window Size Change SIGURG 21 Ignore Urgent Socket Condition SIGPOLL 22 Ignore Pollable Event SIGSTOP 23 Stop Stopped (signal) SIGTSTP 24 Stop Stopped (user) SIGCONT 25 Ignore Continued SIGTTIN 26 Stop Stopped (tty input) SIGTTOU 27 Stop Stopped (tty output) SIGVTALRM 28 Exit Virtual Timer Expired SIGPROF 29 Exit Profiling Timer Expired SIGXCPU 30 Core CPU time limit exceeded SIGXFSZ 31 Core File size limit exceeded SIGRTMIN 49 Exit Posix.4 SIGRTMIN SIGRTMAX 64 Exit Posix.4 SIGRTMAX in 147, våren 1999 Input/Output 3 3

Fra exceptions til signaler hendelse (bevegelse i vindu) (segmentation fault) operativsystemet signal handler prosess i prosess j prosess k klokkeavbrudd interrupt eller trap «event occurred» in 147, våren 1999 Input/Output 3 4 tid

En liten avbruddsrutine CPU.set noreorder la k0, TEMP_REG # hent adressen lw k1, 0(k0) # les av temperaturen li k0, THRESHOLD # last inn temperaturgrensen bge k1, k0, HEAT_OFF # er temperaturen nådd? nop # nei, mer varme li k1, HEAT_ON # verdi for element på la k0, HEAT_REG # adressen til varmeelementet sw k1, 0(k0) # slå på varmeelementet b EXIT # på tide å avslutte nop HEAT_OFF: # ja, slå av varmen li k1, HEAT_OFF # verdi for element av la k0, HEAT_REG # adressen til varmeelementet sw k1, 0(k0) # slå av varmeelementet EXIT: mfc0 k0, C0_EPC # hent adressen til "avbruddet" nop # dekke inn forsinkelsen j k0 # returnere rfe # gjenopprette forrige status.set reorder in 147, våren 1999 Input/Output 3 5