Course Outline

Perkenalan

  •  Tujuan
  •  Siapa Anda
  •  The Linux Foundation
  •  Pelatihan The Linux Foundation
  •  Program Sertifikasi dan Digital Badging
  •  Distribusi Linux
  •  Platform
  •  Mempersiapkan Sistem Anda
  •  Menggunakan dan Mengunduh Virtual Machine
  •  Perubahan dalam Linux

Pra-Syarat

  • Prosedur
  • Syaratan dan LSB (Linux Standard Base)

Cara Bekerja di Proyek OSS **

  • Latar Belakang Cara Berkontribusi dengan Tepat
  • Mempertahankan Kedekatan ke Mainline untuk Keamanan dan Kualitas
  • Memahami DNA Proyek
  • Mengidentifikasi Apa yang Anda Ingin Atasi
  • Menentukan Penjaga dan Metode Kerja Mereka
  • Mendapatkan Masukan Awal dan Bekerja Secara Terbuka
  • Berkontribusi dengan Bagian Incremental, Bukan Dumbel Kode Besar
  • Tinggalkan Ego Anda di Pintu: Jangan Tipis Kulit
  • Tabah, Bangun Hubungan Jangka Panjang, dan Berbantu

Kompilator

  • GCC (GNU Compiler Collection)
  • Lainnya Kompilator
  • Opsi gcc Utama
  • Preprosesor
  • Lingkungan Pengembangan Terpadu (IDE)
  • Laboratorium

Perpustakaan

  • Perpustakaan Statis
  • Perpustakaan Berbagi
  • Menghubungkan ke Perpustakaan
  • Pemuat Penghubungan Dinamis
  • Laboratorium

Make

  • Menggunakan make dan Makefiles
  • Membangun Proyek Besar
  • Aturan yang Lebih Kompleks
  • Aturan Bawaan
  • Laboratorium

Kontrol Sumber

  • Kontrol Sumber
  • RCS dan CVS (Concurrent Versions System)
  • Subversion
  • git
  • Laboratorium

Pengujian Kesalahan dan Core Dumps

  • gdb (GNU Debugger)
  • Apa itu Berkas Core Dump?
  • Menghasilkan Core Dumps
  • Mengeksplorasi Core Dumps
  • Laboratorium

Alat Pengujian Kesalahan

  • Mendapatkan Waktu
  • Pemetaan dan Kinerja Profiling
  • valgrind (Alat Deteksi Memori)
  • Laboratorium

Panggilan Sistem

  • Panggilan Sistem vs. Fungsi Perpustakaan
  • Cara Membuat Panggilan Sistem
  • Nilai Kembali dan Nomor Kesalahan
  • Laboratorium

Memori Management dan Alokasi

  • Memori Management
  • Alokasi Dinamis
  • Tuning malloc()
  • Melock Halaman
  • Laboratorium

Berkas dan Filesystem di Linux **

  • Berkas, Direktori dan Perangkat
  • Sistem Berkas Virtual (VFS)
  • Filesystem ext2/ext3
  • Filesystem Penyimpanan Jurnal
  • Filesystem ext4/
  • Laboratorium

Operasi Input/Output File

  • I/O Berkas UNIX
  • Membuka dan Menutup
  • Membaca, Menulis, dan Mencari
  • Posisi dan I/O Vektor
  • Perpustakaan I/O Standar (stdio)
  • Dukungan Berkas Besar (LFS)
  • Laboratorium

Operasi File Lanjutan

  • Fungsi Stat
  • Fungsi Direktori
  • Inotify (Filesystem Monitor)
  • Pemetaan Memori
  • flock() dan fcntl()
  • Membuat Berkas Sementara
  • Lainnya Panggilan Sistem
  • Laboratorium

Proses I

  • Apa itu Proses?
  • Batasan Proses
  • Kelompok Proses
  • Sistem Berkas proc
  • Metode Inter-Proses Communication
  • Laboratorium

Proses II

  • Menggunakan system() untuk Membuat Proses
  • Menggunakan fork() untuk Membuat Proses
  • Menggunakan exec() untuk Membuat Proses
  • Menggunakan clone()
  • Keluar (Exiting)
  • Pembangun dan Penghancur
  • Menunggu
  • Proses Daemon
  • Laboratorium

