¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

Procesos en Linux.

air-base Español

Mapa mental sobre procesos en Linux: definición de proceso, planificación, identificadores y procesos e hilos

Mapa mental: Procesos en Linux

Contenido del mapa

Procesos en Linux.

  1. Se puede definir como un programa en ejecución.

    • Un proceso es un ente dinámico.
      • Cambia su estado continuamente, según sus necesidades.
      • Su creación se da con la llamada al sistema fork()
        • Todos los procesos derivan de un único proceso padre, que el sistema lanzó en su inicialización.
    • Un programa es un ente estático.
  2. Es la unidad de trabajo del sistema en un momento dado.

  3. Implementa multiprogramación y técnicas de tiempo compartido

    • task_struct: almacena toda información relacionada al proceso
      • task_interrumpible: el proceso está esperando por la llegada de una señal.
      • task_running: el proceso se encuentra activo.
      • task_ininterrumpible: el proceso espera por recursos hardware.
      • task_zombie: el proceso termina, pero no se elimina de la tabla de control.
      • Varias task_struct conforman la tabla de control de procesos.
      • state: estado actual del proceso.
      • policy: prioridad del proceso.
      • mm: contiene información sobre la memoria vitrual de cada proces.
  4. Planificación.

    • Cómo se reparte el tiempo de procesador entre distintas tareas.
    • Determina el siguiente proceso a tomar por la CPU.
      • Procesos ordinarios.
      • Procesos de tiempo real (ejecutados primero).
    • Rutina goodness: determina la política de planificación.
      • A mayor valor devuelto, mayor prioridad.
      • schedule: define el mecanismo de planificación.
  5. Identificadores de proceso.

    • PID: identificador de proceso dado por el SO.
    • PPID: identifica el proceso padre.
    • UID: permite saber quien lanzó el proceso. GUID: a qué grupo pertenece el propietario del proceso.
      • EUID, EGID: los toman ciertos programas en su ejecución.
      • FSUID, FSGID: usados cuando se trabaja con sistemas de archivos.
      • SUID, SGID: almanecan los UID y GID originales cuando el proceso modifica los mismos.
  6. Archivos.

    • fs, files: mantienen información sobre el sistema de archivos y archivos abiertos por el proceso.
      • Contenidos en task_struct.
  7. Espacio de direccionamiento.

    • Entes estáticas: almacenadas en unidades secundarias.
    • Entes dinámicas: almacenadas en memoria principal.
    • Memoria virtual: lanzar programas a la CPU con mayor tamaño que la memoria física.
    • Zonas de memoria
      • Sólo lectura:instrucciones que componen el programa
      • Heap: asignación de memoria dinámica.
      • PC: dirección de la instrucción en ejecución.
      • Lectura-escritura: almacenamiento de datos globales.
      • SP: dirección a partir de la cual se salvarán las variables.
  8. Procesos e hilos.

    • El objetivo es compartir recursos de manera cómoda.
      • Derivan las tareas: entidad que sólo posee recursos.
        • Un proceso se compone de una tarea, la cual tiene un único hilo en ejecución.
      • Tendrán espacio de direccionamiento virtual.
        • Threads con la misma tarea, tendrán el mismo espacio virtual.
        • Mismos espacios de memoria que un proceso.
      • Creados mediante la llamada al sistema clone. Aún cuando su objetivo es crear procesos.
        • POSIX: biblioteca estándar para el entorno multihilo.
          • Creación.
          • Seguridad.
          • Portabilidad.

Información

Descripción
Mapa mental sobre el entorno de procesos en Linux.
Creado por
air-base
Visitas
70
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?