Two common ways of providing memory protection between processes are segmentation and paging. Modern systems would typically
Question:
Two common ways of providing memory protection between processes are segmentation and paging. Modern systems would typically implement software segments using paging. What resource does this waste compared to using pure segments? What cost does alleviating this wastage impose? [2 marks]
(b) A 32-bit system with 32-bit virtual addressing uses 4 kB pages to match 4 kB frames.
(i) Explain why a thoughtful engineer might choose 4-byte page table entries (PTE) and use a two-level page table in this system. [6 marks]
(ii) A radical engineer decides they want finer-grained protection of memory and proposes reducing the page size to 1 kB. State what challenge this introduces, suggest two different ways it might be addressed, and discuss the associated costs. [7 marks]
(c) An intrepid software engineer discovers some old hardware with support for segmentation, and decides to implement software paging using segments. Propose how they might do this, and discuss how your proposal would perform, and what factors would affect its performance. [5 marks]
Computer Organization and Design The Hardware Software Interface
ISBN: 978-0124077263
5th edition
Authors: David A. Patterson, John L. Hennessy