# Homework 4: Processes and Virtual Memory

Assigned Monday, February 27, 2017 Monday, March 6, 2017 at 5:00pm Submit a PDF file of your solutions using the course's Assignment Drop Box.

## Introduction

The purpose of written homework assignments is to get you thinking about the topics being covered in lecture and in readings in the textbook which are not represented in the hands-on, programming lab assignments. These written assignments also better prepare you for exams. It is worth noting that the book contains many practice problems similar to the problems we ask on these written assignments! The solutions for those practice problems are located at the end of each chapter and should give you a feel for the kind of answers we expect you to turn in for these kind of assignments.

## Logistics

Make sure you write up your answers one page per problem, submitted as a single PDF file.

We will provide solutions to all of the problems in the written homework assignments in a timely fashion after the assignment is due. This may be around 4 or 5 days after the due date, because some students may use late days.

Make sure you are using the 3rd edition of Computer Systems: A Programmer's Perspective. If you're not using the right book, you might be doing the wrong problems!

## Questions

1. Homework Problem 8.13, p. 789.
Note that "Fork()" (with a capital F) is the book's call to fork() that checks for errors (see p. 738).
2. Homework Problem 8.14, p. 789.
Note that "Fork()" (with a capital F) is the book's call to fork() that checks for errors (see p. 738).
3. Practice Problem 9.2, p. 807. Note 1KB = 1024 bytes.
Repeat for:
1. n = 64 and P = 4 KB (e.g., an x86-64 system with standard pages)
2. n = 64 and P = 4096 KB (e.g. an x86-64 system with “huge pages”)