Curso Developing Applications For Linux

  • Linux & Suse

Curso Developing Applications For Linux

24 horas
Visão Geral

Aprenda como desenvolver aplicativos para o ambiente Linux. Neste Curso Developing Applications For Linux, ministrado por instrutor, você obterá experiência prática com as ferramentas e métodos necessários para o desenvolvimento de aplicativos Linux e aprenderá sobre os recursos e técnicas exclusivos do Linux.

Objetivo

Neste Curso Developing Applications For Linux, você aprenderá sobre as ferramentas e métodos para desenvolver programas C e fazer programação de sistemas em Linux, técnicas de depuração, gerenciamento de processos, chamadas de sistema e pagas específicas do Linux e muito mais.

Publico Alvo
  • Este curso é para desenvolvedores experientes.
Pre-Requisitos
  • Os alunos devem ser proficientes em programação C e estar familiarizados com utilitários básicos do Linux e editores de texto.
Materiais
Português/Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

Introduction

  1.  Objectives
  2.  Who You Are
  3.  The Linux Foundation
  4.  Linux Foundation Training
  5.  Certification Programs and Digital Badging
  6.  Linux Distributions
  7.  Platforms
  8.  Preparing Your System
  9.  Using and Downloading a Virtual Machine
  10.  Things change in Linux

Preliminaries

  1.  Procedures
  2.  Standards and the LSB

How to Work in OSS Projects **

  1.  Overview on How to Contribute Properly
  2.  Stay Close to Mainline for Security and Quality
  3.  Study and Understand the Project DNA
  4.  Figure Out What Itch You Want to Scratch
  5.  Identify Maintainers and Their Work Flows and Methods
  6.  Get Early Input and Work in the Open
  7.  Contribute Incremental Bits, Not Large Code Dumps
  8.  Leave Your Ego at the Door: Don’t Be ThinSkinned
  9.  Be Patient, Develop Long Term Relationships, Be Helpful

Compilers

  1.  GCC
  2.  Other Compilers
  3.  Major gcc Options
  4.  Preprocessor
  5.  Integrated Development Environments (IDE)
  6.  Labs

Libraries

  1.  Static Libraries
  2.  Shared Libraries
  3.  Linking To Libraries
  4.  Dynamic Linking Loader
  5.  Labs

Make

  1.  Using make and Makefiles
  2.  Building large projects
  3.  More complicated rules
  4.  Builtin rules
  5.  Labs

Source Control

  1.  Source Control
  2.  RCS and CVS
  3.  Subversion
  4.  git
  5.  Labs

Debugging and Core Dumps

  1.  gdb
  2.  What are Core Dump Files?
  3.  Producing Core Dumps
  4.  Examining Core Dumps
  5.  Labs

Debugging Tools

  1.  Getting the Time
  2.  Profiling and Performance
  3.  valgrind
  4.  Labs

System Calls

  1.  System Calls vs. Library Functions
  2.  How System Calls are Made
  3.  Return Values and Error Numbers
  4.  Labs

Memory Management and Allocation

  1.  Memory Management
  2.  Dynamical Allocation
  3.  Tuning malloc()
  4.  Locking Pages
  5.  Labs

Files and Filesystems in Linux **

  1.  Files, Directories and Devices
  2.  The Virtual File System
  3.  The ext2/ext3 Filesystem
  4.  Journaling Filesystems
  5.  The ext4/ Filesystem
  6.  Labs

File I/O

  1.  UNIX File I/O
  2.  Opening and Closing
  3.  Reading, Writing and Seeking
  4.  Positional and Vector I/O
  5.  Standard I/O Library
  6.  Large File Support (LFS)
  7.  Labs

Advanced File Operations

  1.  Stat Functions
  2.  Directory Functions
  3.  inotify
  4.  Memory Mapping
  5.  flock() and fcntl()
  6.  Making Temporary Files
  7.  Other System Calls
  8.  Labs

Processes  I

  1.  What is a Process?
  2.  Process Limits
  3.  Process Groups
  4.  The proc Filesystem
  5.  InterProcess Communication Methods
  6.  Labs

Processes  II

  1.  Using system() to Create a Process
  2.  Using fork() to Create a Process
  3.  Using exec() to Create a Process
  4.  Using clone()
  5.  Exiting
  6.  Constructors and Destructors
  7.  Waiting
  8.  Daemon Processes
  9.  Labs

Pipes and Fifos

  1.  Pipes and InterProcess Communication
  2.  popen() and pclose()
  3.  pipe()
  4.  Named Pipes (FIFOs)
  5.  splice(), vmsplice() and tee()
  6.  Labs

Asynchronous I/O**

  1.  What is Asynchronous I/O?
  2.  The POSIX Asynchronous I/O API
  3.  Linux Implementation
  4.  Labs

Signals  I

  1.  What are Signals?
  2.  Signals Available
  3.  Dispatching Signals
  4.  Alarms, Pausing and Sleeping
  5.  Setting up a Signal Handler
  6.  Signal Sets
  7.  sigaction()
  8.  Labs

Signals  II

  1.  Reentrancy and Signal Handlers
  2.  Jumping and NonLocal Returns
  3.  siginfo and sigqueue()
  4.  Real Time Signals
  5.  Labs

POSIX Threads  I

  1.  Multithreading under Linux
  2.  Basic Program Structure
  3.  Creating and Destroying Threads
  4.  Signals and Threads
  5.  Forking vs. Threading
  6.  Labs

POSIX Threads  II

  1.  Deadlocks and Race Conditions
  2.  Mutex Operations
  3.  Semaphores
  4.  Futexes
  5.  Conditional Operations
  6.  Labs

Networking and Sockets

  1.  Networking Layers
  2.  What are Sockets?
  3.  Stream Sockets
  4.  Datagram Sockets
  5.  Raw Sockets
  6.  Byte Ordering
  7.  Labs

Sockets  Addresses and Hosts

  1.  Socket Address Structures
  2.  Converting IP Addresses
  3.  Host Information
  4.  Labs

Sockets  Ports and Protocols

  1.  Service Port Information
  2.  Protocol Information
  3.  Labs

Sockets  Clients

  1.  Basic Client Sequence
  2.  socket()
  3.  connect()
  4.  close() and shutdown()
  5.  UNIX Client
  6.  Internet Client
  7.  Labs

Sockets  Servers

  1.  Basic Server Sequence
  2.  bind()
  3.  listen()
  4.  accept()
  5.  UNIX Server
  6.  Internet Server
  7.  Labs

Sockets  Input/Output Operations

  1.  write(), read()
  2.  send(), recv()
  3.  sendto(), recvfrom()
  4.  sendmsg(), recvmsg()
  5.  sendfile()
  6.  socketpair()
  7.  Labs

Sockets  Options

  1.  Getting and Setting Socket Options
  2.  fcntl()
  3.  ioctl()
  4.  getsockopt() and setsockopt()
  5.  Labs

Netlink Sockets**

  1.  What are netlink Sockets?
  2.  Opening a netlink Socket
  3.  netlink Messages
  4.  Labs

Sockets  Multiplexing and Concurrent Servers

  1.  Multiplexed and Asynchronous Socket I/O
  2.  select()
  3.  poll()
  4.  pselect() and ppoll()
  5.  epoll
  6.  Signal Driven and Asynchronous I/O
  7.  Concurrent Servers
  8.  Labs

Inter Process Communication

  1.  Methods of IPC
  2.  POSIX IPC
  3.  System V IPC**
  4.  Labs

Shared Memory

  1.  What is Shared Memory?
  2.  POSIX Shared Memory
  3.  System V Shared Memory**
  4.  Labs

Semaphores

  1.  What is a Semaphore?
  2.  POSIX Semaphores
  3.  System V Semaphores**
  4.  Labs

Message Queues

  1.  What are Message Queues?
  2.  POSIX Message Queues
  3.  System V Message Queues**
  4.  Labs
TENHO INTERESSE

Cursos Relacionados

Curso Linux Bash Shell Programming

32 horas

Curso Linux Suse SLE200 Transitioning Enterprise 15

8 Horas

Curso Enterprise Server Deployment SLE211v15

16 horas

Curso SUSE Enterprise Server 15 Administration SLE201v15

32 Horas

Curso Linux Suse Enterprise Server 15 Adm Advanced SLE301v15

32 horas

Curso Linux Suse SLES for SAP Applications HA Deployment and Configuration

24 Horas

Curso Suse Linux Protegendo Enterprise Server 12 SLE341

24 Horas