Objekt-tjenere og deres implementasjon
|
|
- Susanne Iversen
- 7 år siden
- Visninger:
Transkript
1 Objekt-tjenere og deres implementasjon Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan!Arkitektur for objekt-tjenere!prosesser og tråder (threads) " Tråd-synkronisering i Java!Fler-trådede tjenere!corba Portable Object Adapter " POA policies " POA managers " ORBacus threading policies Frank Eliassen, SRL & Ifi/UiO 2 1
2 Objekt-tjenere: Tjenere som er skreddersydd til å understøtte distribuerte objekter!tjenester realiseres ved objekter som tjeneren innkapsler " Tjenester legges til eller fjernes ved legge til eller fjerne objekter!objekt-tjenere opptrer som steder der objekter kan leve!flere måter å aktivisere et objekt på Frank Eliassen, SRL & Ifi/UiO 3 Objekt-tjenere må tilordne prosesseringsressurser til objekter når de aktiviseres! Når et objekt aktiviseres, hvilke prosesseringsressurser skal implementasjonen av det tilordnes? " Skal en ny prosess eller tråd opprettes? " Finnes mange måter dette kan gjøres på? " Finnes det én beste måte?! Hvordan bruke prosesser og tråder i distribuerte system? " Bedre ytelse " Bedre utnyttelse av ressurser " Forenkle programmering Frank Eliassen, SRL & Ifi/UiO 4 2
3 Objekt-tjenere bør understøtte flere aktiviserings-policies! Aktiviserings-policy " En bestemt måte å aktivisere et objekt på " Ulike dimensjoner Hvordan oversette mellom ROR og lokal implementasjon? Skal tjeneren være enkelt-trådet eller fler-trådet? Dersom fler-trådet, hvordan tilordne tråder til objekter og forespørsler? En pr objekt? En pr forespørsel? Transiente vs persistente objekter, etc! Objektene kan grupperes etter hvilken aktiviserings-policy de er underlagt Frank Eliassen, SRL & Ifi/UiO 5 Organisering av objekt-tjener som støtter forskjellige aktiviserings-policies! Objekt-adapter: programvare som implementerer en spesifikk aktiviserings-policy skeleton skeleton skeleton Object adapter Object adapter OS dispatcher Frank Eliassen, SRL & Ifi/UiO 6 3
4 CORBAs ROR format (IOR) reflekterer organiseringen av objekt-tjenere skeleton skeleton skeleton Object adapter Object adapter dispatcher OS CORBA Interoperable Object Reference (IOR) Type name (repository id) Protocol and Address details Object Key (Adapter and Object name) Frank Eliassen, SRL & Ifi/UiO 7 Motivasjon for tråder: behov for intern samtidighet i prosesser! tradisjonelt prosessbegrep fra Unix anno 1980 " 1-1 relasjon mellom prosess og prosesseringsaktivitet! Løsning: " generalisere prosess-begrepet til å kunne assosieres med flere samtidige (concurrent) prosesseringsaktiviteter! Prosess " tråder OS-ets abstraksjon av en prosesseringsaktivitet " kjøretidsomgivelse ett adresserom trådsynkronisering (f.eks. semaforer) og komm.ressurser (ports) Frank Eliassen, SRL & Ifi/UiO 8 4
5 Flere-trådede prosesser! Hver prosess har flere kontrolltråder som deler ett adresserom og eksekverer i (kvasi)parallell Datamaskin Datamaskin prosess tråd programteller Frank Eliassen, SRL & Ifi/UiO 9 Tråder er billigere å forvalte enn prosesser! kjøretidsomgivelser (adresserom) er dyre å opprette! tråder er mye billigere å opprette og terminere! tråder kan dele kjøretidsomgivelser (f.eks. globale variable, åpne filer, timere, signal,. )! prosesser definerer beskyttelsesdomener " en tråd i en prosess kan (normalt) ikke aksessere data og ressurser i en annen prosess Frank Eliassen, SRL & Ifi/UiO 10 5
6 En trådpakke er et sett med primitiver for å forvalte tråder! Ofte realisert som et bibliotek med primitiver for " Opprette tråder " Terminere tråder " Synkronisere tråder (rendevouz) " Gi opp prioritet (yield)! Tråder kan opprettes og termineres under kjøretid! Trådterminering kan være frivillig eller påtvunget fra utenfor tråden Frank Eliassen, SRL & Ifi/UiO 11 Trådpakker: detaljer! Tråder deler felles lager " aksess til delte data --> kritisk region " semaforer, monitorer o.l.! Trådpakker tilbyr ofte en mutex " abstraksjon for gjensidig utelukkelse " tilsvarer binær semafor: to tilstander locked og unlocked " operasjoner: LOCK, UNLOCK og noen ganger TRY_LOCK " LOCK: tråd blokkeres hvis den må vente på tilstand unlocked! Trådpakker kan og tilby betingelsesvariable " kø forbundet med hver variabel " condition_wait(conditionid,mutexid) inkluderer unlock av mutexid " condition_signal(conditionid) tråd som venter på conditionid og som vekkes, prøver å utføre relock på mutexid Frank Eliassen, SRL & Ifi/UiO 12 6
7 Tråder i Java Thread run() MyThread run() Runnable run() MyRun run() target Thread class MyThread extends Thread { public void run () { // } } Thread a = new MyThread(); public interface Runnable { public abstract void run() } class MyRun implements Runnable { public void run () { // } } Thread b = new Thread(new MyRun); Frank Eliassen, SRL & Ifi/UiO 13 Thread metoder static void sleep tråden pauser i oppgitt antall millisek. static void yield gir opp prioritet (settes bakerst i klar køen ) static Thread currentthread tråden som eksekverer nå ( denne koden ) void run( ) koden som eksekveres når tråden startes void start ( ) oppretter ny tråd og legger den i klar-køen boolean isalive( ) false hvis tråden har terminert void join( ) den kallende tråd blokkeres inntil den kallte tråd terminerer. Finnes og variant der man angir timeout (dvs. maks. ventetid på at tråden skal terminere) Frank Eliassen, SRL & Ifi/UiO 14 7
8 Synkronisering i Java! Introduserer kritiske regioner ved et monitor-begrep. " Token assosiert ved hvert objekt som bare én tråd kan eie av gangen " vente-kø av blokkerte tråder assosiert med hvert token tråder som venter på tokenet Monitor-objekt har synkroniserte metoder. Innkapsler felles data. public class buffer { public synchronized Data get { //.. Gjør noe som leser dataene.. } public synchronized put (Data d) { //.. Gjør noe som endrer dataene.. } } synchronized metoder: -prøver(automatisk) å tilegne seg objektets token -girdetfrasegnår metoden er ferdig Frank Eliassen, SRL & Ifi/UiO 15 Betinget synkronisering i Java!Koordinere adgang til felles ressurser (buffer o.l.)!tre metoder som tilbys av class Object: public final void notify(); vekker opp en enkel tråd som venter i objektets kø. public final void notifyall(); vekker opp alle tråder som venter i objektets kø. public final void wait()throws InterruptedException; venter på å bli vekket av en annen tråd. Den ventende tråd frigjør token assosiert med monitoren. Når tråden vekkes må den vente til den har alle sine token igjen. Andre tråder kan imellomtiden ha hatt disse (og oppdatert de delte data). Frank Eliassen, SRL & Ifi/UiO 16 8
9 Betinget synkronisering i Java! Implementeres som guarded action i monitor-metode: public synchronized void action() throws InterruptedException { while (!cond) wait(); // modifiser monitor data; notify(); } Frank Eliassen, SRL & Ifi/UiO 17 Flertrådet tjener Forespørsel dispatch ingen disk caching ingen disk caching disk caching disk caching disk caching Inn-Ut 8 ms forsinkelse 2 ms m/cache i snitt 2 ms prosessering 2.5 ms m/cache # prosessorer # tråder Maks. anrop/sekund Frank Eliassen, SRL & Ifi/UiO 18 9
10 Flertrådet klient opprett tråd RMI hovedtråd utfør RMI Frank Eliassen, SRL & Ifi/UiO 19 Flertrådet klient Tråd 1 genererer resultater, men krever ikke svar fra tjener Flere varianter er tenkelige. RMI utfør RMI (blokkerende) Frank Eliassen, SRL & Ifi/UiO 20 10
11 CORBA Portable Object Adapter (POA)! Muliggjør portable tjenerimplementasjoner " fullstendig spesifisert i CORBA 2.2 (1997) " standard POA språkbinding for hvert prog.språk! policies styrer adferden til en POA! root POA " POA som må understøttes av alle implementasjoner " utøver én bestemt policy! kanlageegnepolicies for egnepoa " Spesialiseringer/varianter av root POA " kan ha flere POA per applikasjon ulike objekt kan være gjenstand for ulike policies Frank Eliassen, SRL & Ifi/UiO 21 POA spesifikasjonen! OMG, ORB Portability Joint Submission (Final) Part 1 of 2, orbos/ (chap 3) Frank Eliassen, SRL & Ifi/UiO 22 11
12 CORBA Portable object adapter (POA)! Muliggjør portabilitet av objektimplementasjoner mellom ulike ORBer! Understøtter lettvekts transiente objekter og persistente objektidentifikatorer (f.eks. i ODBMSer)! Tillater tjenere å implementere mange objekter! Understøtter transparent objekt-aktivisering! Utvidbar mekanisme for aktiviseringspolicies! Flere POAer i en tjener CORBA klient CORBA tjener ORB? POA servants Frank Eliassen, SRL & Ifi/UiO 23 CORBA server arkitektur Klient ORB POA manager Tjener minpoa Servant manager Objekt refereanse ID Objekt ID Objekt IOR [IRref, nettadr, (minpoa,objid)] ID Objekt Servants: Implementerer anrop på objekter Frank Eliassen, SRL & Ifi/UiO 24 12
13 POA policies!poa policy " kontrollerer kjøretidsomgivelsen til en servant " utøves av POA og servant managers!policy type " et aspekt ved kjøretidsomgivelsen/aktivisering " spesifieres som et attributt!policy " er spesifikasjon av en POA policy mengde attributtverdier " oppgis som argument når man oppretter en ny POA createpoa (navn, POAmngr,policy) Frank Eliassen, SRL & Ifi/UiO 25 POA policy typer: Object Life Span! Spesifiserer persistensmodellen for en POA " TRANSIENT Objektene i denne POAen overlever ikke prosessen i hvilken de ble først opprettet " PERSISTENT Objektene i denne POAen overlever prosessen i hvilken de ble først opprettet " Root POA default TRANSIENT Frank Eliassen, SRL & Ifi/UiO 26 13
14 POA policy typer: Id Assignments! Spesifiserer om Objekt ID i denne POA er generert av applikasjonen eller POAen " USER_ID Objektene tilordnes Object ID av applikasjonen Benyttes typisk av applikasjoner med persistente objekter POA metode: activate_object_with_id(objid, object_pointer) " SYSTEM-ID Objektene tilordnes Object ID av POAen. POA metode: activate_object(object_pointer) Hvis POAen også har PERSISTENT Object Life Span Policy, må de tilordnede Object ID være entydige over alle instansieringer av den samme POA " Root POA default SYSTEM-ID Frank Eliassen, SRL & Ifi/UiO 27 POA policy typer: Object Id Uniqueness! Spesifiserer om de servants som aktiviseres i denne POA har entydige Object ID. " UNIQUE_ID Servants aktivisert med denne POA understøtter nøyaktig en Object Id Benyttes typisk av applikasjoner med få transiente objekter " MULTIPLE_ID en servant aktivisert med denne POA kan understøtte en eller flere Object Id. Benyttes typisk av applikasjoner med mange persistente objekter eksempel: en servant inkarnerer alle objektene en servant representerer et database entry " Root POA default UNIQUE-ID Frank Eliassen, SRL & Ifi/UiO 28 14
15 POA policy typer: illustrasjon Object Id Uniqueness! UNIQUE_ID POA Servants Object ID Servant pointer Object reference POA Active Object Map Frank Eliassen, SRL & Ifi/UiO 29 POA policy typer: illustrasjon Object Id Uniqueness! MULTIPLE_ID POA Servant Object ID Servant pointer Object reference POA Active Object Map Frank Eliassen, SRL & Ifi/UiO 30 15
16 POA policy typer: Implicit Activation! Spesifiserer om denne POA understøtter implisitt aktivisering av objekter. " IMPLICIT_ACTIVATION Denne POA vil kun understøtte implisitt aktivisering når en applikasjon prøver å få tak i en objektreferanse for en inaktiv servant (kaller metode servant_to_reference), vil POAen automatisk generere en Object Id for denne servant og aktivisere det resulterende objekt anbefales ikke å kombinere IMPLICIT_ACTIVATION med PERSISTENT " NO_IMPLICIT_ACTIVATION Denne POA vil kun understøtte eksplisitt aktivisering " Root POA default IMPLICIT_ACTIVATION Frank Eliassen, SRL & Ifi/UiO 31 POA policy typer: Servant Retention! Spesifiserer om denne POA vil oppbevare aktive servants i en Active Object Map. " RETAIN Denne POA vil oppbevare aktive servants i sin Active Object Map " NON_RETAIN Servants oppbevares ikke i denne POA. Kun meningsfull i kombinasjon med USE_DEFAULT_SERVANT eller USE_SERVANT_MANAGER policies " Root POA default RETAIN Frank Eliassen, SRL & Ifi/UiO 32 16
17 POA policy typer: Request Processing! Spesifiserer hvordan forespørsler prosesseres av denne POA. " USE_ACTIVE_OBJECT_MAP_ONLY Hvis denne POA ikke finner en Object Id i sin tabell, returnerer den en exception til klienten " USE_DEFAULT_SERVANT Hvis denne POA ikke finner en Object Id i sin tabell, eller hvis NO_RETAIN policien er spesifiert, vil kallet bli formidlet til en default servant som tidligere er blitt registrert hos POAen (set_servant) " USE_SERVANT_MANAGER Hvis denne POA ikke finner en Object Id i sin tabell, eller hvis NO_RETAIN policien er spesifiert, vil kallet bli formidlet til en servant manager som tidligere er blitt registrert hos POAen (set_servant_manager) " Root POA default USE_ACTIVE_OBJECT_MAP_ONLY Frank Eliassen, SRL & Ifi/UiO 33 POA policy typer: Thread! Spesifiserer threading modellen som brukes av denne POA. " ORB_CTRL_MODEL POAen er ansvarlig for å tilordne anrop til tråder. I en fler-trådet omgivelse kan samtidige anrop formidles til flere tråder applikasjonen må programmeres for å handtere multi-threading I Java: synchronized metoder og betinget synkronisering svakhet: kunne ønske oss mer finkornet kontroll (jfr. ORBacus) " SINGLE_THREAD_MODEL Denne POA vil prosessere anrop sekvensielt. Applikasjonen trenger ikke programmeres for å handtere multithreading ( thread-safe kode) " Root POA default ORB_CTRL_MODEL Frank Eliassen, SRL & Ifi/UiO 34 17
18 Noen nyttige POA policy kombinasjoner! RETAIN og USE_ACTIVE_OBJECT_MAP_ONLY " Tjenere som forvalter et endelig (lite) antall prestartede objekter! RETAIN og USE_SERVANT_MANAGER " Tjenere som forvalter et stort antall persistente objekter! RETAIN og USE_DEFAULT_SERVANT " Tjenere som forvalter et stort antall transiente objekter! NON_RETAIN og USE_SERVANT_MANAGER " Tjenere som benytter en servant per metodekall! etc. etc. Frank Eliassen, SRL & Ifi/UiO 35 Opprette nye POA! Kan opprette et hierarki av POAer " POA metode create_poa(navn, POAmngr,policy_spec) " merk: ingen arv av policies! Hver POA utøver en viss policy " ulike grupper av objekter forvaltes på ulike måter root_poa POA A POA B POA C POA D Frank Eliassen, SRL & Ifi/UiO 36 18
19 POA managers! Kontrollerer flyten av anrop inn i en samling POAer " Factory metode create_poa_manager(navn)! POA_managerinterface " tillater applikasjonen å utøve denne kontrollen " activate lar anrop flyte til de assosierte POAer " hold_requests alle anrop til de assosierte POAer køes opp " discard_requests kaster alle anrop til de assosierte POAer exceptions sendes til klienter som anroper " deactivate ingen anrop kan lenger mottas. Anrop avvises på en implementasjonsspesifikk måte Frank Eliassen, SRL & Ifi/UiO 37 Kontrol av anropsflyt vha POA managers Applikasjon ORB root_poa POA manager POA POA POA POA POA POA POA manager Frank Eliassen, SRL & Ifi/UiO 38 19
20 ORBacus: Utdrag av kode for init av ORB & POA public class Server { static public void main (String[] args) { // initialiserer ORBen org.omg.corba.orb orb = org.omg.corba.orb.init(args,props); // få tak i referanse til rootpoa org.omg.portableserver.poa rootpoa = org.omg.portableserver.poahelper.narrow( orb.resolve_initial_reference( RootPOA ); // få tak i referanse til rootpoaens POAManager org.omg.portableserver.poamanager manager = rootpoa.the_poamanager; //annen initialisering (f.eks. opprette/registrere servants)... //aktiviser POA manager og ORBen (vente på anrop) manager.activate() orb.run(); Frank Eliassen, SRL & Ifi/UiO 39 Thread policy i ORBacus 4.0!Kommando-linjeopsjoner " forfiner POAens Thread policy!eksempler " tråd-per-klient tjener en aktiv tråd per klient, flertrådet tjener en klient kan ikke ha flere samtidige forespørsler i samme tjener " tråd-per-anrop tjener en ny tråd opprettes for hvert forespørsel " tråd-pool tjener statisk forråd av tråder som allokeres til innkommende forespørsler pool-størrelsen gir øvre grense for samtidighet i tjeneren Frank Eliassen, SRL & Ifi/UiO 40 20
21 ORBacus: Tråd-per-klient tjener connect f() h() accept dispatch accept dispatch connect g() dispatch Klient A Klient B Tjener Frank Eliassen, SRL & Ifi/UiO 41 ORBacus: Tråd-per-anrop tjener connect f() h() connect g() Klient A Klient B Tjener Frank Eliassen, SRL & Ifi/UiO 42 21
22 ORBacus: Tråd-pool tjener f() g() h() i() Klient A Tjener Frank Eliassen, SRL & Ifi/UiO 43 Mer detaljer om CORBA! Se CORBA Programmer s Guide: pguide_java/html/index.html Frank Eliassen, SRL & Ifi/UiO 44 22
23 Oppsummering! Objekt-tjenere " Et sted for objekter å leve " Understøtter flere aktiviserings-policies realisert ved objekt-adaptere! Flere-trådede tjenere " kan i noen tilfeller benyttes til å øke gjennomstrømningen (metodekall/tidsenhet) dersom f.eks. I/O er flaskehalsen " fler-trådede tjenere kan utnytte fler-cpu tjenermaskiner! CORBA Portable Object Adapter " kan spesifisere ulike policies for hvordan innkommende anrop skal prosesseres og allokeres ressurser (inkl. threading policy) Frank Eliassen, SRL & Ifi/UiO 45 23
Objekt-tjenere og deres implementasjon
Objekt-tjenere og deres implementasjon Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan Arkitektur for objekt-tjenere Prosesser og tråder (threads) Tråd-synkronisering i Java Fler-trådede
DetaljerModeller av prosessering Implementasjon av tjenere
Modeller av prosessering Implementasjon av tjenere Foreleser: Kjell Åge Bringsrud 1 Oversikt Motivasjon for flertrådede prosesser og deres anvendelse i distribuerte system Modeller av prosessering i CORBA
DetaljerDistribuerte objekter og objekt-basert mellomvare
Distribuerte objekter og objekt-basert mellomvare INF 5040 H2004 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare?! Innkapsling " naturlig tilnærming
DetaljerDistribuerte objekter og objekt-basert mellomvare
Distribuerte objekter og objekt-basert mellomvare INF5040 foreleser: Olav Lysne Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling
DetaljerObjekt-interaksjon. INF 5040 høst 2006
Objekt-interaksjon Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan Prinsipper for realisering av fjernmetodekall (RMI) Objekt-tjenere CORBA RMI Java RMI Fler-trådede objekt-tjenere Frank
DetaljerDistribuerte objekter og objekt-basert mellomvare
Distribuerte objekter og objekt-basert mellomvare INF 5040 H2006 foreleser: Frank Eliassen INF5040 Frank Eliassen 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling
DetaljerObjekt-interaksjon. Plan. INF 5040 høst 2005
Objekt-interaksjon Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan!Prinsipper for realisering av fjernmetodekall (RMI)!Objekt-tjenere!CORBA RMI!Java RMI!Fler-trådede objekt-tjenere Frank
DetaljerCORBA Objektmodell (Java RMI)
CORBA Objektmodell (Java RMI) IN-ODP høst 2002 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 OMG & CORBA Object Mangement Group (OMG): non-profit organisasjon med over 800 medlemsorganisasjoner
DetaljerHentet fra Suns Totorial:
Sun s Hello-eksempel Hentet fra Suns Totorial: http://java.sun.com/j2se/1.4.2/docs/guide/idl/gshome.html Andre nyttige URIer: Java IDL documentation: http://java.sun.com/j2se/1.4.2/docs/guide/idl/index.html
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
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
DetaljerCORBA Component Model (CCM)
CORBA Component Model (CCM) INF5040 Høst 2005 Erlend Birkedal Jan Erik Johnsen Tore Ottersen Løkkeberg Denne presentasjonen CORBA Svakheter ved CORBA Object Model Komponenter CORBA Component Model Hva
DetaljerDCOM. 21. oktober Mai et al. Hva er egentlig en komponent?
DCOM 21. oktober 2004 Mai et al. Komponent Hva er egentlig en komponent? En komponent er et programvareobjekt, ment å samvirke med andre komponenter, og tilbyr en gitt funksjonalitet. En komponent har
DetaljerOperativsystemer, prosesser og tråder
Dagens program Grunnleggende tråd-programmering i Java: Java-tråder: definisjoner, egenskaper Interferens Låsing og synkronisering Venting og signallering Løpende eksempel: lesere og skrivere Erfaringer
DetaljerDistributed Component Object Model. Utvikling av distribuerte applikasjoner. Utvidelse av COM for støtte av distribuerte objekter
DCOM Distributed Component Object Model Almir Delkic og Frank Jensen Institutt for Informatikk, Universitetet i Oslo, oktober 2003 Introduksjon Utvikling av distribuerte applikasjoner Utvidelse av COM
DetaljerINF1010 Tråder J. Marit Nybakken Motivasjon. Å lage en tråd
J INF1010 Tråder J Marit Nybakken marnybak@ifi.uio.no Motivasjon Til nå har vi kun skrevet programmer der programmet bare var på ett sted i koden til enhver tid (bortsett fra når vi har drevet med GUI,
DetaljerJava RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund
Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund Antagelser og forutsetninger Implementasjonseksemplet kompileres og kjøres på Java SDK 1.4.2 Dokumentasjon
DetaljerStein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk
INF1010 11. mai 2017 Monitorer med kritiske regioner og passive venting innbygget i Java - Kommunikasjon mellom prosesser i Java (Ikke pensum i INF1010) Stein Gjessing Universitetet i Oslo 1 Repetisjon:
DetaljerJava RMI. Introduksjon. Markus Foss Hans-Gunnar Vold
Java RMI Markus Foss Hans-Gunnar Vold Introduksjon Java Remote Method Invocation Tillater metodekall mellom Java virituelle maskiner Introdusert i Java 1.02 Javas svar på RPC, men er objekt orientert,
DetaljerINF Notater. Veronika Heimsbakk 10. juni 2012
INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N
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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider.
DetaljerEksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus
// class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen
DetaljerLa oss begynne med en repetisjon av hva som skjer når du kjører Javaprogrammet
K A P I T T E L 18 Tråder N år et program kjøres, utføres programsetningene i en bestemt rekkefølge. En tråd er det samme som denne programflyten, og i dette kapitlet skal vi se på hvordan vi starter og
DetaljerObjekt-interaksjon i objektbasert mellomvare:
Objekt-interaksjon i objektbasert mellomvare: Fjerne metodekall (RMI) Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan CORBA objektmodell Java RMI Prinsipper for realisering av fjernmetodekall
DetaljerKapittel 7: Mer om arv
Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,
DetaljerImplementering av caching ved hjelp av Spring. Christian Vestøl 27.04.06
Implementering av caching ved hjelp av Spring Christian Vestøl 27.04.06 Agenda Kort introduksjon til Spring med Spring Praktiske eksempler Forskjellige rammeverk for caching April 2006 2 Kort om Spring
DetaljerINF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også
DetaljerSide 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006
Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006 Prosesser og tråder Datamaskinen lager prosesser. En prosess organiserer arbeidet i et program ved å administrere tråder. Det er
DetaljerRM-ODP og Multimedia middleware (M3W):
RM-ODP og Multimedia middleware (M3W): INF 5040 høst 2003 foreleser: Frank Eliassen SRL & Ifi/UiO 1 Litteratur Gordon Blair, Jean-Bernard Stefani, Distributed Processing and Multimedia, Addison-Wesley
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
DetaljerObjekt-interaksjon i objektbasert mellomvare:
Objekt-interaksjon i objektbasert mellomvare: Fjerne metodekall (RMI) Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan!CORBA objektmodell!java RMI!Prinsipper for realisering av fjernmetodekall
DetaljerD: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.
Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 13.des 2011 Faglig
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
DetaljerGruppe 11. Frank Petter Larsen Vegard Dehlen
qoskets Gruppe 11 Frank Petter Larsen Vegard Dehlen Problematikk Dagens mellomvare for objektbaserte distribuerte systemer har ikke innebygget støtte for å spesifisere, overvåke og kontrollere tjenestekvalitet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:
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
DetaljerEksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 %
Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 % Stein Gjessing Institutt for Informatikk Universitetet i Oslo 1 Oppgave 10 Tegning av datastrukturen (vekt 5% av del B) Tegn datastrukturen til
DetaljerI et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ
INF2440-V18 Information INF2440 Vår 2018 eksamen Dato og tid: 11. juni 2018 09:00. Varighet: 4 timer Hjelpemidler: Alt skriftlig materiale er tillatt. Ingen elektroniske hjelpemidler er tillatt. Powerpoint
DetaljerAvdeling for ingeniørutdanning Institutt for teknologi
Avdeling for ingeniørutdanning Institutt for teknologi Oppgavetittel: Lab Fag(nr./navn): DOPS2021 - Operativsystemer Gruppemedlemmer: T. Alexander Lystad Faglærer: Karoline Moholth Dato: 15. oktober 2009
DetaljerUtfordringer til mellomvare: Multimedia
Utfordringer til mellomvare: Multimedia IN-ODP høst 2001 foreleser: Frank Eliassen SRL & Ifi/UiO 1 Utfording fra multimedia til middleware ÿ Støtte for multimedia ÿ Programmeringsmodell og systemstøtte
DetaljerSynkronisering I. Kapittel 6. Tråd A. ferdig. t.varsle() u.vente() Tråd B. ferdig. tid
Kapittel 6 Synkronisering I Tråd A t.varsle() u.vente() ferdig Tråd B t.vente() u.varsle() ferdig tid Figur 6-1: Tråder som venter og varsler langs en tidsakse. Heltrukket linje betyr aktiv, og stiplet
DetaljerINF2440 Prøveeksamen, løsningsforslag, 20 mai Arne Maus PSE, Inst. for informatikk
INF2440 Prøveeksamen, løsningsforslag, 20 mai 2015 Arne Maus PSE, Inst. for informatikk 1 Prøveeksamen Er en modell av hva du får til eksamen: - like mange (+-1) oppgaver som eksamen og nesten samme type
DetaljerHva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }
Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerINF1010 Tråder II 6. april 2016
INF1010 Tråder II 6. april 2016 Stein Gjessing Universitetet i Oslo 1 Tråder i Java tråden minrunp class MinRun implements Runable { MinRun(... ) {... } public void run( ) {...... } } //end
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:
DetaljerLøsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004
Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling
DetaljerSynkronisering II. Kapittel 7. Betingelse oppfylt (0) liste. tråd-deskriptor. venteliste. tråd-deskriptor. tråd-deskriptor.
Kapittel 7 Synkronisering II etingelse oppfylt (0) liste venteliste tråd-deskriptor tråd-deskriptor tråd-deskriptor tråd-deskriptor Figur 7-1: Datastrukturen for en etingelse. are når oppfylt er 0 kan
DetaljerUtfordringer til mellomvare: Multimedia
Utfordringer til mellomvare: Multimedia INF 5040 høst 2003 foreleser: Frank Eliassen SRL & Ifi/UiO 1 Utfording fra multimedia til middleware Støtte for multimedia Programmeringsmodell og systemstøtte for
DetaljerAntall sider (inkl. forsiden): 7. Alle trykte og håndskrevne
Side 1 av 7 Bokmålstekst Emne: PROGRAMMERING (nytt pensum, 10 studiep.) Grupper: laa, lab, lac, lia, lib, lic Eksamensoppgaven best~r av: Tillatte hjelpemidler: Antall sider (inkl. forsiden): 7 Alle trykte
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
DetaljerIntroduksjon til Distribuerte System (DS)
Introduksjon til Distribuerte System (DS) INF5040 høst 2005 foreleser: Olav Lysne Olav Lysne, SRL & Ifi/UiO 1 Hva er et distribuert system? Definisjon [Coulouris & Emmerich] Et distribuert system består
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
DetaljerIN våren 2019 Onsdag 16. januar
IN1010 - våren 2019 Onsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerIN våren 2018 Tirsdag 16. januar
IN1010 - våren 2018 Tirsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
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
DetaljerGUI («Graphical User Interface») del 2
GUI («Graphical User Interface») del 2 Interaksjon med brukeren Hendelsesdrevet programmering Tråder i GUI Et spill basert på klikkbare ruter Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/
DetaljerForeleser: Kjell Åge Bringsrud
Replikering Foreleser: Kjell Åge Bringsrud 1 Hvorfor replikere I? Forbedret ytelse Flere servere tilbyr samme tjeneste - parallellitet Distribuerte kopier av data fører til mindre nettverksforsinkelse
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF2440 Effektiv parallellprogrammering Prøveeksamensdag: 1. juni 2016 Tidspunkter: 09.00 16.00 Oppgavesettet er på: 4 sider
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
DetaljerThreads Threads (tråder) threads vs prosesser threads vs prosesser Definisjoner av
prosess = At en kokk lager en porsjon middag i et kjøkken CPU = kokk ressurser = kjøkken, matvarer, oppskrift thread/tråd = den sammenhengende serien(tråden) av hendelser som skjer når kokken lager en
DetaljerForklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Forklaring til programmet AbstraktKontoTest.java med tilhørende
DetaljerCORBA & Java RMI & J2EE & CORBA CCM OMG & CORBA
CORBA & Java RMI & J2EE & CORBA CCM IN-ODP høst 2001 foreleser: Frank Eliassen Frank Eliassen, Simula RL &Ifi/UiO 1 OMG & CORBA Object Mangement Group (OMG): non-profit organisasjon med over 800 medlemsorganisasjoner
Detaljerclass Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerOppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre
Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal
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
DetaljerTildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en
DetaljerINF2440 Uke 6, v2015 om faktorisering av primtall + tre løsninger på et produsent/konsumentproblem. Arne Maus PSE, Inst.
INF2440 Uke 6, v2015 om faktorisering av primtall + tre løsninger på et produsent/konsumentproblem Arne Maus PSE, Inst. for informatikk 1 Hva så vi på i Uke5 1. Mer om ulike strategier for å dele opp et
DetaljerSortering med tråder - Quicksort
Sortering med tråder - Quicksort Skisser til to programmer INF1010 våren 2016 Stein Gjessing Institutt for informatikk Universitetet i Oslo Sortering som tema, slikt som valg av sorteringsmetode, hastigheten
DetaljerArv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerReplikering. Olav Lysne
Replikering Olav Lysne 1 Hvorfor replikere I? Forbedret ytelse Flere servere tilbyr samme tjeneste - parallellitet Distribuerte kopier av data fører til mindre nettverksforsinkelse Caching av data gir
DetaljerINF våren 2017
INF1010 - våren 2017 Om Java Objekter og klasser Både for deg som kan og for deg som ikke kan Java Stein Gjessing Universitetet i Oslo Ny versjon etter forlesningen der tre meningsløse private modifikatorer
DetaljerKapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy
Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider
DetaljerINF2440 Uke 6, v2017. Arne Maus PSE, Inst. for informatikk
INF2440 Uke 6, v2017 Arne Maus PSE, Inst. for informatikk 1 Hva så vi på i uke 5 1. Enda bedre Matrise-multiplisering 2. Modell2-kode for sammenligning av kjøretider på (enkle) parallelle og sekvensielle
DetaljerInf1010 oppgavesamling
Table of ontents Inf1010 oppgavesamling.. 1 Subklasser... 1 Grensesnitt.. 2 Rekursjon... 3 Datastrukturer... 3 GUI. 4 Sortering... 6 Tråder... 6 Inf1010 oppgavesamling Subklasser Klassehirarki for dyr
DetaljerINF Våren Li' repe$sjon om Tråder og GUI. Stein Gjessing, Ins$tu' for informa$kk, Universitetet i Oslo. Ins$tu' for informa$kk
INF1010 - Våren 2015 Li' repe$sjon om Tråder og GUI Stein Gjessing,, Universitetet i Oslo 1 GUI, tråder og hendelser Op-sys (Win, Linux,..) Ditt Program sin Event Dispatch Thread Hver ting brukeren gjør
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
DetaljerDet finnes ingenting. som kan gjøres med interface. men som ikke kan gjøres uten
Interface, Abstract Class... i-120 : H-98 2a. Abstraksjon i JAVA: 1 Det finnes ingenting som kan gjøres med interface i-120 : H-98 2a. Abstraksjon i JAVA: 2 som kan gjøres med bruk av unntak i-120 : H-98
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF2440 Praktisk parallell programmering Prøveeksamensdag : 26. mai 2014 Tidspunkter: 11.00 Utdeling av prøveeksamen 15:15
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF2440 Praktisk parallell programmering Eksamensdag : 2. juni 2014 Tidspunkter: 14.30 Oppgavesettet er på : 4 sider Vedlegg
DetaljerLøsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse
DetaljerKapittel 8: Programutvikling
Kapittel 8: Programutvikling Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens
DetaljerTest 2 OOP. - Prøveeksamen
Test 2 OOP - Prøveeksamen 2007 - Viktig: Jobb med oppgavene som om det var eksamen Ikke snakk med sidemann, ta korte pauser, benytt kun skriftlige hjelpemidler du hadde tenkt til å hatt med på eksamen.
DetaljerUNIVERSITETET I OSLO
Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på
Detaljer. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye.
~KSAMENSOPPGA VE Les gjennom hele oppgavesettet før du begynner A besvare deloppgavene.. Hold deg til de identifikator-navnene som er brukt i oppgaveteksten, dog med unntak av metodenes parametemavn som
DetaljerGeneriske mekanismer i statisk typede programmeringsspråk
Generiske mekanismer i statisk typede programmeringsspråk Dette stoffet er Pensum, og det er bare beskrevet her Mye her er nok kjent stoff for mange INF5110 7. mai 2013 Stein Krogdahl 1 Hvordan kunne skrive
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.
Detaljer1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)
Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)
Detaljerstatic int ant_steiner; //antall steiner static int teller2 = 0; //teller for printing til Thread^ murer; //murertråden
Øving 4 Thorstein Brekke Operativsystemer Oppgave 1 Kode for Murer: // Uke4oppgave1murer.cpp : main project file. #include "stdafx.h" using namespace System; using namespace Threading; using namespace
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
DetaljerOOT Seminar H-97 CORBA. Praktisk del
OOT Seminar H-97 CORBA Praktisk del Valg av ORB implementasjon Har valgt å bruke Visigenic sin ORB implementsjon ORB en er 100% Java kodet Bygger på OMG sin IDL to Java language mapping fra Jun 97 Gratis
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 10.desember 2008 Varighet: 0900 1200 Fagnummer: Fagnavn: LO346D Java EE og distribuerte systemer Klasse(r): NETT
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
DetaljerTilstandsmaskiner med UML og Java
Tilstandsmaskiner med UML og Java DAT2160 DAT2160 Høst Høst 2002 2002 Tilstandsmaskiner Tilstandsmaskiner med med UML UML og og Java Java Hva er en (endelig) tilstandsmaskin? En tilstandsmaskin kan sees
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke
Detaljer