Articles of linux

¿Dónde puedo encontrar el código fuente de la llamada del sistema?

En Linux, ¿dónde puedo encontrar el código fuente para todas las llamadas al sistema dado que tengo el árbol de fonts? Además, si tuviera que buscar el código fuente y el ensamblaje para una llamada al sistema en particular ¿hay algo que pueda escribir en terminal como -my_system_call?

¿Cuáles son las implicaciones de la macro linux __user?

Esperaba que alguien pudiera explicar los matices de la macro __user usada en la fuente del kernel de Linux. Primero que nada, la macro: # define __user __attribute__((noderef, address_space(1))) Ahora, después de buscar en Google, leí que esta macro permite designar un puntero como perteneciente al espacio de direcciones del usuario, y que no debe […]

Tamaños de stack de Linux

Estoy buscando una buena descripción de las stacks dentro del kernel de Linux, pero me resulta sorprendentemente difícil encontrar algo útil. Sé que las stacks están limitadas a 4k para la mayoría de los sistemas, y 8k para otros. Supongo que cada hilo del núcleo / mitad inferior tiene su propia stack. También he escuchado […]

¿Puedo hacer una memcpy copy-on-write en Linux?

Tengo un código donde copio con frecuencia un gran bloque de memoria, a menudo después de hacer solo pequeños cambios en él. Implementé un sistema que rastrea los cambios, pero pensé que sería bueno, si era posible, decirle al sistema operativo que hiciera una “copia de escritura” de la memoria, y dejar que se ocupe […]

Fusionar múltiples bibliotecas compartidas .so

Digamos que tengo a.so y b.so. ¿Puedo producir c.so como una única biblioteca compartida con todas las funciones exportadas por ay b, por supuesto, resolviendo todas las intradependencias (es decir, todas las funciones de b.so llamado por a.so y viceversa)? Lo intenté gcc -shared -Wl, soname, c.so -o c.so a.so b.so pero no funciona. Lo […]

Ejecutando un archivo JAR sin llamar directamente a `java`

Estoy implementando una herramienta de línea de comandos escrita en Java que acepta argumentos de línea de comandos. Lo tengo empaquetado como un archivo JAR porque es conveniente tener un solo archivo. El problema es que para ejecutarlo primero debes llamar a java -jar (filename) (args) y eso es bastante molesto. La forma actual que […]

Ldd jerárquico (1)

Debido al uso de Gentoo, a menudo sucede que después de una actualización, los progtwigs se vinculan con versiones anteriores de las bibliotecas. Normalmente, revdep-rebuild ayuda a resolver eso, pero esta vez es una dependencia de una biblioteca de python, y python-updater no lo detectará. ¿Hay una variante “jerárquica” de ldd que me muestre qué […]

¿Qué es ese “total” en la primera línea después de ls -l?

¿Qué es ese “total” en la salida de ls -l? $ ls -l /etc total 3344 -rw-r–r– 1 root root 15276 Oct 5 2004 a2ps.cfg -rw-r–r– 1 root root 2562 Oct 5 2004 a2ps-site.cfg drwxr-xr-x 4 root root 4096 Feb 2 2007 acpi -rw-r–r– 1 root root 48 Feb 8 2008 adjtime drwxr-xr-x 4 root […]

¿Cómo ejecutar un script en un momento determinado en Linux?

Tengo un archivo de texto que contiene una fecha y hora específicas. Quiero poder ejecutar un script a la hora especificada en ese archivo. ¿Cómo lograrías eso? Cree otra secuencia de comandos que se ejecute en segundo plano (una especie de deamon) y verifique cada segundo si la hora actual coincide con la hora del […]

Diferencia entre PID y TID

¿Cuál es la diferencia entre PID y TID? La respuesta estándar sería que PID es para procesos mientras que TID es para hilos. Sin embargo, he visto que algunos comandos los usan indistintamente. Por ejemplo, htop tiene una columna para PID, en la que se muestran PID para hilos del mismo proceso (con diferentes valores). […]