Programa del Curso

Introducción

  •  Objetivos
  •  ¿Quién eres?
  •  La Fundación Linux
  •  Linux Entrenamiento básico
  •  Programas de Certificación e Insignias Digitales
  •  Linux Distribuciones
  •  Plataformas
  •  Preparación del sistema
  •  Uso y descarga de una máquina virtual
  •  Las cosas cambian en Linux

Preliminares

  •  Procedimientos
  •  Las normas y la LSB

Cómo trabajar en proyectos OSS **

  •  Visión general sobre cómo contribuir adecuadamente
  •  Manténgase cerca de la línea principal para mayor seguridad y calidad
  •  Estudiar y comprender el ADN del proyecto
  •  Averigua qué picazón quieres Scratch
  •  Identificar a los mantenedores y sus flujos y métodos de trabajo
  •  Obtenga información temprana y trabaje al aire libre
  •  Contribuya con bits incrementales, no con volcados de código grandes
  •  Deja tu ego en la puerta: no seas delgado
  •  Sé paciente, desarrolla relaciones a largo plazo, sé servicial

Compiladores

  •  GCC
  •  Otros compiladores
  •  Principales opciones de gcc
  •  Preprocesador
  •  Entornos de Desarrollo Integrados (IDE)
  •  Laboratorios

Bibliotecas

  •  Bibliotecas estáticas
  •  Bibliotecas compartidas
  •  Enlaces a bibliotecas
  •  Cargador de enlaces dinámicos
  •  Laboratorios

Hacer

  •  Uso de make y Makefiles
  •  Construcción de grandes proyectos
  •  Reglas más complicadas
  •  Reglas incorporadas
  •  Laboratorios

Control de código fuente

  •  Control de código fuente
  •  RCS y CVS
  •  Subversión
  •  Git
  •  Laboratorios

Depuración y volcados de memoria

  •  Gdb
  •  ¿Qué son los archivos de volcado de memoria?
  •  Producción de volcados de núcleo
  •  Examen de volcados de memoria
  •  Laboratorios

Herramientas de depuración

  •  Conseguir el tiempo
  •  Elaboración de perfiles y rendimiento
  •  Valgrind
  •  Laboratorios

Llamadas al sistema

  •  Llamadas al sistema frente a funciones de biblioteca
  •  Cómo se realizan las llamadas al sistema
  •  Valores devueltos y números de error
  •  Laboratorios

Memoria Management y asignación

  •  Memoria Management
  •  Asignación dinámica
  •  Ajuste malloc()
  •  Bloqueo de páginas
  •  Laboratorios

Archivos y sistemas de archivos en Linux **

  •  Archivos, directorios y dispositivos
  •  El sistema de archivos virtual
  •  El sistema de archivos ext2/ext3
  •  Sistemas de archivos de registro en diario
  •  El sistema de archivos ext4/
  •  Laboratorios

E/S de archivos

  •  E/S de archivos UNIX
  •  Apertura y cierre
  •  Leer, escribir y buscar
  •  E/S posicionales y vectoriales
  •  Biblioteca de E/S estándar
  •  Compatibilidad con archivos grandes (LFS)
  •  Laboratorios

Operaciones avanzadas de archivos

  •  Funciones estadísticas
  •  Funciones de directorio
  •  inotify
  •  Mapeo de memoria
  •  flock() y fcntl()
  •  Creación de archivos temporales
  •  Otras llamadas al sistema
  •  Laboratorios

Procesos  I

  •  ¿Qué es un proceso?
  •  Límites del proceso
  •  Grupos de procesos
  •  El sistema de archivos proc
  •  InterProcess Communication (Métodos)
  •  Laboratorios

Procesos  II

  •  Uso de system() para crear un proceso
  •  Uso de fork() para crear un proceso
  •  Uso de exec() para crear un proceso
  •  Uso de clone()
  •  Salir
  •  Constructores y destructores
  •  Espera
  •  Procesos demoníacos
  •  Laboratorios

Tuberías y Fifos

  •  Tuberías e InterProcess Communication
  •  popen() y pclose()
  •  pipe()
  •  Canalizaciones con nombre (FIFO)
  •  splice(), vmsplice() y tee()
  •  Laboratorios

E/S asíncrona**

  •  ¿Qué es la E/S asíncrona?
  •  La API de E/S asíncrona POSIX
  •  Linux Implementación
  •  Laboratorios

Señales  I

  •  ¿Qué son las señales?
  •  Señales disponibles
  •  Despacho de señales
  •  Alarmas, pausas y suspensión
  •  Configuración de un controlador de señales
  •  Conjuntos de señales
  •  sigaction()
  •  Laboratorios

