Colocación de memoria con el mandato vmo

Puede asignar memoria de usuario con parámetros del mandato vmo. También puede decidir si desea utilizar la política de planificación de primer contacto o la política de planificación de tipo ida y vuelta (round-robin).

Con la política de planificación de primer contacto, la memoria se asigna desde el módulo de chip en el que se estaba ejecutando la hebra cuando tocó por primera vez ese segmento de memoria, que es el primer error de página. Con la política de planificación de round robin, que es el valor predeterminado para todos los tipos de memoria, la asignación de memoria se distribuye a cada una de las vmpools.

Los siguientes parámetros del mandato vmo controlan la colocación de la memoria de usuario y pueden tener un valor de 1, lo que significa la política de planificación de primer contacto, o 2, que significa la política de planificación de round-robin:
memplace_data
Este parámetro especifica la colocación de memoria para los siguientes tipos de datos:
  • Datos del archivo ejecutable principal inicializado o no inicializado.
  • Datos del segmento dinámico
  • Datos de biblioteca compartida
  • Datos de módulos de objeto que se cargan en tiempo de ejecución.
El valor predeterminado para este parámetro es 0.
memplace_mapped_file
Este parámetro especifica la ubicación de la memoria para los archivos que se correlacionan en el espacio de direcciones de un proceso, como la función shmat() y la función mmap(). El valor predeterminado de esta propiedad es 2.
memplace_shm_anonymous
Este parámetro especifica la colocación de memoria para la memoria compartida anónima que actúa como memoria de almacenamiento de trabajo que se crea mediante una llamada a la función shmget() o a la función mmap(). Sólo el proceso de creación o sus descendientes pueden acceder a la memoria y no está asociada con un nombre o una clave. El valor predeterminado de esta propiedad es 2.
memplace_shm_named
Este parámetro especifica la ubicación de memoria para la memoria compartida con nombre que actúa como memoria de almacenamiento de trabajo que se crea mediante una llamada a la función shmget() o a la función shm_open(). Está asociado con un nombre o una clave que permite que más de un proceso acceda al mismo simultáneamente. El valor predeterminado de esta propiedad es 2.
memplace_stack
Este parámetro especifica la colocación de memoria para la pila de programas. El valor predeterminado de esta propiedad es 2.
memplace_text
Este parámetro especifica la colocación de memoria para el texto de aplicación del archivo ejecutable principal, pero no para sus dependencias. El valor predeterminado de esta propiedad es 2.
memplace_unmapped_file
Este parámetro especifica la ubicación de la memoria para el acceso de archivo no correlacionado, como por ejemplo con las funciones read() o write(). El valor predeterminado de esta propiedad es 2.