1 | The address space of a process is broken into blocks of fixed size called pages. | The address space of a process is broken into blocks of different sizes. |
2 | The memory is divided into pages by the Operating System. | The segment size, virtual address, and actual address are calculated by the compiler. |
3 | Page size depends on the memory available. | Segment size is determined by the programmer. |
4 | Memory access is faster in Paging. | Memory access is slower in Segmentation. |
5 | Internal fragmentation can be caused by Paging because some pages may be underutilized. | External fragmentation can be caused by Segmentation because some memory blocks may not be used. |
6 | The logical address gets split into page offset and page number. | The logical address gets split into section offset and section number. |
7 | Page data is stored in the page table. | Segmentation data is stored in the segmentation table. |
8 | Data structures cannot be handled efficiently. | Data structures are handled efficiently. |
9 | Paging is not visible to the user. | Segmentation is visible to the user. |
10 | The OS should maintain a free frame list. | The OS should maintain a list of holes in the main memory. |
11 | To calculate the absolute address, the processor needs a page number and offset. | To calculate the full address, the processor needs segment number and offset. |
12 | Sharing of procedures between processes is difficult in Paging. | Segmentation facilitates sharing of procedures between the processes. |