Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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