Selokan dan Fifos

  • Selokan dan Inter-Proses Communication
  • popen() dan pclose()
  • pipe()
  • Selokan Bernama (FIFOs)
  • splice(), vmsplice(), dan tee()
  • Laboratorium

I/O Asinkron**

  • Apa itu I/O Asinkron?
  • API I/O Asinkron POSIX
  • Implementasi Linux
  • Laboratorium

Sinyal I

  • Apa itu Sinyal?
  • Sinyal yang Tersedia
  • Mendistribusikan Sinyal
  • Pemberitahuan, Jeda dan Tidur
  • Menyiapkan Penangkap Sinyal
  • Himpunan Sinyal
  • sigaction()
  • Laboratorium

Sinyal II

  • Penggunaan Ulang dan Penanganan Sinyal
  • Melompat dan Kembali Tidak Lokal
  • siginfo dan sigqueue()
  • Sinyal Waktu Nyata
  • Laboratorium

Tread POSIX I

  • Pemrograman Multithreading di Bawah Linux
  • Struktur Program Dasar
  • Membuat dan Menghancurkan Tread
  • Sinyal dan Thread
  • Forking vs. Threading
  • Laboratorium

Tread POSIX II

  • Kesemrawutan Mati dan Syarat Ras
  • Operasi Mutex
  • Semaphore
  • Futexes (Fast User-Space Locks)
  • Operasi Kondisional
  • Laboratorium

Networking dan Sockets

  • Lapisan Networking
  • Apa itu Sockets?
  • Sockets Aliran
  • Sockets Datagram
  • Sockets Mentah (Raw)
  • Perintah Perubahan Byte
  • Laboratorium

Sockets  Alamat dan Hosts

  • Struktur Alamat Sockets
  • Mengonversi Alamat IP
  • Informasi Host
  • Laboratorium

Sockets  Port dan Protokol

  • Informasi Port Layanan
  • Informasi Protokol
  • Laboratorium

Klien Sockets

  • Sekuens Klien Dasar
  • socket()
  • connect()
  • close() dan shutdown()
  • Client UNIX
  • Client Internet
  • Laboratorium

Servers Sockets

  • Sequens Server Dasar
  • bind()
  • listen()
  • accept()
  • Server UNIX
  • Server Internet
  • Laboratorium

Sockets  Operasi Input/Output

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

Sockets  Opsi

  • Mendapatkan dan Menyetel Opsi Sockets
  • fcntl()
  • ioctl()
  • getsockopt() dan setsockopt()
  • Laboratorium

Sockets Netlink**

  • Apa itu Netlink Socket?
  • Membuka Netlink Socket
  • Pesan Netlink
  • Laboratorium

Sockets  Pemultiplexing dan Server Berkonsentrasi

  • I/O Sockets Pemultiplexer dan Asinkron
  • select()
  • poll()
  • pselect() dan ppoll()
  • epoll (Edge-Polled IO)
  • I/O Dikendalikan Sinyal dan Asinkron
  • Server Berkonsentrasi
  • Laboratorium

Komunikasi Antar Proses Communication

  • Metode IPC (Inter-Process Communication)
  • IPC POSIX
  • Sistem V IPC**
  • Laboratorium

Memori Berbagi

  • Apa itu Memori Berbagi?
  • Memori Berbagi POSIX
  • Memori Berbagi Sistem V**
  • Laboratorium

Semaphore

  • Apa itu Semaphore?
  • Semaphore POSIX
  • Semaphore Sistem V**
  • Laboratorium

Antrian Pesan

  • Apa itu Antrian Pesan?
  • Antrian Pesan POSIX
  • Antrian Pesan Sistem V**
  • Laboratorium

Requirements

Course ini ditujukan untuk pengembang berpengalaman. Peserta harus mahir dalam pemrograman C dan familiar dengan utilitas dasar Linux dan editor teks.

Audience

Course ini ditujukan untuk pengembang berpengalaman. Peserta harus mahir dalam pemrograman C dan familiar dengan utilitas dasar Linux dan editor teks.

Tingkat Pengalaman: Menengah

 28 Hours

Number of participants


Price per participant

Upcoming Courses (Minimal 5 peserta)