1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Karolina [17]
1 year ago
12

and assuming main memory is initially unloaded, show the page faulting behavior using the following page replacement policies. h

ow many page faults are generated by each page replacement algorithm?
Computers and Technology
1 answer:
Svet_ta [14]1 year ago
4 0

FIFO

// C++ implementation of FIFO page replacement

// in Operating Systems.

#include<bits/stdc++.h>

using namespace std;

// Function to find page faults using FIFO

int pageFaults(int pages[], int n, int capacity)

{

   // To represent set of current pages. We use

   // an unordered_set so that we quickly check

   // if a page is present in set or not

   unordered_set<int> s;

   // To store the pages in FIFO manner

   queue<int> indexes;

   // Start from initial page

   int page_faults = 0;

   for (int i=0; i<n; i++)

   {

       // Check if the set can hold more pages

       if (s.size() < capacity)

       {

           // Insert it into set if not present

           // already which represents page fault

           if (s.find(pages[i])==s.end())

           {

               // Insert the current page into the set

               s.insert(pages[i]);

               // increment page fault

               page_faults++;

               // Push the current page into the queue

               indexes.push(pages[i]);

           }

       }

       // If the set is full then need to perform FIFO

       // i.e. remove the first page of the queue from

       // set and queue both and insert the current page

       else

       {

           // Check if current page is not already

           // present in the set

           if (s.find(pages[i]) == s.end())

           {

               // Store the first page in the

               // queue to be used to find and

               // erase the page from the set

               int val = indexes.front();

               

               // Pop the first page from the queue

               indexes.pop();

               // Remove the indexes page from the set

               s.erase(val);

               // insert the current page in the set

               s.insert(pages[i]);

               // push the current page into

               // the queue

               indexes.push(pages[i]);

               // Increment page faults

               page_faults++;

           }

       }

   }

   return page_faults;

}

// Driver code

int main()

{

   int pages[] = {7, 0, 1, 2, 0, 3, 0, 4,

               2, 3, 0, 3, 2};

   int n = sizeof(pages)/sizeof(pages[0]);

   int capacity = 4;

   cout << pageFaults(pages, n, capacity);

   return 0;

}

LRU

//C++ implementation of above algorithm

#include<bits/stdc++.h>

using namespace std;

// Function to find page faults using indexes

int pageFaults(int pages[], int n, int capacity)

{

   // To represent set of current pages. We use

   // an unordered_set so that we quickly check

   // if a page is present in set or not

   unordered_set<int> s;

   // To store least recently used indexes

   // of pages.

   unordered_map<int, int> indexes;

   // Start from initial page

   int page_faults = 0;

   for (int i=0; i<n; i++)

   {

       // Check if the set can hold more pages

       if (s.size() < capacity)

       {

           // Insert it into set if not present

           // already which represents page fault

           if (s.find(pages[i])==s.end())

           {

               s.insert(pages[i]);

               // increment page fault

               page_faults++;

           }

           // Store the recently used index of

           // each page

           indexes[pages[i]] = i;

       }

       // If the set is full then need to perform lru

       // i.e. remove the least recently used page

       // and insert the current page

       else

       {

           // Check if current page is not already

           // present in the set

           if (s.find(pages[i]) == s.end())

           {

               // Find the least recently used pages

               // that is present in the set

               int lru = INT_MAX, val;

               for (auto it=s.begin(); it!=s.end(); it++)

               {

                   if (indexes[*it] < lru)

                   {

                       lru = indexes[*it];

                       val = *it;

                   }

               }

               // Remove the indexes page

               s.erase(val);

               // insert the current page

               s.insert(pages[i]);

               // Increment page faults

               page_faults++;

           }

           // Update the current page index

           indexes[pages[i]] = i;

       }

   }

   return page_faults;

}

// Driver code

int main()

{

   int pages[] = {7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2};

   int n = sizeof(pages)/sizeof(pages[0]);

   int capacity = 4;

   cout << pageFaults(pages, n, capacity);

   return 0;

}

You can learn more about this at:

brainly.com/question/13013958#SPJ4

You might be interested in
Software on the nas handles features such as data storage, file access, and file and storage management. true or false
Alexus [3.1K]
True! pretty sure :D
7 0
3 years ago
Read 2 more answers
Do you want to run a listing to see files that were used by the last access date is date does not display by default which comma
FromTheMoon [43]

Considering the situation and the computer application, the command you would use to find additional properties of the files to reference is "<u>Get-childitem | get-member "</u>

<h3>What is Get-childitem command?</h3>

Get-childitem command in computer applications is used to get the items in specific locations.

Get-childitem command can be used to gets the items inside a file container, usually referred to as child items.

Similarly, the Get-member command used to gets the members, the properties, and methods of files.

Hence, in this case, it is concluded that the correct answer is <u>Get-childitem | get-member </u>

Learn more about Computer commands here: brainly.com/question/25243683

3 0
2 years ago
________ allows visitors to add, remove, or edit its content.
liberstina [14]
That would be Wiki.......
6 0
3 years ago
How many Packs of cigarettes in one carton? 6, 8, 10, 12 ?
Gnesinka [82]
There are 8packs of 25, or 10 packs of 20 depending on the brand.... both adding up to 200 cigarettes total.

6 0
3 years ago
What is the name given to a planet made up of rocks or metals with a hard surface?
Gnom [1K]
Hello!

The name given to a planet made up of rocks or metals with a hard surface is Terrestrial Planets.
6 0
3 years ago
Other questions:
  • The rules that establish an orderly transfer of data between sender and receiver are called ____.
    5·2 answers
  • A computer professional who has access to sensitive information shares this information with a third party. Which professional c
    9·2 answers
  • Summarize who you believe cyber criminals are, and why?
    8·1 answer
  • Which term is used to describe individuals who want to attack computers yet lack the knowledge of computers and networks needed
    12·1 answer
  • In a C++ program, one and two are double variables and input values are 10.5 and 30.6. After the statement cin &gt;&gt; one &gt;
    6·1 answer
  • why does my Minecraft screen this "play and "settings" instead of the regular layout with singleplayer, multiplayer, and options
    11·2 answers
  • What type of malicious software tries to gather information about you without your consent?
    7·1 answer
  • 1.is there a digital way to mark your favorite website in the internet?Expound your thoughts.
    14·1 answer
  • What are the major features of React?
    10·1 answer
  • "Automated Deployment" is one of the prerequisite for DevOps implementation.
    8·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!