|
struct page_directory_entry * | get_pde (int dir) |
|
struct page_table_entry * | get_pte (int dir, int table) |
|
vaddr_t | get_linear_address (int dir, int table, int offset) |
|
int | map (paddr_t phys_page_addr, vaddr_t virt_page_addr, int u_s) |
|
void | unmap (vaddr_t virt_page_addr) |
|
void | init_vmm (struct virtual_mem *kvm) |
|
void | init_process_vm (struct virtual_mem *vm, int init_nb_pages) |
|
unsigned int | allocate_new_page (struct virtual_mem *vm, void **alloc, int u_s) |
| Allocation d'une nouvelle page. Plus de détails...
|
|
unsigned int | allocate_new_pages (struct virtual_mem *vm, unsigned int nb_pages, void **alloc, int u_s) |
| Alloue nb_pages pages qui sont placé en espace contigüe de la mémoire virtuelle. Plus de détails...
|
|
int | unallocate_page (struct virtual_mem *vm, void *page) |
|
void | vmm_print_heap (struct virtual_mem *vm) |
|
void | sys_vmm (uint32_t min_size, void **alloc, size_t *real_alloc_size) |
|
paddr_t | vmm_get_page_paddr (vaddr_t vaddr) |
|
unsigned int | calculate_min_pages (size_t size) |
|
- Auteur
- TacOS developers
LICENSE
Copyright (C) 2010-2014 TacOS developers.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.
DESCRIPTION
vmm est l'allocateur qui s'occupe de gérer les pages virtuelles du noyau. Il se base sur l'algorithme first fit (premier emplacement de taille suffisante)
Maintien la liste des espaces libres et des espaces occupés (slabs).