Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
|
|
- Trine Kristensen
- 6 år siden
- Visninger:
Transkript
1 Concurrency Lars Vidar Magnusson September 20, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
2 Oversikt Concurrency 1 Concurrency Beskrivelse Prinsipper Vanskeligheter Operativsystemets rolle Enkelt eksempel Kjøring av eksempel 2 Samhandling mellom prosesser 3 Mutual exclusion Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
3 Concurrency Beskrivelse Beskrivelse Begrepet concurrency kan oversettes med samtidighet i.e. det dreier seg om å gjøre ting samtidig. Kjøre flere programmer (prosesser) samtidig på en prosessor (multiprogramming). Fordele en applikasjon utover flere prosesser/tråder for å utnytte seg av flere prosessorer (multiprocessing). Spre prosessering utover et nettverk av maskiner (distributed processing). Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
4 Concurrency Prinsipper Prinisipper Det er en rekke prinsipper og termer som går igjen når man snakker om concurrency. En critical section refererer en del av koden som krever tilgang til en delt resurs. En deadlock er en situasjon når to prosesser venter på hverandre, og ingen kommer videre uten den andre. En livelock oppstår når to prosesser kontinuerlig endrer status som en respons på en endring i den andre uten å få gjort noe annet. Begrepet mutual exclusion blir brukt om et krav om at når en prosess er i en critical section, så kan ikke en annen prosess også være i en critical section som krever tilgang til samme ressurs. Begrepet race conditions brukes om situasjoner der flere tråder/prosesser leser og skriver til et delt data, og hvor resultatet avhenger av relative forhold. Begrepet starvation blir brukt til å betegne prosesser som er klare til å kjøre, men av en eller annen årsak ikke blir valgt av scheduler. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
5 Concurrency Vanskeligheter Vanskeligheter Det er en rekke problemer som dukker opp i forbindelse concurrency. Deling av globale resurser e.g globale variable. At resursene må fordeles optimalt av operativsystemet e.g. en prosess kan bli fordelt en resurs for så å låse seg. Det blir mye vanskeligere å finne feil i programkode, siden feil ikke lenger trenger være hverken deterministiske eller repoduserbare. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
6 Concurrency Operativsystemets rolle Operativsystemets rolle Med concurrency får operativsystemet mere ansvar (repetisjon). Holde styr på alle prosessene. Allokasjon og deallokasjon av prosessor, minne, filer og I/O enheter Beskytte data og resurser Kjøretiden må være uavhengig av kjøretiden til andre concurrent prosesser. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
7 Enkelt eksempel Concurrency Enkelt eksempel Et enkelt eksempel for å illustrere concurrency. // Shared f u n c t i o n f o r c h a r a c t e r i n p u t and output void echo ( ) { // S t o r e a s i n g l e c h a r a c t e r i n g l o b a l v a r i a b l e c h i n = g e t c h a r ( ) ; // Set the next output c h a r a c t e r i n g l o b a l v a r i a b l e chout = c h i n ; // Output the c h a r a c t e r p u t c h a r ( chout ) ; } Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
8 Concurrency Kjøring av eksempel Kjøring av eksempel En simulering av to prosesser som kjører samtidig på en prosessor. 1 Prosess P1 kaller echo og blir avbrutt av operativsystemet etter å ha lagret input x i chin. 2 Prosess P2 blir aktivert og kaller echo som leser inn input y, lagrer det i de globale variabelene chin og chout, og skriver ut tegnet til skjermen. 3 P1 blir så aktivert på nytt på operativsystemet og fortsetter der den slapp, men problemet er nå at chin ikke lenger inneholder x, som medfører at y på nytt blir skrevet til skjermen. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
9 Oversikt Samhandling mellom prosesser 1 Concurrency 2 Samhandling mellom prosesser Oversikt Prosesser konkurrerer om resurser Samarbeid via deling Samarbeid via direkte kommunikasjon 3 Mutual exclusion Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
10 Samhandling mellom prosesser Oversikt Oversikt Boka klassifiserer måtene som prosesser samhandler basert på hvor bevist prosessene er på hverandre. Prosesser som ikke er bevist på andre prosesser. Dette er vanlig i operativsystem som støtter (samtidige) prosesser. Prosessene kan konkurrere om tilgjengelige resurser. Prosesser som er indirekte klar over andre prosesser på grunn av et delt objekt. Slike prosesser må samarbeide med hverandre. Prosesser som er direkte klar over andre prosesser. Disse er typisk designet for å kommunisere direkte med hverandre. I virkeligheten er ikke skillene like klare. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
11 Samhandling mellom prosesser Prosesser konkurrerer om resurser Prosesser konkurrerer om resurser Når prosesser ikke er klar over hverandre oppstår det konkurranse om resursene. Deadlock kan oppstå. Starvation kan oppstå. Mutual exclusion fra critical sections. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
12 Samhandling mellom prosesser Samarbeid via deling Samarbeid via deling Når prosesser samarbeider via en delt resurs endrer bildet seg litt. Det kan fortsatt oppstå både deadlocks og starvation, men man kan lettere skille mellom brukermønster e.g. lese og skrive, og bare operasjoner som endrer data bør være mutually exclusive. Det kan oppstå problemer med data coherency. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
13 Samhandling mellom prosesser Samarbeid via direkte kommunikasjon Samarbeid via direkte kommunikasjon Prosesser som samarbeider via direkte kommunikasjon er gjerne designet for å tilby en felles tjeneste. Resursene er ikke delte, så det er ingen behov for mutual exclustion Det kan fortsatt forekomme både deadlocks og starvation. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
14 Oversikt Mutual exclusion 1 Concurrency 2 Samhandling mellom prosesser 3 Mutual exclusion Krav til mutual exclusion Interrupt disabling Maskinkode instruksjon Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
15 Mutual exclusion Krav til mutual exclusion Krav til mutual exclusion En mekanisme for mutual exclution må oppfyll følgende krav. Må oppretteholde ekslusiviteten. Hvis en prosess stopper opp i en kritisk seksjon kan ikke andre prosesser bli påvirket. At en prosess er i en kritisk seksjon i endelig tid. At en prosess ikke skal kunne stå å vente på udefinert tid, enten via deadlock eller starvation. At en prosess som ønsker tilgang til en kritisk seksjon skal få det uten nevneverdig forsinkelser hvis seksjonen er ledig. At ingen antagelser blir gjort i forhold til antall prosessorer og ytelse. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
16 Mutual exclusion Interrupt disabling Interrupt disabling Interrupts kan i mange operativsystem disables. Garanterer mutual exclusion på maskiner med en prosessor. Hemmer operativsystemet fra å fordele prosessorkraften Garanterer ikke mutual exclusion på maskiner med flere prosessorer. while ( t r u e ) { // D i s a b l e i n t e r r u p t s // C r i t i c a l s e c t i o n // Enable i n t e r r u p t s // Other code } Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
17 Mutual exclusion Maskinkode instruksjon Maskinkode instruksjon Prosessorer kommer ofte med en instruksjon som kan benyttes til å sørge for mutual exclusion. Dette har en rekke fordeler. Fungerer på mange prosessorer uten tilpasning. Enkel mekanisme, enkel og verifisere. Kan støtte flere ulike critical sections. Men fremgangsmåten har også en rekke ulemper Benytter typisk busy waiting for ventende prosesser. Både starvation og deadlocks kan forekomme. Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
Deadlocks og mer om concurrencymekanismer
Deadlocks og mer om concurrencymekanismer Lars Vidar Magnusson September 30, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 27.09.2011 September 30, 2011 1 / 17 Oversikt Deadlocks 1 Deadlocks
DetaljerTråder og concurrency i Linux
Tråder og concurrency i Linux Lars Vidar Magnusson September 27, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 27.09.2011 September 27, 2011 1 / 14 Oversikt Tråder i Linux 1 Tråder i Linux
DetaljerMer om C programmering og cuncurrency
Mer om C programmering og cuncurrency Lars Vidar Magnusson September 23, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 23, 2011 1 / 19 Oversikt Mer om C programmering
DetaljerEn 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.
Synkronisering 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. Behov for synkronisering Mange prosesser/tråder
DetaljerLars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28
Tråder Lars Vidar Magnusson October 11, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 09.09.2011 October 11, 2011 1 / 28 Oversikt Tråder 1 Tråder Introduksjon Multithreading Prosesser og
DetaljerEksempler på ikke-blokkerende systemkall:
Blokkerende systemkall Thread-modeller Thread-modeller Blokkerende systemkall Viktigste grunn for tråder: blokkerende I/O forespørsler Applikasjonen som ber om I/O blir satt på vent av operativsystemet
DetaljerGetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.
Hardware-støttet Semafor og Implementasjon av semafor i OS til å synkronisere Hardware-støttet alle softwareløsninger innebærer mange instruksjoner i tillegg til busy-waiting, som koster CPU-tid. I praksis
DetaljerForelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy
Forelesning III Kap 8 & 7; Dagsplan Moral: Gjenbruk Kap 8: Shared variable-based synchronization and communication Condition synchronization Mutual Exclution Conditional Critical Regions Suspend & Resume
DetaljerIntroduksjon til kurset og dets innhold
til kurset og dets innhold Lars Vidar Magnusson September 4, 2011 Oversikt Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter 1 Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter
DetaljerOppgave 1 - Linux kommandolinje (%)
Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no
DetaljerOversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.
Oversikt UNIX shell 1 UNIX shell Beskrivelse Bash 2 Kommandolinje som brukergrensesnitt 3 Input og output 4 Bash builtins 5 Linux utilities Lars Vidar Magnusson () Forelesning i Operativsystemer 30.08.2011
DetaljerScheduling og prosesshåndtering
Scheduling og prosesshåndtering Håndtering av prosesser i et OS OS må kontrollere og holde oversikt over alle prosessene som kjører på systemet samtidig Prosesshåndteringen må være: Korrekt Robust Feiltolerant
DetaljerRepetisjon - Modul 1
Repetisjon - Modul 1 Lars Vidar Magnusson October 7, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 07.10.2011 October 7, 2011 1 / 18 Forelesning 1 - Maskinvare De fire hovedkomponentene i
DetaljerGenerelt om operativsystemer
Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
Detaljer- analyse og implementasjon
- analyse og implementasjon Hvem er vi? Vi heter Anders S Finnerud Dennis JMJ Lundh studerer til bachelorgraden i ingeniørfag for data ved Høgskolen i Oslo. Oppgaven Lage et lett system som kan utføre
Detaljeroppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO
oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere
DetaljerTråder Repetisjon. 9. og 13. mai Tråder
Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver
DetaljerOversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models
Oversikt UNIX 1 UNIX Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 2 Linux 3 Process 4 Process models 5 Hvordan kjøre operativsystemet 6 Prosesshåndtering i UNIX SVR4 Lars Vidar
DetaljerSingletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.
-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
DetaljerDefinisjon av prosess
Prosesser og tråder Definisjon av prosess Enkel definisjon: En prosess er et program som kjører på datamaskinen Mer presis definisjon: En prosess er en samling av ressurser som er nødvendige for å utføre
DetaljerTråder Repetisjon. 9. og 13. mai Tråder
Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver
DetaljerP1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2
i, intensive i 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
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
DetaljerTDT4105 Informasjonsteknologi, grunnkurs (ITGK)
1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe
DetaljerHangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon
Hangman Erfaren Python Introduksjon La oss lage et spill: Hangman! Datamaskinen vil velge et ord og du kan gjette det bokstav for bokstav. Dersom du gjetter feil for mange ganger taper du. Steg 1: Velg
DetaljerOppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering
Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om
DetaljerLæringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om
Detaljeroppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO
oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? 1 oppgave 1 Hvorfor har
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 21. desember 2005 Varighet: 3 timer ( 9:00 12:00 ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: FU (1. ING)
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang
2 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 3 https://www.youtube.com/watch? v=nkiu9yen5nc 4 Læringsmål og pensum Mål Lære om
Detaljer! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:
Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som
DetaljerInnhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse
Innhold Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer Prinsipper for synkronisering av felles hukommelse Multiprosessorer koblet sammen av én buss 02.05 2001 Parallelle
DetaljerTDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python
TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et
DetaljerOppgaver til kodegenerering etc. INF-5110, 12. mai, 2015
Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) (repetisjon fra forelesningene)
DetaljerOperativsystemer og grensesnitt
Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner
DetaljerEKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.
EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 12. desember 2007 Eksamenstid: kl. 9.00 til kl. 13.00 Hjelpemidler: 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre
Detaljer1. Introduksjon til operativsystemer
1. Introduksjon til operativsystemer mets plassering: Lagdeling: applikasjon, system, maskinvare Basisfunksjoner: Abstraksjon, deling, isolering Prosesser og ressurser Kjøring: sekvensiell, multitasking
DetaljerPlan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer
Plan Tema: Ulike arkitekturer og avbildninger 1. asynkron arkitektur med felles variable 2. synkron arkitektur med felles variable 3. distribuert arkitektur med kanal-kommunikasjon 4. program-skjemaer
DetaljerIN1010 våren Repetisjon av tråder. 15. mai 2018
IN1010 våren 2018 Repetisjon av tråder 15. mai 2018 Stein Gjessing,, Universitetet i Oslo 1 Tråder Datamaskinarkitektur prosessor registre cache 1 cache 2 prosessor registre cache 1 Disk System-bus Minne
DetaljerFakultet for informasjonsteknologi,
Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning
DetaljerKort notat om parallellstyring IN147
Kort notat om parallellstyring IN147 Kristin Skar 18. mai 2001 1 Kommunikasjon mellom prosesser Mange problemer man kommer borti kan kreve en paralell løsning: Man kan ha behov for økt hastighet, og dermed
DetaljerGrunnleggende Grafalgoritmer II
Grunnleggende Grafalgoritmer II Lars Vidar Magnusson March 17, 2015 Kapittel 22 Dybde-først søk Topologisk sortering Relasjonen til backtracking Dybde-Først Søk Dybde-først søk i motsetning til et bredde-først
DetaljerFunksjonalitet og oppbygning av et OS (og litt mer om Linux)
Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Hovedfunksjoner i et OS OS skal sørge for: Styring av maskinvaren Deling av maskinens ressurser Abstraksjon vekk fra detaljer om maskinvaren
DetaljerPlenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode
Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon
DetaljerFørst må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut?
Hangman Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert, Spill Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon
DetaljerTDT4105 Informasjonsteknologi, grunnkurs (ITGK)
1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 3 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære om hvordan
DetaljerSTE6221 Sanntidssystemer Løsningsforslag
HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag Tid: Fredag 02.03.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar kalkulator,
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk
DetaljerTDT4258 Eksamen vår 2013
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 TDT4258 Eksamen vår 2013 Løsningsforslag Oppgave 1 Flervalgsoppgave (16 poeng) Du får 2 poeng
DetaljerKapittel 5: Relasjoner
MAT1030 Diskret Matematikk Forelesning 11: Relasjoner Dag Normann Matematisk Institutt, Universitetet i Oslo Kapittel 5: Relasjoner 23. februar 2010 (Sist oppdatert: 2010-02-23 14:33) MAT1030 Diskret Matematikk
DetaljerHvordan en prosessor arbeider, del 1
Hvordan en prosessor arbeider, del 1 Læringsmål Kompilator, interpret og maskinkode CPU, registre Enkle instruksjoner: de fire regnearter Mer informasjon om temaet Internett Lokalnett (LAN) Mitt program
DetaljerForelesning ISA-nivået Kap 5.1
TDT4160 Datamaskiner Grunnkurs Forelesning 10.11 ISA-nivået Kap 5.1 Dagens tema Instruksjonssettarkitektur (5.1) Hva er ISA? Bakoverkompatibilitet Hva omfatter ISA? Minnemodeller Registre Instruksjoner
DetaljerKjøresystemer. Hva er et kjøresystem? Den abstrakte maskinen SIMPLESEM (2.6) Klassifisering av språk: Parametre (2.7.7) Statiske språk (
Kjøresystemer Hva er et kjøresystem? Den abstrakte maskinen SIMPLESEM (2.6) Klassifisering av språk: Statiske språk (2.7.1-2.7.2) FORTRAN, COBOL Stakk-baserte språk (2.7.3-2.7.4) ALGOL 60 Dynamiske språk
DetaljerOppgaver til kodegenerering etc. INF-5110, 16. mai, 2014
Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) Se på detaljene i hvorfor
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerEksamen 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
Eksamen DAT 103 Kandidatnr.: 145 Oppgave 1 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D Oppgave 2 a) Et OS er den administrerende softwaren i en datamaskin. Den bygger på prinsippene om filhåndtering,
DetaljerRepetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive
DetaljerDagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:
DetaljerTDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab
1 Kunnskap for en bedre verden TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget vest (Gløshaugen) Epost: terjery@idi.ntnu.no
DetaljerLøsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006
Løsningsforslag for Obligatorisk Oppgave 3 Algoritmer og Datastrukturer ITF20006 Lars Vidar Magnusson Frist 28.03.14 Den tredje obligatoriske oppgaven tar for seg forelesning 9 til 13, som dreier seg om
DetaljerDAT 103 - kandidatnummer: 142
DAT 103 - kandidatnummer: 142 Oppgave 1: 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) C 9) A 10) D Oppgave 2: a) Et operativsystem er en samling av systemprogrammer og brukes som et bindeledd mellom brukerprogrammer
DetaljerMAT1030 Plenumsregning 1
MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte
DetaljerTilkobling og Triggere
Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble
DetaljerSeksjon 1. INF2270-V16 Forside. Eksamen INF2270. Dato 1. juni 2016 Tid Alle trykte og skrevne hjelpemidler, og en kalkulator, er tillatt.
Seksjon 1 INF2270-V16 Forside Eksamen INF2270 Dato 1. juni 2016 Tid 14.30-18.30 Alle trykte og skrevne hjelpemidler, og en kalkulator, er tillatt. Dette oppgavesettet består av 14 oppgaver som kan løses
DetaljerForelesning 5. Diverse komponenter/større system
Forelesning 5 Diverse komponenter/større system Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU En minimal RISC - CPU 2 Komparator Komparator sammenligner to 4 bits tall
DetaljerOversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp
INF1000: Grunnkurs i objektorientert programmering Uke 0, høst 2014 Oversikt Informatikk - hva & hvorfor? Datasystemer, maskinvare, programmer Objektorientert programmering i INF1000 Programmeringsspråket
DetaljerPlenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk
DetaljerEksamen i TTK4145 Sanntidsprogrammering 12. august
NTNU Norges teknisk-vitenskapelige universitet Institutt for teknisk kybernetikk Fakultet for informasjonsteknologi, matematikk og elektroteknikk Bokmål Eksamen i TTK4145 Sanntidsprogrammering 12. august
DetaljerIT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner
IT1101 Informatikk basisfag, dobbeltime 18/9 I dag: Kommunikasjon med perifere enheter (på maskinspråknivå) Kommunikasjonsrater Kommunikasjonsfeil Feildetektering Feilkorrigering (Hammingdistanse) Operativsystemer
DetaljerMinnehåndtering i operativsystemer
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
DetaljerINF3140 Modeller for parallellitet INF3140/4140: Låser og Barrierer
INF3140/4140: Låser og Barrierer Uke 2, side 1. Praktisk Obligatorisk oppgave 1 Er nå lagt ut. Merk: Frist fredag 21. sept. Guppelærer Mohammad Ali Norozi mohammno@ifi.uio.no Merk: Kun gruppe 1 åpen! Forelesningssted
DetaljerEksamensoppgave i TDT4258 Energieffektive datamaskinsystemer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Faglig kontakt under eksamen: Asbjørn Djupdal Tlf.: 909 39452 Eksamensdato: 29. mai 2013
DetaljerPensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering
Oppsummering Pensum Grovt sett er alt fra forelesningene og øvingsoppgavene pensum. Detaljert oversikt finnes på kurssidene. Hovedtanker fra kurset Litt om eksamen Hvorfor har dere lært dette? Ikke mange
Detaljer1b) RaceCondision: En bug som kommer til overflaten ved uheldig timing/scheduling. Det klassiske eksemplet er vel med suspend og resume:
Sensor: Noter kommentarer til dette arket, hvis studenter kommer opp med ting som hadde fortjent å stå her. Jeg kommer vel til å gjøre denne veiledningen tilgjengelig for dem til neste år... 1a) Dette
DetaljerKapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process
INF 329 Web-teknologier Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process Navn: Bjørnar Pettersen bjornarp.ii.uib.no Daniel Lundekvam daniell.ii.uib.no Presentasjonsdato:
DetaljerBegrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.
Kritisk region Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer. Generelt kan en kritisk region defineres som et sted der det kan oppstå kollisjoner. Et veikryss er en kritisk region
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 11: Relasjoner Roger Antonsen Institutt for informatikk, Universitetet i Oslo 25. februar 2009 (Sist oppdatert: 2009-03-03 11:37) Kapittel 5: Relasjoner MAT1030 Diskret
DetaljerKapittel 5: Relasjoner
MAT1030 Diskret Matematikk Forelesning 11: Relasjoner Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 5: Relasjoner 25. februar 2009 (Sist oppdatert: 2009-03-03 11:37) MAT1030 Diskret
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerEksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer
Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid
DetaljerEn oppsummering (og litt som står igjen)
En oppsummering (og litt som står igjen) Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Eksamen En oppsummering Oppsummering Pensum læreboken til og med kapittel 7 forelesningene de
DetaljerVelkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel
Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang
DetaljerDebugging. Tore Berg Hansen, TISIP
Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...
DetaljerPython: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Intro til funksjoner TDT4110 IT Grunnkurs Professor Guttorm Sindre Snart referansegruppemøte Viktig mulighet for å gi tilbakemelding på emnet Pensumbøker Forelesninger Øvingsforelesninger Veiledning
DetaljerSemantikk. Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Semantikk. Semantikk. En måte å svare på: gi semantikken til språket!
agens tema Kjøresystemer (Ghezzi&Jazayeri.,.) Innledende om semantikk Operasjonell semantikk / SIMPLESEM Bokholderi og minneorganisering Forskjellige språkklasser... en beskrivelse av hva som skjer når
DetaljerDagens tema: 12 gode råd for en kompilatorskriver
Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 15. juni 2006 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 7 sider. Vedlegg: INF1070 Datamaskinarkitektur Ingen
DetaljerOppgaver uke 1: Løsningsforslag
Oppgaver uke 1: Løsningsforslag Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen. alder = 30 print("din alder er", alder) alder = 15 Din alder er 30 Når print() kalles
DetaljerOperativsystemer og nettverk
Løsningsforslag til eksamen i Operativsystemer og nettverk 04.06.2015 Oppgave 1: Generelt om Linux a) Det grunnleggende brukergrensesnittet i Linux er et tastaturbasert CUI (Commandline User Interface),
DetaljerProsedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19
Prosedyrer Lars Vidar Magnusson October 26, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 26, 2011 1 / 19 Repetisjon om triggere og prosedyrer Triggere og prosedyrer ligner på hverandre
DetaljerEksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer
Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang
DetaljerMål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære bruk av inn- og ut-operasjoner
DetaljerFra sekvensielt til parallelt
Fra sekvensielt til parallelt «Sanntidprogrammering etter 34 år» Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning på Høgskolen i Sør-Trøndelag (HiST)
DetaljerOppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Grovt sett inneholder det En prosessor Minne (for både program og data) Klokke Kontrollere for periferutstyr.
DetaljerProsessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?
Prosessoren Bakgrunnen Innhold LMC Hva inneholder den? Hvordan utføres instruksjonene? Assemblerkode Oppsummering instruksjonene [Englander kap 6] Lagdelingen av en datamaskin Internett Lokalnett (LAN)
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Eksamensdato: 22. mai 2002 Varighet: Fagnummer: Fagnavn: 4 timer LO245D Datateknikk Klasse(r): 1D FU Vekttall: 3 Faglærer(e): Geir Maribu
Detaljer