Answer» - Paging: Paging is a memory management approach in which the process address space is divided into uniformly sized pieces known as pages (size is the power of 2, between 512 bytes and 8192 bytes). The number of pages in the process is used to determine its size. Similarly, main memory is partitioned into small fixed-size blocks of (physical) memory called frames, with the size of a frame being the same as that of a page in order to maximize main memory UTILIZATION and avoid external fragmentation.
- Segmentation: Segmentation is a memory management strategy in which each JOB is broken into numerous smaller segments, one for each module, each of which contains parts that execute related functions. Each SEGMENT corresponds to a different program's logical address space. When a process is ready to run, its associated segmentation is loaded into non-contiguous memory, though each segment is placed into a contiguous block of available memory. Memory segmentation is similar to paging, except that segments are changeable in length, whereas paging pages are fixed in size.
The following table lists the differences between Paging and Segmentation: | Paging | Segmentation |
|---|
| A process address space is divided into fixed-size pieces called pages in paging. | A process address space is divided into pieces of differing sizes during segmentation. | | The memory is divided into pages by the operating system. | The compiler is in charge of determining the segment size, virtual address, and actual address. | | The size of a page is governed by the amount of memory available. | The user determines the size of each section. | | In terms of memory access, the paging strategy is faster. | Segmentation is slower than paging. | | Internal fragmentation might result from paging because certain pages may go unused. | Because certain memory blocks may not be accessed at all, segmentation might result in external fragmentation. |
|