It's UWAweek 42 (2nd semester, week 12)

help2002

This forum is provided to promote discussion amongst students enrolled in CITS2002 Systems Programming.
Please consider offering answers and suggestions to help other students! And if you fix a problem by following a suggestion here, it would be great if other interested students could see a short "Great, fixed it!"  followup message.
Displaying the 5 articles in this topic
Showing 5 of 738 articles.
Currently 7 other people reading this forum.


 UWA week 40 (2nd semester, week 10) ↓
SVG not supported

Login to reply

👍?
helpful

"Kristiaan Maree" <24*1*7*3@s*u*e*t*u*a*e*u*a*> wrote:
> Hi, > if we load the page frames in sorted by page num the memory looks like this: > > process 1: 0,1,2,3 > process 2: 4,5,6,7 > process 3: 99,99,99,99 > process 4: 99,99,99,99 > > > RAM: 0,1,2,3,4,5,6,7 > DISK: 99,99,99,99,99,99,99 > > but if we get the instruction '3' there is no process 3 in main memory to swap to, > > instead are we supposed to put in 2 each to avoid this? > > e.g. > process 1: 0,1,99,99 > process 2: 2,3,99,99 > process 3: 4,5,99,99 > process 4: 6,7,99,99 > > RAM: 0,1,2,3,4,5,6,7 > DISK: 99,99,99,99,99,99,99,99 > > so now instruction 3 changes it to > > RAM: 0,1,2,99,4,5,6,7 > DISK: 99,99,99,99,99,99,3,99 > > or is there a better way?
Are you asking if there are any pages in RAM when the simulation starts? The RAM is empty there are no pages in RAM.


SVG not supported

Login to reply

👍?
helpful
1:23am Wed 2nd Oct, Kristiaan M.

Ok that makes sense, RAM and DISC are the values of the page table of the currently loaded processes so RAM: 0,1,2,3,4,5,6,7 DISK: 99,99,99,99,99,99,99,99 instruction 3 RAM: 0->99 (evicting process 1 (value 0) and replacing with process 3 (value 99)),1,2,3,4,5,6,7 DISK: 99->0,99,99,99,99,99,99,99 here initially processes 1 and 2 are in RAM (each with 4 pages for each page table) and a page from process 3 in disc swaps with the first page in ram after getting the '3' instruction. Is this correct?


SVG not supported

Login to reply

👍?
helpful

"Kristiaan Maree" <24*1*7*3@s*u*e*t*u*a*e*u*a*> wrote:
> Ok that makes sense, > RAM and DISC are the values of the page table of the currently loaded processes so > RAM: 0,1,2,3,4,5,6,7 > DISK: 99,99,99,99,99,99,99,99 > instruction 3 > RAM: 0->99 (evicting process 1 (value 0) and replacing with process 3 (value 99)),1,2,3,4,5,6,7 > DISK: 99->0,99,99,99,99,99,99,99 > here initially processes 1 and 2 are in RAM (each with 4 pages for each page table) and a page from process 3 in disc swaps with the first page in ram after getting the '3' instruction. > Is this correct?
Isn't this your page table? process 1: 0,1,2,3 process 2: 4,5,6,7 process 3: 99,99,99,99 process 4: 99,99,99,99 It's hard to follow what you are doing to RAM and disk because it doesn't provide information as to which page of which process is in RAM. RAM: 0, 1, 2, 3, 4, 5, 6, 7 is just the frame numbers or the possible positions in RAM the page of a process could be loaded into.


SVG not supported

Login to reply

👍?
helpful
11:56am Wed 2nd Oct, Kristiaan M.

yes that's the page table, with corrected indexes it looks like this: process 0: 0,1,2,3 process 1; 4,5,6,7 process 2: 99,99,99,99 process 3: 99,99,99,99 process 0 and 1 are loaded into ram with values 0-7 but now there is a new issue with instruction '0' 'the next page of process 0 has to be brought in from virtual memory to the RAM' however every page from process 0 is already loaded into RAM do I just switch the pages like so: process 0: 0,1,2,3 process 0: 1,0,2,3 (and update the time step for these 2 that change) or does something else need to happen?


SVG not supported

Login to reply

👍?
helpful

"Kristiaan Maree" <24*1*7*3@s*u*e*t*u*a*e*u*a*> wrote:
> yes that's the page table, with corrected indexes it looks like this: > process 0: 0,1,2,3 > process 1; 4,5,6,7 > process 2: 99,99,99,99 > process 3: 99,99,99,99 > > process 0 and 1 are loaded into ram with values 0-7 > but now there is a new issue with instruction '0' > > 'the next page of process 0 has to be brought in from virtual memory to the RAM' > however every page from process 0 is already loaded into RAM > do I just switch the pages like so: > process 0: 0,1,2,3 > process 0: 1,0,2,3 (and update the time step for these 2 that change) > > or does something else need to happen?
I've answered this question here: [help2002]

The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Written by [email protected]
Powered by history
Feedback always welcome - it makes our software better!
Last modified  8:08AM Aug 25 2024
Privacy policy