J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4...

21
J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 S I 8 D I 2 10 13 18 2 2 0 0 1 1 4 4 0 0 2 2 6 6 3 3 16 I P SF Z F . . . . PSW

Transcript of J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4...

Page 1: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rejestry procesoraRejestry procesora

AX 3

BX 0

CX 7

DX 1

SI 8

DI 210

13

18

2200114400226633

16IP

SF ZF. . . .PSW

Page 2: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

AX 3

BX 0

CX 7

DX 1

SI 8

DI 210

13

18

20140263

16IP

SF ZF. . . .PSW

AX 3

BX 0

CX 7

DX 1

SI 8

DI 2

SF ZF. . . .PSW16IP

Next

. . .

Page 3: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

AX 3

BX 0

CX 7

DX 1

SI 8

DI 210

13

18

20140263

16IP

SF ZF. . . .PSW

Next

. . .

Page 4: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

Next

. . .

Page 5: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

Next

. . .

Page 6: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

Next

. . .

. . .

. . .

. . .

Curr

Page 7: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

Next

. . .

. . .

. . .

. . .

Curr

Page 8: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

Next

. . .

. . .

. . .

. . .

Curr

Page 9: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

Next

. . .

. . .

. . .

. . .

Curr

Page 10: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

Next

. . .

. . .

. . .

. . .

Curr

procedure RunNext; begin SaveCurrent; Curr:= Curr^.Next; LoadCurrent; RunCurrent end;

Page 11: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

Next

down(s)

. . .

. . .

. . .

Curr

Page 12: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

. . .

. . .

. . .

Curr

Page 13: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

. . .

. . .

. . .

Curr

Page 14: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

. . .

. . .

. . .

Curr

Page 15: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

down(s)

. . .

. . .

Curr

Page 16: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

down(s)

. . .

. . .

Curr

Page 17: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

down(s)

. . .

. . .

Curr

Page 18: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

down(s)

. . .

. . .

Curr

s

0 Val

Proc

Page 19: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

down(s)

. . .

. . .

s

0 Val

Proc

Curr

Page 20: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

down(s)

. . .

. . .

Curr

s

0 Val

Proc

Page 21: J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 10 13 18 2 0 1 4 0 2 6 3 16 IP SFZF. PSW.

J.Nawrocki, Procesy współbieżne

Rekord aktywacji procesuRekord aktywacji procesu

down(s)

down(s)

down(s)

. . .

Curr

s

0 Val

Proc

procedure down(s: sem); begin s.Val:= s.Val – 1; if s.Val < 0 then begin Pred= Curr; while Pred^.Next <> Curr do Pred:= Pred^.Next; Pred^.Next:= Curr^.Next; Curr^.Next:= s.Proc; s.Proc:= Curr endend;

DI; Save;

; Load; EI; Run