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