Interprosess kommunikasjon. Berkeley Sockets. Hvordan identifiserer jeg hvem jeg vil snakke til? Hva må programmene gjøre?
|
|
- Olav Øverland
- 7 år siden
- Visninger:
Transkript
1 Interprosess kommunikasjon Berkeley Sockets Hvordan få to maskiner til å snakke sammen Maskin A typedef struct { char sawreceive; char sawsend; int packetpointer; char buf[packetlength+1]; linksession; SOCKET Maskin B typedef struct { char sawreceive; char sawsend; int packetpointer; char buf[packetlength+1]; linksession; SOCKET Sockets 1 Sockets 2 Hva må programmene gjøre? Hvordan identifiserer jeg hvem jeg vil snakke til? Program A Opprette en Socket (Opprette forbindelse) Kall på read/write Fjern Socketen Program B Opprette en Socket (Opprette forbindelse) Kall på read/write Fjern Socketen Maskinen ved internettadresse Applikasjonen/tjenesten/programmet ved portnummer en del standardapplikasjoner (f. eks finger og remote login) har sitt eget velkjente portnummer. Sockets 3 Sockets 4
2 Hva er en socket? Typer En peker til en Transport Kontroll Blokk (TCB). TCB består av to deler: En del som beskriver alle attributtene og tilstandsvariablene som trengs her. En del som beskriver det som trengs å vite om makkeren. Datagram (UDP) Pakkeorientert Best effort (Pakker kan bli borte) Forbindelsesløs Pålitelig (TCP) Strømorientert Alt som blir sendt kommer fram Forbindelsesorientert Sockets 5 Sockets 6 Hvordan skaffer jeg meg en socket? domain? type? protokoll? int sock,domain,type,protocol; sock=socket(domain,type,protokol) domain: AF_UNIX, AF_INET, type: SOCK_STREAM, SOCK_DGRAM, protokol: IPPROTO_TCP,... TCP UDP type IP Nett1 Nett2 Nett3 domain Sockets 7 Sockets 8
3 Binding av eget endepunkt Hvordan assosiere en adresse og et portnummer med en socket? int status, sock, addrlen; struct sockaddr_in *address; <Internettadressen og portnummeret settes i structen address. Eksempel på dette om et lite øyeblikk> bind(sock, address, addrlen); Sockets 9 Bygging av adressestruct Enten bzero(&serveraddr, sizeof(serveraddr)); /* Finn internettadressen ved oppslag i DNS. */ hostp = gethostbyname("mjollnir.ifi.uio.no"); /* Sett adressen inn i serverstructen */ memcpy((void *) &serveraddr.sin_addr, hostp->h_addr, hostp->h_length); Eller Oversett portnummeret til nettverksformat bzero(&serveraddr, sizeof(serveraddr)); /* Sett internettadressen til denne maskinen sine adresser */ serveraddr.sin_addr.s_addr = INADDR_ANY; Denne maskinen sine adresser Sockets 10 Forbindelsesetablering Klientsiden: Forbindelsesetablering Tjenersiden sock = socket(domain,type,protocol); <bygg opp adressen til serveren i struct en address > connect(sock, address, addresslen); <connect blokkerer inntil forbindelsen er etablert> read(sock,buf,buflen); send(sock,buf,buflen); sock = socket(domain,type,protocol); <bygg opp adressen til denne tjeneren i struct en address > bind(sock, address, addresslen); listen(sock, SOMAXCONN); /* SOMAXCONN er en konstant som gir en pasende kølengde */ newsock = accept(sock,fromaddr,fromlen); <accept blokkerer inntil en connect-request foreligger> read(newsock,,); send(newsock,,); Sockets 11 Sockets 12
4 Fjerning av socket Eksempel enkel klient close(sock); Merk at semantikken til close er avhengig av hvilken protokoll som kjøres noen implementasjoner kaster alle data som var underveis når close ble utført. #include <netinet/in.h> #include <netdb.h> #include <stdio.h> #include <string.h> /* deklarasjon av litt datastruktur */ struct hostent *hostp; char buf[11]; main(){ /* Opprett socket */ sock = socket(af_inet, SOCK_STREAM, IPPROTO_TCP); bzero((void *) &serveraddr, sizeof(serveraddr)); /* Finn internettadressen ved oppslag i DNS. */ hostp = gethostbyname("mjollnir.ifi.uio.no"); /* Sett adressen inn i serverstructen */ memcpy((void *) &serveraddr.sin_addr, hostp->h_addr, hostp->h_length); Sockets 13 Sockets 14 Enkel klient forts. Eksempel enkel tjener /* Koble opp */ connect(sock, (struct sockaddr *)&serveraddr, sizeof serveraddr); /* Send data */ write(sock, "Hei verden!", 11); /* les data fra forbindelsen */ read(sock, buf,11); /* legg til et termineringstegn, og skriv ut til skjerm */ buf[11] = '\0'; printf("%s \n",buf); /* Steng socketen */ close(sock); #include <netinet/in.h> #include <netdb.h> #include <stdio.h> #include <string.h> struct sockaddr_in serveraddr, clientaddr; int clientaddrlen; int request_sock, new_sock; char buf[13]; main() { /* Opprett request-socket */ request_sock = socket(af_inet, SOCK_STREAM, IPPROTO_TCP); Denne maskinen /* Opprett adressestruct */ sin adresse bzero((void *) &serveraddr, sizeof(serveraddr)); serveraddr.sin_addr.s_addr = INADDR_ANY; Oversett portnummeret /* bind adressen til socketen */ Til nettverksformat bind(request_sock, (struct sockaddr *)&serveraddr, sizeof serveraddr); Sockets 15 /* aktiver lytting på socketen */ listen(request_sock, SOMAXCONN); Kølengden til Lytte-socketen Sockets 16
5 Enkel tjener forts. Generelt for de fleste socketkall /* motta en forbindelse */ new_sock = accept(request_sock,(struct sockaddr *)&clientaddr, &clientaddrlen); /* les data fra forbindelsen, og skriv dem ut */ read(new_sock, buf,11); printf("%s \n",buf); /* Send data tilbake over forbindelsen */ write(new_sock, buf,11); /* Steng socketene */ close(new_sock); close(request_sock); Merk at kall på systemfunksjoner som har med kommunikasjon å gjøre som regel skal kunne feile uten at hele programmet gir opp: if ((sock=socket(domain,type,protocol))<0){ printf( Passende feilmelding ); Sockets 17 Sockets 18 Eksempel enkel klient igjen Enkel klient forts. #include <netinet/in.h> #include <netdb.h> #include <stdio.h> #include <string.h> struct hostent *hostp; char buf[13]; /* Koble opp */ if (connect(sock, (struct sockaddr *)&serveraddr, sizeof serveraddr) < 0) { (void) close(sock); printf("feil under connect\n"); main() {/* Opprett socket */ if ((sock = socket(af_inet, SOCK_STREAM, IPPROTO_TCP)) < 0) { printf("feil under oppreting av socket\n"); bzero((void *) &serveraddr, sizeof(serveraddr)); /* Finn internettadressen ved oppslag i DNS. */ if ((hostp = gethostbyname("mjollnir")) == 0) { printf("ukjent maskin \n"); Sockets 19 /* Sett adressen inn i serverstructen */ memcpy((void *) &serveraddr.sin_addr, hostp->h_addr, hostp->h_length); /* Send data */ write(sock, "Hei verden!", 11); /* les data fra forbindelsen, og skriv dem ut til skjerm */ read(sock, buf,11); buf[11] = '\0'; printf("%s \n",buf); /* Steng socketen */ if (close(sock)) printf("feil under close\n"); Sockets 20
6 Men Sendte data kan komme frem omgruppert i forhold til hvordan de ble sendt Kompilatoren kan omgruppere, drivere kan omgruppere, og pakker fragmenteres og reassembleres i nettet. Rekkefølgen for mottak er den samme (TCP), men data som ble sendt sammen kan komme frem hver for seg. Et kall på read(sock, buf, 10) kan derfor gi færre enn 10 tegn. Kallet read(sock, buf, 10) returnerer med det antall tegn som faktisk ble lest. Sockets 21 En Tryggere read-prosedyre char safereadbyte(so) int so; { int bytes; char buf[1]; bytes = read(so, buf, 1); if (bytes<0) { perror("error in saferead"); if (close(so)) perror("close"); if (bytes<=0) { printf("server: end of file on %d\n",so); if (close(so)) perror("close"); return buf[0]; int saferead(so,buf, l) int so; char buf[]; int l; { int i; for (i=0; i<l; i++){ buf[i]=safereadbyte(so); return l; Men denne blokkerer dersom den ikke får det antall tegn den ber om. Sockets 22 Aktuelle prosedyrer Formatprosedyrer htonl,ntohl,htons,ntohs For dere er disse kun aktuelle for portnummere Ikkeblokkerende vent på input/ multipleksing fra flere inputkilder (f.eks terninal/nettverk) select,.. Litteratur Berkeley UNIX System Calls and Interprocess Communication Lawrence Besaw, University of Wisconsin (tilgjengelig via kurset sine web-sider) De eksemplene som er forelest her er også nedlastbare fra web-sidene. De danner et godt utgangspunkt for programmering av den obligatoriske oppgaven. En mengde bøker... Sockets 23 Sockets 24
Løsningsforslag til eksamen i INF103
Løsningsforslag til eksamen i INF103 Dag Langmyhr (oppgave 2 og 5) Olav Lysne (oppgave 3 og 6) 15. desember 2001 Sigbjørn Næss (oppgave 1 og 4) 1 Boolsk algebra Sannhetsverditabellen i deloppgave a er
DetaljerLøsningsforslag til eksamen i INF103
Løsningsforslag til eksamen i INF03 Kjell Åge Bringsrud (oppgave 5) Dag Langmyhr (oppgave 2 og 3) Carsten Griwodz (oppgave 4) Sigbjørn Næss (oppgave og 6) 6. desember 2002 Boolsk algebra og CPU-design
DetaljerDel 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
DetaljerKTN1 - Design av forbindelsesorientert protokoll
KTN1 - Design av forbindelsesorientert protokoll Beskrivelse av A1 A1 skal tilby en pålitelig, forbindelsesorientert tjeneste over en upålitelig, forbindelsesløs tjeneste A2. Det er flere ting A1 må implementere
DetaljerKapittel 1 En oversikt over C-språket
Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske
Detaljer6105 Windows Server og datanett
6105 Windows Server og datanett Leksjon 8b TCP/IP del 2: Transportlaget TCP og UDP Transportlagets oppgaver Adressering i transportlaget TCP Transmission Control Protocol UDP User Datagram Protocol TCP/IP
DetaljerDel 4 Noen spesielle C-elementer
Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 8. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet
Detaljer6107 Operativsystemer og nettverk
6107 Operativsystemer og nettverk Labøving 5 Transportlaget: porter, forbindelser og pakkeformater Introduksjon I denne øvingen skal du studere TCP-protokollen og hvordan TCP etablerer og lukker forbindelser
DetaljerProgrammeringsspråket C Del 3. Hans Petter Taugbøl Kragset
Programmeringsspråket C Del 3 Hans Petter Taugbøl Kragset Repetisjon I C er ikke array en egen type, men variabler kan være arrayer! Pekere C-strenger Veldig likt Java på mange måter Programmering er fortsatt
Detaljer6105 Windows Server og datanett
6105 Windows Server og datanett Leksjon 8b /IP del 2: Transportlaget og UDP Transportlagets oppgaver Adressering i transportlaget Transmission Control Protocol UDP User Datagram Protocol /IP verktøy i
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
DetaljerProgram socket server
Program socket server // Dette programeksempelet oppretter en server som // kan motta meldinger fra klienter. // Serveren er laget som en synchronous socket, // så serveren venter på at klienter skal //
DetaljerEKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen
Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 20.02.2017 Klokkeslett: 09:00 13:00 INF-1100 Innføring i programmering og datamaskiners virkemåte Sted: Teorifagbygget, Hus 3,
DetaljerHva består Internett av?
Hva består Internett av? Hva er et internett? Et internett = et nett av nett Ingen sentral administrasjon eller autoritet. Mange underliggende nett-teknologier og maskin/programvareplatformer. Eksempler:
DetaljerDagens tema INF2270. Cs preprosessor. Separat kompilering av C funksjoner. C og minnet. Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15
Dagens tema Cs preprosessor Separat kompilering av C funksjoner C og minnet Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15 Cs preprosessor Før selve kompileringen går C kompilatoren gjennom
DetaljerProgrammeringsspråket C
Programmeringsspråket C Programmeringsspråket C Laget til implementasjon av Unix ved AT&Ts Bell labs i Palo Alto 1969 73. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard
DetaljerDagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene
Dagens tema Dagens tema Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Inkludering av filer Cs preprosessor Før selve kompileringen går C-kompilatoren gjennom
DetaljerINF3190 Obligatorisk oppgave: Linklagets flytkontroll
INF3190 Obligatorisk oppgave: Linklagets flytkontroll Formelt: Denne obligatoriske oppgaven skal løses individuelt. Innleveringen må være godkjent før innlevering av hjemmeeksamen 1. For å bestå må innleveringen
DetaljerProgrammeringsspråket C
Programmeringsspråket C Programmeringsspråket C Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard i 1988;
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF103 Fra brukergrensesnitt til maskinvare Eksamensdag: 15. desember 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.
DetaljerDen siste dagen. Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen
Den siste dagen Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen En oppsummering Oppsummering Pensum Læreboken til og med kapittel 7, kompendiet, forelesningene
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
DetaljerIN 147 Program og maskinvare
Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk
DetaljerProgrammeringsspråket C Del 2. Hans Petter Taugbøl Kragset
Programmeringsspråket C Del 2 Hans Petter Taugbøl Kragset Repetisjon I C er ikke array en egen type, men variabler kan være arrayer! 28.08.17 Hans Petter Taugbøl Kragset 2 Arrays Java int[] arr1 = {1,
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 9. desember 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet
DetaljerArk 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk
Ark 1 av 18 IN 211 Programmeringsspråk Velkommen til programmeringsspråkenes verden IN 211 Forelesning 20.8.2001 Foreleser Ragnhild Kobro Runde E-post: ragnhilk@ifi.uio.no Kontor: 3345 Treffetid: torsdager
DetaljerDagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.
Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet
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
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerLinklaget. Olav Lysne. (med bidrag fra Stein Gjessing og Frank Eliassen) Oppsummering 1
laget Olav Lysne (med bidrag fra Stein Gjessing og Frank Eliassen) Oppsummering 1 Internettets Overlay Arkitektur IP-link C.b B.a A.a a C b d a b A.c c a B c b A Oppsummering 2 Lagets tjenester Framing
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
DetaljerOppgave 1 JK-flip-flop (Total vekt 20%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 12. mai 1997 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte
DetaljerOPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
DetaljerDagens tema: Datastrukturer
Dagens tema: Datastrukturer Matriser Dynamiske matriser Ringbuffere Mengder Lister Enkle listeoperasjoner Programmering av en listepakke Lister med hode og hale Toveislister Onsdag 24.3 Avslutning av IN147A
DetaljerDagens tema INF1070. Signaturer. Typekonvertering. Pekere og vektorer. struct-er. Definisjon av nye typenavn. Lister
Dagens tema Signaturer Typekonvertering Pekere og vektorer struct-er Definisjon av nye typenavn Lister Dag Langmyhr,Ifi,UiO: Forelesning 24. januar 2005 Ark 1 av 20 Signaturer I C gjelder alle deklarasjoner
DetaljerKap 6.3: Symboltabellen Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 17. mars Dagens tema:
Kap 6.3: Symboltabellen Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 17. mars 2015 Hvordan holde greie på: Dagens tema: Hvilke navn har en deklarasjon på «dette» sted i programmet? Hva
DetaljerSkal bindes opp til en deklarasjon av samme navn
Symboltabellen I Programmeringsspråk har Deklarasjoner, som definerer navn Konstant-deklarasjon Type-deklarasjon Variabel-deklarasjon Prosedyre-deklarasjon Klasse-deklarasjon Bruksforekomster av navn,
DetaljerINF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt
INF5110 Obligatorisk Oppgave 2 del 2 Andreas Svendsen SINTEF 23. April 2009 Oversikt Tilbakeblikk på oppgaven Eksempel på sjekk av semantikk Eksempel på kodegenerering Nødvendige instruksjoner for IF-noden
DetaljerCs preprosessor. Dagens tema. Betinget kompilering
Dagens tema Dagens tema Inkludering av filer Cs preprosessor Cs preprosessor Separat kompilering av C funksjoner C og minnet Før selve kompileringen går C kompilatoren gjennom koden med en preprosessor
DetaljerTjenester i Internett. E-post, HTTP, FTP, Telnet
Tjenester i Internett E-post, HTTP, FTP, Telnet 1 I dag SMTP - Elektronisk Post (E-post) FTP File Transfer Protocol HTTP Hyper Text Transfer Protocol Telnet 2 Først: Noen svar på oppgaven Hvorfor studerer
DetaljerDagens tema C, adresser og pekere
Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Ark 1 av 26 Adresser Som nevnt tidligere ligger
DetaljerArk 3 av 26. printf("i adresse %08x ligger b med verdien %d.\n", &b, b); printf("i adresse %08x ligger a med verdien %d.
Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Adresser Som nevnt tidligere ligger data og programkode
DetaljerLagene spiller sammen
Lagene spiller sammen Dere har lært om lagene, men hvordan virker dette i praksis? Utgangspunkt i Ethernet/IP/TCP/Applikasjonslag Trafikkpolitiet i Internett (ISP og congestion control) Hvordan oversettes
DetaljerLøsningsforslag Gruppeoppgaver 24. - 28.mars 2003
Løsningsforslag Gruppeoppgaver 24. - 28.mars 2003 1. Fragmentering a) Forklar prinsippet for fragmentering og reassemblering. Anta at maskinen som tar initiativet til kommunikasjonen benytter maksimale
DetaljerTransport - laget (ende-til-ende protokoller) Internett Best-effort overføring. Best-effort nett kvaliteter
Transport - laget (ende-til-ende protokoller) Best effort med multipleksing (UDP) Pålitelig byte-strøm () Foreleser: Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 04.04.2003 1 Internett Best-effort overføring
DetaljerEKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Teorifagb, hus 3, og og Adm.bygget, Aud.max og B.
Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 06.12.2016 Klokkeslett: 09:00 13:00 INF-1100 Innføring i programmering og datamaskiners virkemåte Sted: Tillatte hjelpemidler:
DetaljerSentrale deler av pensum i INF
Sentrale deler av pensum i INF3190 31.05.2005 1 Hensikt Her følger en (ikke fullstendig) liste i stikkords form for sentrale temaer vi forventer at studentene skal kunne til eksamen. Prioriteringen ligger
DetaljerViktig. Rettet i koden. Obligatorisk oppgave 2 Litt flere detaljer om semantikksjekk og kodegenerering. Semantikksjekk
Obligatorisk oppgave 2 Litt flere detaljer om semantikksjekk og kodegenerering Viktig Ny patch (patch_oblig2.zip) er lagt ut (15/4) Oblig 1 vil bli rettet denne uken Sjekk om det er registrert at den er
DetaljerKapittel 4: Transportlaget
Kapittel 4: Transportlaget Noen mekanismer vi møter på transportlaget Adressering Glidende vindu Deteksjon av bitfeil Pålitelig overføring med TCP Etablering av TCP-forbindelse Flyt- og metningskontroll
DetaljerDel 2 Tabeller, arrays, strenger
Del 2 Tabeller, arrays, strenger 1 RR 2016 Tabeller Variabel som kan holde mange verdier. Styrer bruken med indeks. Det er ingen indekskontroll i C. int tab[5] = {2, 4, 6, 8, 10}; tab[4] = 12; int tab[100]
Detaljer6105 Windows Server og datanett
6105 Windows Server og datanett Leksjon 9 Web, HTTP og IIS Applikasjonslaget i Internett Web protokollen: HTTP Webtjeneren IIS Utskrift med HTTP i Internett Pensum Kvisli: Windows Server og datanett, Kap.
Detaljer6105 Windows Server og datanett
6105 Windows Server og datanett Leksjon 9 Web, HTTP og IIS Applikasjonslaget i Internett Web protokollen: HTTP Webtjeneren IIS Utskrift med HTTP i Internett Pensum Kvisli: Windows Server og datanett, Kap.
Detaljer6105 Windows Server og datanett
6105 Windows Server og datanett I denne øvingen skal du konfigurere Windows Firewall på Windows Server og teste at brannmuren fungerer som forventet. Læringsmål: Kunne konfigurere Windows Firewall with
DetaljerINF1060 Introduksjon til operativsystem og datakommunikasjon
INF1060 Introduksjon til operativsystem og datakommunikasjon Dette er et oppgavesett for trening September 24, 2012 Simpel Ifi-epost system (lokal) og diverse oppgaver Denne oppgaven går ut på å lage et
DetaljerAntall sider:5 (Inkludert denne) Alle skrevne og trykte hjelpemidler samt kalkulator
Avdeling for ingeniørutdanning Fag: lnformatikkm Groppe(r): 2ET Ek~nsoppgaveD består av Tillatte hjelpemidler: Antall sider:5 (Inkludert denne) Fagnr: SO654E Dato: 11.06.2002 Antall oppgaver: 7 Faglig
DetaljerOppsett av brannmur / router 1.0. Innholdsfortegnelse
Innholdsfortegnelse. Innledning... 2 2. Ordforklaringer... 2. Router/brannmur... 2.. IP-adresser... 2.2. Portviderekobling... 2.. DMZ-host... 5 Side av 5 . Innledning Din hjemmesentral har en innebygget
DetaljerRepetisjon fra sist - 1: Plan for dagen. Repetisjon fra sist 2: Hva jeg glemte sist: Nyttige Kommandoer
-lxxx -c -S -E -o -g -O -I -L gcc Make man l cpp ar ranlib nm valgrind Plan for dagen Repetisjon fra sist - 1: Nyttige Kommandoer Repetisjon Språkmekanismer for programflyt Datatyper &
DetaljerDagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene
Dagens tema Dagens tema Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Inkludering av filer Cs preprosessor Før selve kompileringen går C-kompilatoren gjennom
DetaljerProgrammeringsspråket C Del 2. Michael Welzl
Programmeringsspråket C Del 2 Michael Welzl 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det nedover til 0 $> gcc countdown.c -o countdown $>./countdown ===== Countdown
DetaljerLøsningsforslag Gruppeoppgaver, 28. april 2. mai. 1. Metningskontroll ( Congestion control ) og ressursallokering.
Løsningsforslag Gruppeoppgaver, 28. april 2. mai 1. Metningskontroll ( Congestion control ) og ressursallokering. a) Hva menes med metning og metningskontroll i et nettverk? Metning er overbelastning i
DetaljerSignaturer. Dagens tema. En vanlig feil int-funksjon. Dette kan noen ganger gi rare feilmeldinger: INF1070 INF1070 INF1070 INF1070
Dagens tema Signaturer Tyekonvertering Pekere og vektorer struct-er Definisjon av nye tyenavn Lister Dag Langmyhr,Ifi,UiO: Forelesning 24. januar 25 Ark 1 av 2 Dag Langmyhr,Ifi,UiO: Forelesning 24. januar
DetaljerINF Hjemmeeksamen 1 - Vår 2014 Bridging på linklaget
INF3190 - Hjemmeeksamen 1 - Vår 2014 Bridging på linklaget Formelt Denne oppgaven er karaktergivende og skal løses individuelt. Karakteren som gis teller omlag 20 % på sluttkarakteren. Oppgaven blir vurdert
DetaljerGr.4. Socket programmering. Gr.4. Innlevering LAB 4. Gruppe 4. oppgaver 01.10.2014
Innlevering LAB 4. Gruppe 4. oppgaver 01.10.2014 Gr.4 Socket programmering Gr.4 1).Test ut programmene Klientmaskin og Tjenermaskin som er gitt. Når bruker "localhost" må begge programmene kjøres på samme
DetaljerIN 147 Program og maskinvare
Dagens program Repetisjon Basistyper i C Typekonvertering Formater i printf Deklarasjon av nye typer Pekere i C En kort repetisjon om pekere Pekere som parametre Pekere og vektorer Regning med pekere Pekere
DetaljerProgrammeringsspråket C Del 2
Programmeringsspråket C Del 2 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 8/25/10 inf1060
DetaljerProgrammeringsspråket C Del 2
Et eksempel Programmeringsspråket C Del 2 Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no inf1060 1 inf1060 2 Forklaring:
DetaljerTransport - laget (ende-til-ende protokoller) Glidende vindu protokoll. Flyt kontroll. dataoverføringsfasen. Sender. Mottaker
Transport - laget (ende-til-ende protokoller) dataoverføringsfasen 4/4/2003 1 Glidende vindu protokoll Sender Mottaker TCP LastByteWritten TCP LastByteRead LastByteAcked LastByteSent NextByteExpected LastByteRcvd
DetaljerForelesning Oppsummering
IN1020 - Introduksjon til datateknologi Forelesning 23.11.2018 Oppsummering Håkon Kvale Stensland & Andreas Petlund Nettverksdelen - Pensum Relevante kapitler fra boka (se pensumliste) Alt presentert på
DetaljerProgrammeringsspråket C Del 2
Programmeringsspråket C Del 2 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 30.08.2005 inf1060 H05 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 30.08.2005
DetaljerINF 1000 høsten 2011 Uke september
INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første
DetaljerSocket og ServerSocket
Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket
DetaljerINF3110 Programmeringsspråk. Velkommen til kurset INF 3110/4110. Programmeringsspråk 1/24
Velkommen til kurset INF 3110/4110 Programmeringsspråk 1/24 Forelesning 1 20.8.2003 Først det praktiske Foreleser: Roger Antonsen E-post: rantonse@ifi.uio.no Kontor: rom 3403 Treffetid: etter avtale Undervisning
DetaljerINF 3110/4110. Velkommen til kurset. Programmeringsspråk. Først det praktiske
Velkommen til kurset INF 3110/4110 Programmeringsspråk 1/24 Først det praktiske Foreleser: Roger Antonsen E-post: rantonse@ifi.uio.no Kontor: rom 3403 Treffetid: etter avtale Undervisning Forelesninger:
DetaljerINF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
DetaljerINF1000 undervisningen INF 1000 høsten 2011 Uke september
INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første
DetaljerIN 147 Program og maskinvare
Dagens tema: Kort repetisjon Mengder Lister Enkle listeoperasjoner Programmering av en listepakke Lister med hode og hale Toveislister Hvaeretoperativsystem? En meget kort oversikt over operativsystemenes
DetaljerDagens program. Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer
Dagens program Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer Nyttige forklaringer Sikker opprettelse av nye prosesser Hva
DetaljerEivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen
Eivind Gard Lund 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Informasjon Semantikksjekk Kodegenerering Oblig 2 tilgjengelig på kurssiden Bygger på deres oblig 1 kode. Det er lagt ut
DetaljerDagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.
Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet ut? Variabler,
DetaljerINF Oblig 2 semantikksjekk og kodegenerering
INF5110 - Oblig 2 semantikksjekk og kodegenerering Magnus Haugom Christensen Instituttet for Informatikk Universitetet i Oslo 27. Mars - 2012 Oversikt Informasjon Oppgaven Semantikksjekk Kodegenerering
Detaljer6107 Operativsystemer og nettverk
6107 Operativsystemer og nettverk Labøving 6c IP versjon 6 Oppgave 1 IPv6 kommandoer i Linux Ubuntu Server har en Linux kjerne som er IPv6 kompatibel. Distribusjonen har også en del ipv6 verktøy ferdig
DetaljerTwidoSuite kommunikasjon
TwidoSuite kommunikasjon TwidoSuite kursunderlag: Kommunikasjon via Modbus seriell, Ethernet, Remote link, ASCII, CanOpen og AS-i. Macroer for kommunikasjon Modbus 2 Modbus port Bruk programmeringsporten
DetaljerSkal bindes opp til en deklarasjon av samme navn
Symboltabellen Programmeringsspråk har Deklarasjoner, som definerer navn Konstant-deklarasjon Type-deklarasjon Variabel-deklarasjon Prosedyre-deklarasjon Klasse-deklarasjon Bruksforekomster av navn, f.eks.
DetaljerVektorer. Dagens tema. Deklarasjon. Bruk
Dagens tema Dagens tema Deklarasjon Vektorer Vektorer (array-er) Tekster (string-er) Adresser og pekere Dynamisk allokering Alle programmeringsspråk har mulighet til å definere en såkalte vektor (også
DetaljerDagens tema INF1070. Vektorer (array er) Tekster (string er) Adresser og pekere. Dynamisk allokering
Dagens tema Vektorer (array er) Tekster (string er) Adresser og pekere Dynamisk allokering Dag Langmyhr,Ifi,UiO: Forelesning 23. januar 2006 Ark 1 av 23 Vektorer Alle programmeringsspråk har mulighet til
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerObligatorisk Innlevering 2
Obligatorisk Innlevering 2 INF5110 - Kompilatorteknikk Våren 2017 Frist 07.05.2017 23:59 Dette er den andre av to oppgaver våren 2017. Den bygger videre på det som er gjort i den første innleveringen.
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
Detaljer2EOLJDWRULVNRSSJDYHQU L GDWDNRPPXQLNDVMRQ + VWHQ.,QQOHYHULQJVIULVWRNWREHU *MHQQRPJnVWRUVGDJRNWREHU
2EOLJDWRULVNRSSJDYHQU L GDWDNRPPXQLNDVMRQ + VWHQ,QQOHYHULQJVIULVWRNWREHU *MHQQRPJnVWRUVGDJRNWREHU 2SSJDYH D)RUNODUKYLONHWRHOHPHQWHUHQ,3DGUHVVHEHVWnUDY En IP-adresse består av to deler, nettverksdel og
DetaljerJSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:
Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering
DetaljerDatatyper og typesjekking
Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører
DetaljerKapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon
Kapittel 9 Distribusjon Tjenermaskin Fjernbruker LAN Nærbruker WAN Figur 9-1: En enkel klient/tjener distribusjon 195 Tjenermaskin Fjernbruker LAN Replikert tjener Nærbruker WAN Figur 9-2: Klient/tjener-konfigurasjon
DetaljerOving 2. Oppgave 1. #include <stdio.h> int main(int argc, char **argv) { char *navn = argv[1]; printf ("Navnet ditt er %s\n", navn); } Oppgave 2
Oving 2 Oppgave 1 int main(int argc, char **argv) char *navn = argv[1]; printf ("Navnet ditt er %s\n", navn); Oppgave 2 char navn[25]; printf( "Hei hva heter du?\n" ); scanf("%s", navn); printf ("Hei:
DetaljerSentrale deler av pensum i INF240. Hensikt. Pål Spilling og Kjell Åge Bringsrud
Sentrale deler av pensum i INF240 Pål Spilling og Kjell Åge Bringsrud 07.05.2003 1 Hensikt Her følger en (ikke fullstendig) liste i stikkords form for sentrale temaer vi forventer at studentene skal kunne
DetaljerIN 147 Program og maskinvare
Dagens tema Operativsystemer Hva er et operativsystem? En meget kort oversikt over operativsystemenes historie Systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer
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
DetaljerEmnekode: SOl35A 11.12.2003. Alle trykte og skrevne hjelpemidler
I Gruppe(r): I I JI G høgskolen i oslo Emne: Operativsystemer og UNIX Emnekode: SOl35A i Faglig veileder: Hårek Haugerud 2.klassene, DATA Dato: 11.12.2003 Eksamensoppgav Antall sider (inkl. Antall op~gaver:
Detaljer