Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

193
Vistas
Determinación de TASK_SIZE a partir del programa c

TASK_SIZE es una constante del núcleo que define el límite superior de la memoria accesible para el código que funciona en el nivel de privilegio más bajo.

Su valor generalmente se establece en 0xc0000000 en sistemas con menos de 1 GB de memoria física (todos los ejemplos incluidos en este artículo se refieren a este valor). La memoria por encima de este límite contiene el código del kernel.

¿Hay alguna manera de determinar los núcleos en ejecución TASK_SIZE a través del programa c?

TAMAÑO_TAREA

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Después de mucha búsqueda y análisis en Google, obtuve una lógica

Suponga que la dirección virtual neta es de 4 gb y está dividida en una proporción de 1:3.

Suposiciones aproximadas: -

Núcleo (1 gb superior): c0000000 -ffffffff

Espacio de usuario (menos de 3 gb): 0-c0000000

que

 #define GB *1073741824 unsigned int num; unsigned int task_size; task_size=(unsigned)&number+ 1 GB / 1 GB * 1GB;

[el área de pila del proceso se asignará debajo del espacio del kernel]

entonces la dirección de num (en la pila) = en algún lugar alrededor del rango de 3 GB, por ejemplo: [3214369612]

ahora agregando 1 GB = 1073741824+3214369612=4288111436

dividiendo por 1GB=3.993614983 será 3 (int sin signo)

ahora multiplicando por 1 GB = 3 * 1073741824 = 3221225472 es decir (0xC0000000 en hexadecimal)

por lo tanto, obtuve la dirección inicial del kernel (TASK_SIZE)

Lo probé asumiendo también una relación (2: 6) y obtuve el resultado correcto.

¿Es esta una lógica justa, por favor comenten?

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda