Code 33: Output of Input os_1_mlq_paging_small_1K

Một phần của tài liệu Operating systems (co2018) assignment simple operating system (Trang 72 - 81)

5.2.5 Test case os_1_mlq_paging_ small_4K Input content

Time slide: 2 Number of CPU: 4 Number of processes: 8 MEMRAM size: 4096 MEMSWAP 0 size: 16777216 MEMSWAP 1 size: 0 MEMSWAP 2 size: 0 MEMSWAP 3 size: 0

Time slice:

memramsz = memswpsz [0]

memswpsz [1]

memswpsz [2]

memswpsz [3]

Start Start Start Start Start Start Start Start Time

Time:

Time:

Time:

Time:

Time:

Time:

Time:

Time:

slot ld_routine Time

Loaded a process at Time

slot slot

2, 4096

1

Process | Arrival Time | Priority

p0s 1 130

s3 39

mls 4 15

s2 6 120

m0s 7 120

pls 9 15

s0 11 38

sl 16 0

Number of CPUs: 4, Number of processes: 8 16777216

9

Process:

Process:

Process:

Process:

Process:

ằ Process:

1, Process:

Process:

pos, s3, mis, s2, mOs , pis, sO, sl,

Priority:

Priority:

Priority:

Priority:

Priority:

Priority:

Priority:

Priority:

130 39

15 120 120 15 38

input/proc/pOs, PID: 1 PRID: 130

Assignment for Operating System - Academic year 2023 - 2024 Page 72/82

CPU O: Dispatched process 1 Process 1 executes calc

Loaded a process at input/proc/s3, PID: 2 PRIO: 39 CPU 1: Dispatched process 2

Process 2 executes calc Time slot 3

Begin: Process 1 allocates 300 from RAM for register 0 Process 2 executes calc

print_list_vma:

va[0->B12]

End allocation process Time slot 4

CPU O: Put process i to run queue CPU O: Dispatched process 1

Begin: Process 1 allocates 300 from RAM for register 4 Loaded a process at input/proc/mis, PID: 3 PRID: 15 CPU 1: Put process 2 to run queue

CPU 1: Dispatched process 3

Begin: Process 3 allocates 300 from RAM for register 0 print_list_vma:

va[0->B12]

End allocation process CPU 3: Dispatched process 2 Process 2 executes calc print_list_vma:

va[0->1024]

End allocation process Time slot 5

Begin: Process 1 frees region 0 print_list_rg:

rg [0->300]

rg [812->1024]

rg [300->512]

rg [0->0]

End freeing process

~

Begin: Process 3 allocates 100 from RAM for register print_list_vma:

va[0->B12]

End allocation process Process 2 executes calc Time slot

CPU O: Put process i to run queue CPU 0: Dispatched process 1

Begin: Process 1 allocates 100 from RAM for register 1 print_list_vma:

va[0->1024]

End allocation process

Loaded a process at input/proc/s2, PID: 4 PRID: 120 CPU 1: Put process 3 to run queue

CPU 1: Dispatched process 3 Begin: Process 3 frees region 0 print_list_rg:

rg [0->300]

rg [400->512]

rg [0->0]

End freeing process

CPU 3: Put process 2 to run queue CPU 3: Dispatched process 2 Process 2 executes calc Time slot 7

Process 1 writes the value of 100 to the physical address stored in register 1 plus offset 20

TLB miss at write region=1 offset=20 value=100 print_pgtbl: O - 1024

00000000: 80000000 00000004: 80000001 00000008: 80000000 00000012: 80000003 RAM content:

| #2 9

| #3 9

Begin: Process 3 allocates 100 from RAM for register 2 print_list_vma:

va [0->512]

End allocation process Process 2 executes calc

Loaded a process at input/proc/m0s, PID: 5 PRIO: 120 CPU 2: Dispatched process 4

Process 4 executes calc End writing process 5 Time slot 8

CPU 0: Put process i to run queue CPU 0: Dispatched process 5

Begin: Process 5 allocates 300 from RAM for register 0 print_list_vma:

va [0->512]

End allocation process

CPU 1: Put process 3 to run queue CPU 1: Dispatched process 1

Process 1 reads a byte from the physical address stored in register i plus offset 20 and saves result to register 20

TLB hit at read region=1 offset=20 print_pgtbl: O - 1024

