GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es el significado de los guiones bajos iniciales y finales en los identificadores del kernel de Linux?

Hay varios casos:

  • En encabezados de cara al público, es decir, cualquier cosa que libc tomará y colocará bajo /usr/include/linux , los estándares especifican qué símbolos deben definirse y cualquier otro símbolo específico del sistema debe comenzar con un guión bajo y una letra mayúscula o dos guiones bajos. Esa es la razón de __KERNEL__ en particular, porque se usa en encabezados que se incluyen tanto en kernel como en libc y algunas declaraciones son diferentes.
  • En el código interno, la convención suele ser ese símbolo __something es caballo de batalla para something con exclusión de algunos de gestión, a menudo de bloqueo. Esa es una razón para cosas como __d_lookup . Una convención similar para las llamadas al sistema es que sys_something es el punto de entrada de la llamada del sistema que maneja el cambio de contexto hacia y desde el kernel y llama a do_something para hacer el trabajo real.
  • El _t El sufijo es una convención de biblioteca estándar para typedefs. P.ej. size_t , ptrdiff_t , foff_t y tal. El código del núcleo también sigue esta convención para sus tipos internos.

Linux
  1. ¿Cuál es el nivel de ejecución actual del sistema Linux?

  2. ¿Cómo funcionan las macros probables/improbables en el kernel de Linux y cuál es su beneficio?

  3. ¿Cuál es la diferencia entre module_init e init_module en un módulo del kernel de Linux?

  4. ¿Cuál es la interfaz para las llamadas al sistema ARM y dónde se define en el kernel de Linux?

  5. ¿Qué son la memoria alta y la memoria baja en Linux?

¿Cuál es la diferencia entre los núcleos de macOS y Linux?

¿Cuál es la diferencia entre Linux y Unix?

¿Qué son las llamadas al sistema Linux y las funciones de biblioteca?

¿Cuál es la diferencia entre 'localizar' y 'buscar' en Linux?

¿Cuál es la diferencia entre una llamada de biblioteca y una llamada de sistema en Linux?

¿Cuál es el significado de curl -k -i -X ​​en Linux?