CIS343|510             Chapter Seven Review

Identify the five requirements that memory management is intended to satisfy.

1. No process should be subject to unwanted interference from another

process, whether accidental or intentional.

2. Controlled access to shared areas of memory must be allowed, without

compromising essential protection.

3. Since we cannot know ahead of time where in memory a program should

be placed, and since a program may be moved from one memory area to

another, our memory management must provide for...

4. The task of finding areas of main memory and secondary memory for a

program and of moving information between the two levels of memory.

5. Providing for the programmer useful concepts for program organization,

which may or may not exact physical parallels.

Identify these memory management techniques.

6. Main memory is divided into a number of equal-size frames. Each process

is divided into a number of equal-size units, of the same size as the frames.

7. Main memory is divided into a number of static partitions at system

generation time.

8. Each process is divided into a number of segments, not all of which are

resident at any one point in time.

9. Partitions are created as needed, so that each process is loaded into a

partition of exactly the same size as the process.

10. Each process is divided into a number of segments, all of which are

loaded into memory at run time, though not necessarily contiguously.

11. Each process is divided into frames, some of which, though not all, are

resident at run time.

Briefly characterize the fragmentation that is found with each of these memory management techniques. (For example, “no internal fragmentation, a small amount of external fragmentation”).

12. Fixed partitioning

13. Dynamic partitioning

14. Simple paging

15. Simple segmentation

16. Virtual memory paging

17. Virtual memory segmentation

18. What is compaction? Why is it needed? For which memory management

techniques is it needed?

Identify these terms related to relocation.

19. A reference to a memory location independent of the current assignment

of data to memory.

20. An address expressed as a location relative to some known point.

21. An absolute address, an actual location in main memory.

Identify these terms related to paging and segmentation.

22. The equal-size chunks that a process is divided into.

23. The equal-size chunks that memory is divided into.

24. The chunks that a program is divided into which are not necessarily all

of the same length.

25. What is the advantage of using a page size that is a power of 2?