pkjinu är nöjd med hjälpen
pkjinu 29 – Fd. Medlem
Postad: 19 feb 2017 16:22 Redigerad: 19 feb 2017 20:07

Process

Hej!

 

Hoppas jag placerat denna tråd rätt. Skulle behöva hjälp med a) uppgiften här 

 

Har kollat i min litteraturbok och googlat men hittar inget vettigt. Någon som kan hjälpa mig?

PeterÅ 842
Postad: 20 feb 2017 08:58

Har du googlat på:
semaphore wait signal atomic

pkjinu 29 – Fd. Medlem
Postad: 20 feb 2017 18:39
PeterÅ skrev :

Har du googlat på:
semaphore wait signal atomic

 Tror inte det, men fick upp denna då: https://www.cs.mtu.edu/~shene/NSF-3/e-Book/SEMA/basics.html . Är de möjligheterna där som blir svaret då?

PeterÅ 842
Postad: 21 feb 2017 15:40

 Ja, eller https://en.wikibooks.org/wiki/Operating_System_Design/Processes/Semaphores

På Google är det inte alltid det första svaret som passar just din fråga.

pkjinu 29 – Fd. Medlem
Postad: 22 feb 2017 08:45
PeterÅ skrev :

 Ja, eller https://en.wikibooks.org/wiki/Operating_System_Design/Processes/Semaphores

På Google är det inte alltid det första svaret som passar just din fråga.

 Okej tack! Vet du hur jag kan göra b) uppgiften? Förstår inte riktigt vad spår menas där. Hittar inget i vår litteratur sett till det, kanske översätter spår fel till engelska? Borde vara trace i detta fall va? 

PeterÅ 842
Postad: 22 feb 2017 15:53

Förstår inte heller vad författaren menar med "spår". Kan du fråga efter den engelska termen?

pkjinu 29 – Fd. Medlem
Postad: 22 feb 2017 17:52
PeterÅ skrev :

Förstår inte heller vad författaren menar med "spår". Kan du fråga efter den engelska termen?

 Frågade och det var som jag trodde: trace.

PeterÅ 842
Postad: 22 feb 2017 18:23

Tyvärr. Det verkar vara en ordagrann översättning. Vore kul att få tala med din lärare :)

Yngve 37878 – Livehjälpare
Postad: 22 feb 2017 18:51 Redigerad: 22 feb 2017 20:43

Jag gissar att det handlar om att ange 2 möjliga och 1 omöjlig sekvens av instruktioner som exekveras och vilka värden som de globala variablerna X och Y då kan ha.

Spår 1 (möjlig):

P1: tilldelning X = 1

P1: tilldelning Y = X-2 = -1

P2 avbryter: 

P2: tilldelning X = 3

P2: tilldelning Y = X-1 = 2

P1 återfår kontrollen:

P1: villkor (if Y > 1 ...)

EDIT: Korrigerat slarvfel

P1: tilldelning X = X+1 = 3+1 = 4

P1: tilldelning X = X-1 = 3-1 = 2

o.s.v.

pkjinu 29 – Fd. Medlem
Postad: 22 feb 2017 20:07
Yngve skrev :

Jag gissar att det handlar om att ange 2 möjliga och 1 omöjlig sekvens av instruktioner som exekveras och vilka värden som de globala variablerna X och Y då kan ha.

Spår 1 (möjlig):

P1: tilldelning X = 1

P1: tilldelning Y = X-2 = -1

P2 avbryter: 

P2: tilldelning X = 3

P2: tilldelning Y = X-1 = 2

P1 återfår kontrollen:

P1: villkor (if Y > 1 ...)

P1: tilldelning X = X+1 = 3+1 = 4

o.s.v.

 Det borde vara X=X-1=3-2=1 på sista P1 va? Men så man får anta att den kan byta till nästa process när den fastnar i ena alltså? Sen blir det andra spåret att man börjar i P2 och kör tills man kommer till någon tilldelning? Sen blir det sista som inte ska höra till processerna att man bara kör i P1 och fastnar där?

Yngve 37878 – Livehjälpare
Postad: 22 feb 2017 20:41 Redigerad: 22 feb 2017 20:45
pkjinu skrev :

 Det borde vara X=X-1=3-2=1 på sista P1 va? Men så man får anta att den kan byta till nästa process när den fastnar i ena alltså? Sen blir det andra spåret att man börjar i P2 och kör tills man kommer till någon tilldelning? Sen blir det sista som inte ska höra till processerna att man bara kör i P1 och fastnar där?

Ja tack. Jag menar P1: tilldelning X = X-1 = 3-1 = 2. (har rättat).

Jag tror inte att det handlar om att någon process "fastnar" utan att de kan avbryta varandra i stort sett när som helst. Det gör att det kan bli väldigt vanskligt att använda globala variabler på detta sätt eftersom en process då kan ändra variablernas värde när som helst.

Du kan alltså hitta på en trace där processerna avbryter varandra lite hur som helst.

Och du kan även hitta på en trace som inte är rimlig, till exempel att X i P1 har värdet 1 och att P2 sedan avbryter och tilldelar X värdet 3. När sedan P1 fortsätter så har X återfått värdet 1 igen. Så kan det inte vara.

pkjinu 29 – Fd. Medlem
Postad: 22 feb 2017 21:07
Yngve skrev :
pkjinu skrev :

 Det borde vara X=X-1=3-2=1 på sista P1 va? Men så man får anta att den kan byta till nästa process när den fastnar i ena alltså? Sen blir det andra spåret att man börjar i P2 och kör tills man kommer till någon tilldelning? Sen blir det sista som inte ska höra till processerna att man bara kör i P1 och fastnar där?

Ja tack. Jag menar P1: tilldelning X = X-1 = 3-1 = 2. (har rättat).

Jag tror inte att det handlar om att någon process "fastnar" utan att de kan avbryta varandra i stort sett när som helst. Det gör att det kan bli väldigt vanskligt att använda globala variabler på detta sätt eftersom en process då kan ändra variablernas värde när som helst.

Du kan alltså hitta på en trace där processerna avbryter varandra lite hur som helst.

Och du kan även hitta på en trace som inte är rimlig, till exempel att X i P1 har värdet 1 och att P2 sedan avbryter och tilldelar X värdet 3. När sedan P1 fortsätter så har X återfått värdet 1 igen. Så kan det inte vara.

 Okej då är jag med, stort tack för hjälpen båda ni! Försöker med en annan uppgift också som hör till processer och det är denna: Förstår inte riktigt hur man ska skriva koden för update och transmit med buffern, några tips här eller ska jag starta en ny tråd?

Yngve 37878 – Livehjälpare
Postad: 22 feb 2017 23:08
pkjinu skrev :
Förstår inte riktigt hur man ska skriva koden för update och transmit med buffern, några tips här eller ska jag starta en ny tråd?

 Starta en ny tråd.

Svara Avbryt
Close