# Homework 4: Processes and Virtual Memory

Assigned | Wednesday, February 25th, 2015 |
---|---|

Due Date | Wednesday, March 4th, 2015 at 5:00pm (17:00) |

Submissions | Submit a PDF file of your solutions here. |

## 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 course examinations. 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

Since these written homeworks are not programming lab assignments, you will turn in your assignment online as electronic documents in PDF format (only PDF, please). We will not accept any paper submissions.

## Grading

Same rules as for the previous homeworks. We may grade only a subset of these problems. We will provide written solutions after the assignment is due.

## Questions

Answer the following problems from the textbook. Notice that
several of these problems are practice problems. If a **practice
problem** is listed, try to solve the problem on your own first,
then check your answer at the end of the chapter. Make sure you
understand the solution provided, then complete the **additional
questions** we ask about the practice problem below. Your write-up
only needs to contain the information necessary to understand your
answer to the *additional questions listed here* - you do NOT need to
turn in the answer to the practice problem in its entirety, but you DO
need to submit your answer to the extra problem associated with each
practice problem.

- Homework Problem 8.14, p. 765. Note that "Fork()" (with a capital F) is the book's call to fork() that checks for errors (see p. 718).
- Homework Problem 8.18, p.767. Consider making a "process graph" to help you as described on pages 721 and 722.
- Practice Problem 9.2, p.781. Note 1KB = 1024 bytes. Repeat for: n = 64 and P = 4 KB (e.g. an x86-64 system with standard pages); n = 64 and P = 64KB (e.g. an ARM core within the iPhone 6). Give your answers as powers of 2.
- Homework Problem 9.11, p. 849.
- Homework Problem 9.13, p. 851.

## Notes

Make *sure* you are using the 2nd edition of
Computer Systems: A Programmer's
Perspective, ISBN: 978-0-13-610804-7. If you're not using the right book, you might be
doing the wrong problems!

## Submitting Your Work

Please turn in a PDF file containing your answers to
the Catalyst
Drop Box for this assignment. *We will not accept submissions
that are not in PDF format*.