Next week, we will explore how an OS uses segmentation and paging to implement a more sophisticated version of virtual memory. Rather than rely on simple base and bounds registers, we will divide up memory into blocks and map these to different parts of physical memory. To perform this mapping, we will utilize a series of hardware tables or caches that need to be updated and managed by the operating system.


For this reading assignment, you are to read about segmentation, paging, page tables, and TLBs, and submit your responses to the Reading 08 Quiz.


The readings for Tuesday, October 30 are:

  1. Operating Systems: Three Easy Pieces


Once you have done the readings, answer the following Reading 08 Quiz questions:


To submit you work, follow the same process outlined in Reading 00:

$ git checkout master                 # Make sure we are in master branch
$ git pull --rebase                   # Make sure we are up-to-date with GitLab

$ git checkout -b reading08           # Create reading08 branch and check it out

$ cd reading08                        # Go into reading08 folder
$ $EDITOR answers.json                # Edit your answers.json file

$ ../.scripts/submit.py               # Check reading08 quiz
Submitting reading08 assignment ...
Submitting reading08 quiz ...
     Q01 0.20
     Q02 0.80
     Q03 0.20
     Q04 0.40
     Q05 0.20
     Q06 0.40
     Q07 0.60
     Q08 0.20
   Score 3.00

$ git add answers.json                # Add answers.json to staging area
$ git commit -m "Reading 08: Done"    # Commit work

$ git push -u origin reading08        # Push branch to GitLab

Remember to create a merge request and assign the appropriate TA from the Reading 08 TA List.