MUP1+-+Øvelse+6.2

Øvelse 6.2.1

Kode for server pipe: I først omgang oprettes den pipe skal skal kommunikeres igennem: mkfifo Næst åbnes pipen: open kaldes med den oprettede pipe. Herefter står server pipen og læser indtil exit modtages. Tilsidst lukkes og fjernes noden.

Kode for client pipe: Clienten skal kune åbne pipen, da serveren allerede har oprettet denne. Herefter skriver denne til pipen indtil brugeren indtaster exit. Tilsidst lukkes noden, oprydningen er serverens opgave.

Denne opgave var ikke særlig svær, da det med at kommunikere med pipes minder meget om kommunikationen med noder, som vi bruger i projekt i3.

Øvelse 6.2.2

Koden for shared memory writer: De to shared memory funktioner der bruges både i writer go reader er shmget og shmat shmget opretter det segment som der skal connectes til, og shmat connecter så til segmentet. Herefter skrives der til det shm med en temp pionter, man burde godt kunne skrive til shared memory med shm pointeren, men vi har fået at vide at det var godt stil at bruge en temp pointer.

Koden for shared memory reader: Forskellen i reader er, at det der er lagt ned i shm skrives ud. tilsidst sættes værdien på første plads i shm til *, så writer ved at reader er færdig med at læse.

Timer delen af opgaver er lavet ved hjælp af clock_gettime.. Vi fandt ud af, at det er hurtigere at skrive end at læse. Vi tror det skyldes at vi laver en cout i reader.