As seen here: It works same like multiprogramming with fixed partition and also the memory is contiguous as well. How is it different and especially non-contiguous? What's happening here?
Segmentation partitions the address space into logically distinct parts usually with the high-order bits representing the segment number, within which the low order bits are a normal linear address space.
A segment is the unit of access control to memory: one process may be able to read it while another is allowed to write it.
- A process will generally have access to many segments.
- Several processes may access the same segment. This is a possible way for processes to communicate.
In Multiprogramming with fixed partitions, each process occupies a contiguous linear address space. It may or may not be aware of the position of the address space in the computer's memory. The process has complete access to its own address space and no access to any other process's. Any process, however, may make system calls.
You can put paging (virtual memory) underneath segmented or partitioned memory.