Changes between Version 37 and Version 38 of replication_distribution


Ignore:
Timestamp:
Oct 25, 2017, 4:07:14 PM (7 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TabularUnified replication_distribution

    v37 v38  
    6565
    6666=== The ''heap'' zone ===
    67 It is located on top of the '''elf''' zone, and starts at address defined by the CONFIG_VSPACE_HEAP_BASE  parameter. It contains all vsegs dynamically allocated or released  by the mmap() / munmap() system calls (i.e. FILE / ANON / REMOTE).he VMM implements a specific MMAP allocator for this zone, implementing the ''buddy'' algorithm. The user level ''malloc'' library uses the mmap() system call to allocate/release virtual memory from the heap. Besides the standard malloc() / free() functions, this library implements a non-standard remote_malloc() function, that allows the user to map a dynamically allocated user buffer on a specific physical cluster.
     67It is located on top of the '''elf''' zone, and starts at address defined by the CONFIG_VSPACE_HEAP_BASE  parameter. It contains all vsegs dynamically allocated / released  by the mmap() / munmap() system calls (i.e. FILE / ANON / REMOTE types). The VMM implements a specific MMAP allocator for this zone, implementing the ''buddy'' algorithm. The mmap( FILE ) syscall maps directly a file in user space. The user level ''malloc'' library uses the mmap( ANON ) syscall to allocate virtual memory from the heap and map it in the same cluster as the calling thread. Besides the standard malloc() function, this library implements a non-standard remote_malloc() function, that uses the mmap( REMOTE ) syscall to dynamically allocate virtual memory from the heap, and map it a remote physical cluster.
    6868
    6969=== The ''stack'' zone ===