00000000: 80000000 00000004: 80000001 00000008: 80000000 00000012: 80000003 5 RAM content:

Address 0x00000014: 100

| #0 9

| #1 9

| #2 9

| #3 9

End reading process

CPU 3: Put process 2 to run queue CPU 3: Dispatched process 3 Begin: Process 3 frees region 2 print_list_rg:

rg [0->100]

rg [100->300]

rg [400->512]

rg [0->0]

End freeing process Process 4 executes calc Time slot 9

Begin: Process 5 allocates 100 from RAM for register 1 print_list_vma:

va [0->512]

End allocation process

Loaded a process at input/proc/pis, PID: 6 PRIO: 15 CPU 2: Put process 4 to run queue

CPU 2: Dispatched process 6 Process 6 executes calc

Process 1 writes the value of 103 to the physical address stored in register 3 plus offset 20

TLB miss at write region=3 offset=20 value=103 print_pgtbl: O - 1024

00000000: 80000000 00000004: 80000001 00000008: 80000000 00000012: 80000003 RAM content:

| #1 9

| #2 9

| #3 9

Process 1 write error: Region not found (freed or unintialized) End writing process

Begin: Process 3 frees region 1 print_list_rg:

rg [300->400]

rg [0->100]

rg [100->300]

rg [400->512]

rg [0->0]

End freeing process Time slot 10

CPU 0: Put process 5 to run queue CPU 0: Dispatched process Process 2 executes calc Process 6 executes calc CPU 1: Put process i to run queue CPU 1: Dispatched process 4 Process 4 executes calc CPU 3: Put process 3 to run queue CPU 3: Dispatched process 5 Begin: Process 5 frees region 0 print_list_rg:

rg [0->300]

rg [400->512]

rg [0->0]

End freeing process 5 Time slot 11

Process 2 executes calc CPU 2: Put process 6 to run queue CPU 2: Dispatched process 1

Process 1 reads a byte from the physical address stored in register 3 plus offset 20 and saves result to register 20

TLB miss at read region=3 offset=20 print_pgtbl: O - 1024

00000000: 80000000 00000004: 80000001 00000008: 80000000 00000012: 80000003 RAM content:

| #2 9

| #3 9

Process 4 executes calc

Begin: Process 5 allocates 100 from RAM for register 2 print_list_vma:

va [0->512]

End allocation process

Process i read error: Region not found (freed or unintialized)

| #0 9

| #2 9

| #3 9

End reading process

Loaded a process at input/proc/s0, PID: 7 PRID: 38 Time slot 12

CPU O: Put process 2 to run queue CPU 0: Dispatched process 3 Begin: Process 3 frees region 0

Process 3 FREE Error: Region wasn’t alloc or was freed before print_list_rg:

rg [300->400]

rg [0->100]

rg [100->300]

s rg [400->512]

rg [0->0]

End freeing process

Begin: Process 1 frees region 4 CPU 1: Put process 4 to run queue CPU 1: Dispatched process 6 Process 6 executes calc CPU 3: Put process 5 to run queue CPU 3: Dispatched process Process 7 executes calc print_list_rg:

rg [512->812]

rg [100->300]

rg [812->1024]

rg [300->512]

rg [0->0]

End freeing process Time slot 13

Begin: Process 3 frees region 0

Process 3 FREE Error: Region wasn’t alloc or was freed before print_list_rg:

rg [300->400]

rg [0->100]

rg [100->300]

s rg [400->512]

rg [0->0]

End freeing process

CPU 2: Processed i has finished CPU 2: Dispatched process 2 Process 2 executes calc Process 6 executes calc

Assignment for Operating System - Academic year 2023 - 2024 Page 77/82

306 Process 7 executes calc 307 Time slot 14

308 CPU QO: Processed 3 has finished 309 CPU 0: Dispatched process 4 310 Process 4 executes calc 311 Process 2 executes calc

312 CPU 1: Put process 6 to run queue 313 CPU 1: Dispatched process 5

314 Process 5 writes the value of 102 to the physical address stored in register 1 plus offset 20

315 TLB miss at write region=1 offset=20 value=102 316 print_pgtbl: O - 512

317 00000000: 80000000 318 00000004: 80000007 320 RAM content:

31 | #0 0

322

323 End writing process 324

