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

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

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

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

ytelsen til hukommelseshierarkier

Dagens tema: Liten repetisjon Håndtering av statusverdier

Dagens tema (kapittel 15 i Englander-boken)

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

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O)

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

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

Hvorfor lære om maskinvare*?

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

UNIVERSITETET I OSLO

Oppgave 8.1 fra COD2e

Oppsummering av digitalteknikkdelen

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

Minnehåndtering i operativsystemer

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

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Scheduling og prosesshåndtering

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

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

Oppgave 2 Maskinkode (vekt 12%)

Håndtering av minne i et OS

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

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

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

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

Oppgave 1 Oversettelse (total vekt 20%)

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

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

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

1. Introduksjon til operativsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

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

TDT4258 Eksamen vår 2013

Generelt om operativsystemer

Tildeling av minne til prosesser

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

Hvorfor lære om maskinvaren*?

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

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

6105 Windows Server og datanett

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Kjenn din PC Marie Bjørn 2014

Kjenn din PC (Windows7) Jørn Nordeng

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

! 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

DAT kandidatnummer: 142

DEL 1 Setup BIOS Stian A. Johansen Terje Bratlie Espen Torås

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

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur

Innhold. Oppgave 1 Oversettelse (vekt 15%)

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

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

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. Flere teknikker for å øke hastigheten

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

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

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

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.

Kommersiell Unix Linux og frie Unix kloner

Minnehåndtering i operativsystemer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

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

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

LX5380 RISC-DSP for New Internet Applications. Pat Hays, Chris Hanna, Jonah Probell October 25, 2001

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

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

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

Into da BIOS<3. Bak Skallet

Din bruksanvisning HP DX5150 SMALL FORM FACTOR PC

Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer. CPU Cache RAM. om cache-hukommelse (kapittel 6.5 i Computer Organisation

Oppgave 1 Oversettelse (vekt 16%)

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

Operativsystemer og grensesnitt

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

En datamaskin er gjerne koblet til utstyr som skjerm, tastatur, mus, harddisk, CD/DVD enheter, printer,

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

Forelesning Instruksjonstyper Kap 5.5

Løsningsforslag til eksamen i IN 147(A)

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

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

INF2270. Minnehierarki

Bruk av interrupt og Timer i Arduino-program.

Dataen har en Intel core I7, 960, 3,20GHz Quadcore prosessor.

UNIVERSITETET I OSLO

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

Tildeling av minne til prosesser

Transkript:

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 1997 Input/Output 19

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 1997 Input/Output 20

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 1997 Input/Output 21

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 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 1997 Input/Output 22 Main 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 bus Graphics output Network sub store load add store store store sub add load in 147, våren 1997 Input/Output 23 Main 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 Graphics output Network benytter programmets egen virtuelle hukommelse utenom/gjennom cache? [write buffer] flytting mellom forskjellige virtuelle adresserom! in 147, våren 1997 Input/Output 24

Direct Memory Access [DMA] Egen maskin ( enhet) leser og skriver Processor Interrupts Cache DMA Memory bus Main 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 1997 Input/Output 25

Kontrollprosessor 0 for en MIPS R3000 Oppgaver: user vs. kernel mode EntryHIGH EntryLOW management håndtering av avbrudd feil (traps) TLB in 147, våren 1997 Input/Output 26 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 1997 Input/Output 27

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 1997 Input/Output 28

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 1997 Input/Output 29

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 1997 Input/Output 30

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 1997 Input/Output 31 tid

Utforming av systemer Processor Main PCI interface/ Stereo input output Serial ports Apple desktop bus PCI CDROM SCSI bus Graphics output Ethernet Tape Intelligent : http://www.i2osig.org/ Virtual Interface Architecture: http://www.viarch.org/ in 147, våren 1997 Input/Output 32