Kernel heap

Description

Mind Map on Kernel heap, created by fernando diaz on 18/12/2019.
fernando diaz
Mind Map by fernando diaz, updated more than 1 year ago
fernando diaz
Created by fernando diaz about 6 years ago
11
0

Resource summary

Kernel heap
  1. ¿Qué es el heap?
    1. El "heap" es el área de memoria para asignaciones de larga duración. El programador puede acceder a él utilizando tipos como Box o Vec . Detrás de escena, el compilador maneja esa memoria insertando llamadas a algún asignador de memoria.
    2. La interfaz
      1. La interfaz del asignador en Rust se define a través del Allocrasgo , que se ve así:
          1. El allocmétodo debe asignar un bloque de memoria con el tamaño y la alineación dados a través del Layoutparámetro. El deallocatemétodo debería liberar dichos bloques de memoria nuevamente. Ambos métodos son unsafe, como es el rasgo en sí.
        1. Alloc
          1. El Allocrasgo es parte de la alloccaja, que corees un subconjunto de la biblioteca estándar de Rust. Además del rasgo, la caja también contiene los tipos estándar que requieren asignaciones como Box, Vecy Arc. Podemos incluirlo a través de un simple extern crate:
            1. A Bump Allocator
              1. Para nuestro primer asignador, comenzamos simple. Creamos un memory::heap_allocatormódulo que contiene un llamado asignador de protuberancias :
            2. Alineamiento
              1. Para simplificar la alineación, agregamos align_downy align_upfunciones:
              Show full summary Hide full summary

              Similar