edited by
550 views
2 votes
2 votes

While designing a memory management subsystem, a computer hardware manufacturer must decide whether to utilize a partitioning, segmentation, or demand paging strategy.

Which of the following statements is/are correct regarding the scenario ?

  • I. Partitioning allocates one chunk of memory to each process, which helps to minimize internal fragmentation but can lead to substantial external fragmentation.
  • II. Segmentation allocates one chunk of memory for each significant artifact within each process, which may burden developers or their tools with the task of associating artifacts with segments.
  • III. Paging allocates many small chunks of virtual memory to each process, which helps to minimize external fragmentation but can lead to internal fragmentation.
  1.    I only
  2.    I and II only
  3.    I and III only
  4.    I, II, and III all are correct
edited by

1 Answer

Best answer
1 votes
1 votes

Partitioning  allocate one contiguous piece of memory to each process.

Consequently, as  processes  start, it execute, and exit, the free space of memory can be broken into many useless little little chunks; this is called “external fragmentation.”  The operating system allocates each process approximately the amount of space actually used by the process, there is little waste within each partition (“internal fragmentation”).

Hence option I is correct . 

 Paging views physical memory as a long series of small equally-sized pieces ( call page ) , and the operating system allocates pieces of physical memory to each  processes on an as an when needed basis.


An extra level of indirection is required so that the memory space seen by the process appears contiguous, even if it actually resides in non-contiguous pieces of physical memory. Thus, any free piece of physical memory can be assigned when a request occurs, so there is no external fragmentation. On the other hand, processes can never receive less than a page of memory, so
there can be non-negligible internal fragmentation. Which makes option III  correct.


In case of Segmentation , Each object of a program corresponds to a specific piece of contiguous memory.

For example, the stack might be in one piece of memory , while an array might be in another, and the text/code for a function might reside in another piece of memory location.

For the most part, this keeps the chunks allocated to a fairly small size, so there is usually a use for every chunk of free memory; this helps to reduce external fragmentation. Also, the objects generally fill most or all of their respective memory chunks, which helps to moderate internal fragmentation. But  the compiler (or programmer) must have to keep track of the relationship between objects and segments. This makes option II correct.

selected by
Answer:

Related questions

2 votes
2 votes
1 answer
4
Bikram asked Jan 24, 2017
418 views
In $1991$, produce growers began using a new and inexpensive pesticide. This provoked many objections that growers would damage both the environment and the produce they ...