By Kato Mivule
Non contiguous memory allocation methodology does require that a file be termed at the start. The file grows as needed with time. A major advantage is the reduced waste of disk space and flexibility when it comes to memory allocation. The Operating System will allocation memory to the file when needed. 
Non contiguous memory allocation, offers the following advantages over contiguous memory allocation: 
- Allows the interdependence of code and data among processes.
- External fragmentation is none existent with non contiguous memory allocation.
- Virtual memory allocation is strongly supported in non contiguous memory allocation.
Non contiguous memory allocation methods include Paging and Segmentation.
Paging is a non contiguous memory allocation method in which physical memory is divided into fixed sized blocks called frames of size in the power of 2, ranging from 512 to 8192 bytes. Logical memory is also divided into same size blocks called pages. For a program of size n pages to be executed, n free frames are needed to load the program.
Some of the advantages and disadvantages of paging as noted by Dhotre include the following: 
- On advantages:
- Paging Eliminates Fragmentation
- Multiprogramming is supported
- Overheads that come with compaction during relocation are eliminated
- Some disadvantages that include:
- Paging increases the price of computer hardware, as page addresses are mapped to hardware
- Memory is forced to store variables like page tables
- Some memory space stays unused when available blocks are not sufficient for address space for jobs to run
Segmentation is a non contiguous memory allocation technique that supports a user view of memory. A program is seen as a collection of segments such as main program, procedures, functions, methods, stack, objects, etc. 
Some of the advantages and disadvantages of segmentation as noted by Godse et al include the following: 
- On advantages:
- Fragmentation is eliminated in Segmentation memory allocation
- Segmentation fully supports virtual memory
- Dynamic memory segment growth is fully supported
- Segmentation supports Dynamic Linking
- Segmentation allows the user to view memory in a logical sense.
- On the disadvantages of segmentation:
- Main memory will always limit the size of segmentation, that is, segmentation is bound by the size limit of memory
- It is difficult to manage segments on secondary storage
- Segmentation is slower than paging
- Segmentation falls victim to external fragmentation even though it eliminates internal fragmentation
 Achyut S Godbole, Achyut, “Operating systems” Tata McGraw-Hill, 2005, ISBN 007059113X, 9780070591134, Page 110
 P.S. Gill, “Operating Systems Concepts” Laxmi Publications, 2006, ISBN 8170089131, 9788170089131, Page 112-119
 Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating system concepts, Edition 9, illustrated, J. Wiley & Sons, 2009, ISBN 978-0-470-12872-5, Page 357-408.
 I.A.Dhotre, “Operating Systems”, Technical Publications, 2009, ISBN 8184311699, 9788184311693, Page 28
 A.P.Godse, D.A.Godse, “Computer Organization”, Technical Publications, 2010, ISBN 8184317727, 9788184317725, Page 44-43