SLIDE 3 3 ¡
Store the AC
27-9
(00) -003 (01) DEQUEUE PID (02) LOAD PID (03) JUMPE SCHED (04) LOAD C0 (05) STORE LPID (06) RSTATE PID (07) RTI (08) STORE ACSAV (09) LOAD LPID (10) SUB PID (11) JUMPE SLEEP (12) LOAD PID (13) STORE LPID (14) LOAD ACSAV (15) RTI (16) LOAD ACSAV (17) SSTATE PID (18) ENQUEUE PID (19) JUMP SCHED (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) 000 (31) C (32) C (33) (34) (35) (36) 002 (37) (38) (39) (40) -000 (41) (42) (43) (44) (45) -050 (46) (47) (48) +000 (49) -001 (50) -100 (51) (52) (53) (54) (55) -150 (56) (57) (58) +000 (59) -001 (60) +070 (61) (62) (63) (64) (65) +080 (66) (67) (68) +000 (69) -001 (70) (71) LOAD N <LOOP (72) OUTPUT N (73) ADD ONE (74) STORE N (75) JUMP LOOP (76) HALT (77) (78) (79) (80) (81) 002 <N (82) 001 <ONE (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) PC 09 IR STORE ACSAV AC 002
Process A Process B Run Queue Main Memory Page table A Page table B Page table C Page frame Page frame Page frame Tinker operating system kernel
B A
C0: PID: LPID: IADDR: IVAL: IPID: ACSAV:
1 2 Process C CLOCK: ELSE: RESUME: SLEEP: DISMS: SCHED:
OS Tink Continued
Check that this is second time around
27-10
(00) -003 (01) DEQUEUE PID (02) LOAD PID (03) JUMPE SCHED (04) LOAD C0 (05) STORE LPID (06) RSTATE PID (07) RTI (08) STORE ACSAV (09) LOAD LPID (10) SUB PID (11) JUMPE SLEEP (12) LOAD PID (13) STORE LPID (14) LOAD ACSAV (15) RTI (16) LOAD ACSAV (17) SSTATE PID (18) ENQUEUE PID (19) JUMP SCHED (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) 000 (31) C (32) C (33) (34) (35) (36) 002 (37) (38) (39) (40) -000 (41) (42) (43) (44) (45) -050 (46) (47) (48) +000 (49) -001 (50) -100 (51) (52) (53) (54) (55) -150 (56) (57) (58) +000 (59) -001 (60) +070 (61) (62) (63) (64) (65) +080 (66) (67) (68) +000 (69) -001 (70) (71) LOAD N <LOOP (72) OUTPUT N (73) ADD ONE (74) STORE N (75) JUMP LOOP (76) HALT (77) (78) (79) (80) (81) 002 <N (82) 001 <ONE (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) PC 10 IR LOAD LPID AC C
Process A Process B Run Queue Main Memory Page table A Page table B Page table C Page frame Page frame Page frame Tinker operating system kernel
B A
SCHED: C0: PID: LPID: IADDR: IVAL: IPID: ACSAV:
1 2 Process C CLOCK: ELSE: RESUME: SLEEP: DISMS:
OS Tink Continued
LPID = PID?
27-11
(00) -003 (01) DEQUEUE PID (02) LOAD PID (03) JUMPE SCHED (04) LOAD C0 (05) STORE LPID (06) RSTATE PID (07) RTI (08) STORE ACSAV (09) LOAD LPID (10) SUB PID (11) JUMPE SLEEP (12) LOAD PID (13) STORE LPID (14) LOAD ACSAV (15) RTI (16) LOAD ACSAV (17) SSTATE PID (18) ENQUEUE PID (19) JUMP SCHED (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) 000 (31) C (32) C (33) (34) (35) (36) 002 (37) (38) (39) (40) -000 (41) (42) (43) (44) (45) -050 (46) (47) (48) +000 (49) -001 (50) -100 (51) (52) (53) (54) (55) -150 (56) (57) (58) +000 (59) -001 (60) +070 (61) (62) (63) (64) (65) +080 (66) (67) (68) +000 (69) -001 (70) (71) LOAD N <LOOP (72) OUTPUT N (73) ADD ONE (74) STORE N (75) JUMP LOOP (76) HALT (77) (78) (79) (80) (81) 002 <N (82) 001 <ONE (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) PC 11 IR SUB PID AC 000
Process A Process B Run Queue Main Memory Page table A Page table B Page table C Page frame Page frame Page frame Tinker operating system kernel
B A
SCHED: C0: PID: LPID: IADDR: IVAL: IPID: ACSAV:
1 2 Process C CLOCK: ELSE: RESUME: SLEEP: DISMS:
OS Tink Continued
Yep, bedtime
27-12
(00) -003 (01) DEQUEUE PID (02) LOAD PID (03) JUMPE SCHED (04) LOAD C0 (05) STORE LPID (06) RSTATE PID (07) RTI (08) STORE ACSAV (09) LOAD LPID (10) SUB PID (11) JUMPE SLEEP (12) LOAD PID (13) STORE LPID (14) LOAD ACSAV (15) RTI (16) LOAD ACSAV (17) SSTATE PID (18) ENQUEUE PID (19) JUMP SCHED (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) 000 (31) C (32) C (33) (34) (35) (36) 002 (37) (38) (39) (40) -000 (41) (42) (43) (44) (45) -050 (46) (47) (48) +000 (49) -001 (50) -100 (51) (52) (53) (54) (55) -150 (56) (57) (58) +000 (59) -001 (60) +070 (61) (62) (63) (64) (65) +080 (66) (67) (68) +000 (69) -001 (70) (71) LOAD N <LOOP (72) OUTPUT N (73) ADD ONE (74) STORE N (75) JUMP LOOP (76) HALT (77) (78) (79) (80) (81) 002 <N (82) 001 <ONE (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) PC 16 IR JUMPE SLEEP AC 000
Process A Process B Run Queue Main Memory Page table A Page table B Page table C Page frame Page frame Page frame Tinker operating system kernel
B A
SCHED: C0: PID: LPID: IADDR: IVAL: IPID: ACSAV:
1 2 Process C CLOCK: ELSE: RESUME: SLEEP: DISMS:
OS Tink Continued