Tema 1: Linux y Procesos
Arquitectura Cliente Servidor
← Regresar al inicio
📚 Material Teórico y Conceptos
Introducción a los Sistemas Operativos y GNU Linux (PDF 1)
PDF
Teoría de Procesos (PDF 2)
PDF
Los 131 códigos de error de Linux (Referencia Externa)
📝 Tareas del Tema
Tarea 1:
Investigar qué es un proceso y qué es la imagen de un proceso, en el ámbito de los Sistemas Operativos. Agrega las referencias.
Tarea 2: Modificación del bit "setuid" para UIDs diferentes
PDF
Tarea 3: Ejercicio con fork-exec
PDF
💻 Códigos: Identificadores, Errores y System()
programa01_print-pid.c
C
Muestra el PID y el PPID del proceso actual.
programa02_ids.c
C
Muestra el UID (User Identifier) real y efectivo del proceso actual.
programa03_codigos_sistema.c
C
Muestra los códigos de sistema utilizando strerror().
Gráfico: Función system()
Muestra gráficamente el comportamiento de la función system().
programa04_system_v1.c
C
Ejecuta un comando correctamente ("ls -l /").
programa04_system_v2.c
C
Ejecuta comandos correctos e incorrectos utilizando las macros WIFEXITED y WEXITSTATUS.
programa06_error.c
C
Uso de la variable errno y la función strerror(errno).
programa07_error.c
C
Muestra la función perror() para personalizar mensajes de error.
programa09 (Shell Script)
SH
Muestra las macros de error con su respectivo código de sistema.
💻 Códigos: Creación de Procesos (Fork)
Gráfico: Función fork() 1
programa05_fork_v1.c
C
Crea un proceso hijo idéntico al padre, ejecutando de manera asíncrona.
programa05_fork_v2.c
C
Evalúa el valor de retorno de fork() para diferenciar entre proceso padre e hijo.
Gráfico: Función fork() 2
Muestra cómo la variable id_hijo difiere entre el padre y el hijo.
programa08_child.c
C
Evalúa fallos en fork() y utiliza EXIT_FAILURE.
💻 Códigos: Familia de Funciones Exec
Gráfico: Familia Exec
Página de Manual (Español): Funciones execl, execle, execv...
programa10_execl.c
C
Uso de execl() ejecutando "/bin/ls -l /".
programa11_execv.c
C
Uso de execv() ejecutando "/bin/ls -l /".
programa12_getenv_user1.c
C
Obtiene el valor de la variable de entorno USER.
programa13_getenv_user2.c
C
Intenta obtener variables de entorno existentes e inexistentes.
programa14_execle1.c
C
programa15_execle2.c
C
Personaliza la variable de entorno USER durante la ejecución.
programa16_execle3.c
C
Añade variables de entorno adicionales.
programa17_execve1.c
C
Usa execve() pasando argumentos como vector.
programa18_execlp.c
C
Usa execlp(), tomando la ruta del PATH.
programa19_execvp.c
C
programa20_myecho.c
C
Imprime los argumentos pasados, similar al comando echo.
programa21_execve.c
C
Llama al programa20 mediante execve().
programa22_fork-exec.c
C
Usa fork y execvp para reemplazar el proceso hijo.
programa23_fork-exec.c
C
Ejecución sin wait(), el proceso padre no espera al hijo.
Gráfico: fork-exec