325 CPU 3: Put process 7 to run queue 326 CPU 3: Dispatched process 327 Process 6 executes calc 328 Time slot 15

329 Process 4 executes calc 330 CPU 2: Put process 2 to run queue 331 CPU 2: Dispatched process 7

332 Process 7 executes calc

333 Process 5 writes the value of 1 to the physical address stored in register 2 plus offset 1000

TLB miss at write region=2 offset=1000 value=1 print_pgtbl: O - 512

00000000: 80000000 00000004: 80000007

339 RAM content:

340 Address 0x00000040: 102 341 | #0 9

32 | #1 9

3444 Process 5 write error: Invalid offset when write!

344

345 End writing process 346

347 Process 6 executes calc 348 Time slot 16

349 CPU 0: Put process 4 to run queue 350 CPU 0: Dispatched process 2

Process 2 executes calc

Loaded a process at input/proc/si, PID: 8 PRIO: 0 Process 7 executes calc

354 CPU 1: Put process 5 to run queue 355 CPU 1: Dispatched process 4 356 Process 4 executes calc 357 CPU 3: Put process 6 to run queue 358 CPU 3: Dispatched process 5

359 Process 5 writes the value of 0 to the physical address stored in register 0 plus offset 0

360 TLB hit at write region=0 offset=0 value=0

Assignment for Operating System - Academic year 2023 - 2024 Page 78/82

361 print_pgtbl: O - 512 362 00000000: 80000000 363 00000004: 80000007 365 RAM content:

366 Address 0x00000040: 102 367 | #0 0 368 | #1 0 369 | #3 0 370

371 End writing process 372

373 Time slot 17

374 CPU QO: Processed 2 has finished CPU 0: Dispatched process 8

Begin: Process 8 allocates 300 from RAM for register 0 print_list_vma:

378 va[0->B12]

379 380

381 End allocation process 382

383 Process 4 executes calc 384 CPU 3: Processed 5 has finished 385 CPU 3: Dispatched process 6 386 Process 6 executes calc 387 CPU 2: Put process 7 to run queue 388 CPU 2: Dispatched process 7 389 Process 7 executes calc 390 Time slot 18

391 Process 8 executes calc 392 CPU 1: Put process 4 to run queue 393 CPU 1: Dispatched process 4 394 Process 4 executes calc 395 Process 6 executes calc 396 Process 7 executes calc 397 Time slot 19

398 CPU O0: Put process 8 to run queue 399 CPU 0: Dispatched process 8 400 Process 8 executes calc 401 Process 4 executes calc 402 CPU 2: Put process 7 to run queue 403 CPU 2: Dispatched process 7 404 Process 7 executes calc 405 CPU 3: Put process 6 to run queue 406 CPU 3: Dispatched process 6 407 Process 6 executes calc 408 Time slot 20

409 Process 8 executes calc 410 CPU 1: Put process 4 to run queue 411 CPU 1: Dispatched process 4 412 Process 4 executes calc 413 Process 7 executes calc 414 Process 6 executes calc 415 Time slot 21

416 CPU 0: Put process 8 to run queue 417 CPU O0: Dispatched process 8 418 Process 8 executes calc

Assignment for Operating System - Academic year 2023 - 2024 Page 79/82

Process 4 executes calc CPU 2: Put process 7 to run queue CPU 2: Dispatched process 7 Process 7 executes calc CPU 3: Processed 6 has finished CPU 3 stopped

Time slot 22

Process 8 executes calc CPU 1: Processed 4 has finished CPU 1 stopped

Process 7 executes calc Time slot 23

CPU 0: Put process 8 to run queue CPU 0: Dispatched process 8 Process 8 executes calc CPU 2: Put process 7 to run queue CPU 2: Dispatched process 7 Process 7 executes calc Time slot 24

CPU QO: Processed 8 has finished CPU O stopped

Process 7 executes calc Time slot 25

CPU 2: Put process 7 to run queue CPU 2: Dispatched process 7 Process 7 executes calc Time slot 26

Process 7 executes calc 7 Time slot 27

CPU 2: Put process 7 to run queue CPU 2: Dispatched process 7 Process 7 executes calc Time slot 28

CPU 2: Processed 7 has finished CPU 2 stopped

Một phần của tài liệu Operating systems (co2018) assignment simple operating system (Trang 72 - 81)

Tải bản đầy đủ (PDF)

(83 trang)