Señales  II

  •  Reentrada y manejadores de señales
  •  Saltos y devoluciones no locales
  •  siginfo y sigqueue()
  •  Señales en tiempo real
  •  Laboratorios

Hilos POSIX I  

  •  Subprocesos múltiples en Linux
  •  Estructura básica del programa
  •  Creación y destrucción de subprocesos
  •  Señales e hilos
  •  Bifurcación vs. enhebrado
  •  Laboratorios

Hilos  POSIX II

  •  Puntos muertos y condiciones de carrera
  •  Operaciones de exclusión mutua
  •  Semáforos
  •  Futexes
  •  Operaciones condicionales
  •  Laboratorios

Networking y enchufes

  •  Networking Capas
  •  ¿Qué son los enchufes?
  •  Sockets de flujo
  •  Sockets de datagramas
  •  Sockets sin procesar
  •  Orden de bytes
  •  Laboratorios

Sockets  , direcciones y hosts

  •  Estructuras de direcciones de socket
  •  Conversión de direcciones IP
  •  Información del anfitrión
  •  Laboratorios

Sockets  , puertos y protocolos

  •  Información del puerto de servicio
  •  Información del protocolo
  •  Laboratorios

Clientes de sockets  

  •  Secuencia básica de cliente
  •  socket()
  •  conectar()
  •  close() y shutdown()
  •  Cliente UNIX
  •  Cliente de Internet
  •  Laboratorios

Servidores de sockets  

  •  Secuencia básica del servidor
  •  bind()
  •  escuchar()
  •  aceptar()
  •  Servidor UNIX
  •  Servidor de Internet
  •  Laboratorios

Operaciones de entrada/salida de sockets  

  •  write(), read()
  •  send(), recv()
  •  sendto(), recvfrom()
  •  sendmsg(), recvmsg()
  •  sendfile()
  •  socketpair()
  •  Laboratorios

Opciones de zócalos  

  •  Obtención y configuración de opciones de socket
  •  fcntl()
  •  ioctl()
  •  getsockopt() y setsockopt()
  •  Laboratorios

Sockets Netlink**

  •  ¿Qué son los sockets netlink?
  •  Abrir un socket netlink
  •  Mensajes de netlink
  •  Laboratorios

Sockets, multiplexación y servidores simultáneos  

  •  E/S de socket multiplexada y asíncrona
  •  select()
  •  poll()
  •  pselect() y ppoll()
  •  epoll
  •  E/S asíncronas y controladas por señal
  •  Servidores simultáneos
  •  Laboratorios

Inter Proceso Communication

  •  Métodos de la CIP
  •  POSIX IPC
  •  Sistema V IPC**
  •  Laboratorios

Memoria compartida

  •  ¿Qué es la memoria compartida?
  •  Memoria compartida POSIX
  •  Memoria compartida del Sistema V**
  •  Laboratorios

Semáforos

  •  ¿Qué es un semáforo?
  •  Semáforos POSIX
  •  Semáforos del Sistema V**
  •  Laboratorios

Colas de mensajes

  •  ¿Qué son las colas de mensajes?
  •  Colas de mensajes POSIX
  •  Colas de mensajes del Sistema V**
  •  Laboratorios

Requerimientos

Este curso es para desarrolladores experimentados. Los estudiantes deben ser competentes en programación en C y estar familiarizados con las utilidades básicas Linux y los editores de texto.

Audiencia

Este curso es para desarrolladores experimentados. Los estudiantes deben ser competentes en programación en C y estar familiarizados con las utilidades básicas Linux y los editores de texto.

Nivel de experiencia: Intermedio

 28 horas

Número de participantes



Precio por participante

Cursos Relacionados

Linux for Cloud Technicians (LFS303). Preparation for Linux Foundation Certified Cloud Technician (LFCT) with exam

28 horas

Linux System Administration (LFS307). Preparation for Linux Foundation Certified System Administrator (LFCS) with exam.

28 horas

Kubernetes for App Developers (LFD459)

21 horas

Kubernetes Administration (LFS458)

28 horas

Kubernetes Security Fundamentals (LFS460)

28 horas

Fundamentals of Linux (LFS300)

28 horas

Linux for System Administrators (LFS301 retired)

28 horas

Linux Security (LFS416)

28 horas

Linux Performance Tuning (LFS426)

28 horas

Linux for System Engineers (LFS311)

28 horas

Linux Enterprise Automation (LFS430)

28 horas

Open Source Virtualization (LFS462)

28 horas

Categorías Relacionadas