
Kursus Linux System Programming
Pergi jauh ke dalam kernel Linux dan belajar menulis program C gred pengeluaran yang bercakap terus kepada OS. Kursus ini merangkumi I/O fail, proses, isyarat, IPC, pengurusan memori, soket, dan multithreading dari asas. Setiap topik didasarkan pada panggilan sistem sebenar, kod yang berfungsi, dan model mental yang digunakan oleh profesional setiap hari.
Apa yang anda akan pelajari:
Anda akan membina pemahaman yang tepat tentang cara Linux mengurus proses, memori, fail, dan sambungan rangkaian pada peringkat panggilan sistem. Anda akan menulis program C yang menggunakan API POSIX untuk I/O fail, komunikasi antara proses, dan rangkaian berasaskan soket. Anda akan melaksanakan aplikasi berbilang utas dan menghapuskan perlumbaan data menggunakan primitif penyegerakan pthreads. Anda akan menggunakan alat lanjutan termasuk GDB, strace, Valgrind, AddressSanitizer, perf, dan io_uring. Anda juga akan merangkumi primitif keselamatan Linux seperti ruang nama, seccomp, dan keupayaan. Menjelang akhir, anda akan mempunyai kemahiran untuk mereka bentuk, menyahpepijat, dan mengoptimumkan perisian sistem yang berjalan dengan boleh dipercayai dalam persekitaran Linux pengeluaran.
Bagaimana anda belajar secara praktikal Kursus Linux System Programming
Bagaimana anda berlatih Kursus Linux System Programming
Untuk anda yang mempunyai syarikat dan ingin melatih pasukan
Di Dedika untuk syarikat, kursus disertakan dengan latihan dan contoh yang berkaitan dengan perniagaan anda sendiri serta mengikut keperluan syarikat anda.
Kandungan kursus
8 Bab • 40 PelajaranTempoh antara 4 dan 360 jam (anda yang tentukan)
Bab 1SembunyiSembunyikan butiranLihat butiranAsas Pengaturcaraan Sistem Linux
Asas Pengaturcaraan Sistem Linux
Pelajaran 1 • Pengenalan kepada Panggilan Sistem
Menunjukkan cara program pengguna memanggil perkhidmatan kernel melalui panggilan sistem menggunakan pembalut glibc dan syscall mentah. Menghubungkan fungsi pustaka C kepada operasi kernel yang mendasarinya.
Pelajaran 2 • Seni Bina Linux dan Gambaran Keseluruhan Kernel
Meliputi ruang kernel vs. ruang pengguna, reka bentuk kernel monolitik, dan pengabstrakan perkakasan. Mewujudkan rangka kerja konseptual yang menjadi asas kepada semua topik pengaturcaraan seterusnya.
Pelajaran 3 • Mengkompil, Memaut, dan Memuatkan
Menerangkan saluran paip alat penuh dari sumber ke boleh laku, termasuk pemautan statik dan dinamik. Menyediakan pelajar untuk mendiagnosis ralat binaan dan memahami struktur perduaan.
Pelajaran 4 • Keperluan Penting C untuk Kerja Sistem
Mengkaji semula penuding, susun atur memori, struktur, dan operasi bitwise yang penting untuk kod sistem. Merapatkan pengetahuan C umum kepada corak peringkat rendah yang digunakan sepanjang kursus.
Pelajaran 5 • Persediaan Persekitaran Pembangunan
Mengkonfigurasi persekitaran pembangunan Linux dengan GCC, GDB, Make, dan pustaka penting. Memastikan setiap pelajar mempunyai garis dasar binaan yang boleh dihasilkan semula sebelum menulis sebarang kod.
Bab 2SembunyiSembunyikan butiranLihat butiranI/O Fail dan Lapisan VFS
I/O Fail dan Lapisan VFS
Pelajaran 1 • Operasi Direktori dan Metadata
Mengajar stat(), lintasan direktori, dan pengurusan pautan termasuk pautan keras dan simbolik. Membolehkan program memeriksa dan memanipulasi struktur sistem fail secara atur cara.
Pelajaran 2 • Operasi Fail POSIX
Meliputi open(), read(), write(), lseek(), dan close() dengan semua bendera dan mod yang berkaitan. Mengajar corak penggunaan yang betul dan perangkap biasa seperti baca dan tulis separa.
Pelajaran 3 • Fail yang Dipetakan Memori
Menunjukkan mmap() untuk memetakan fail ke dalam ruang alamat proses untuk I/O pantas dan data kongsi. Menghubungkan I/O fail kepada konsep memori maya yang diperkenalkan dalam bab kemudian.
Pelajaran 4 • Deskriptor Fail dan Fail Terbuka
Menerangkan jadual fail terbuka, integer deskriptor fail, dan struktur data kernel di belakangnya. Mendasari semua kerja I/O seterusnya dalam model tepat tentang cara kernel mengesan fail terbuka.
Pelajaran 5 • Operasi Fail Lanjutan
Memperkenalkan I/O serakan-kumpul, pemotongan fail, dan tebukan lubang untuk fail jarang. Memanjangkan kemahiran I/O asas kepada senario berprestasi tinggi dan cekap storan.
Bab 3SembunyiSembunyikan butiranLihat butiranProses: Penciptaan, Kawalan, dan Penamatan
Proses: Penciptaan, Kawalan, dan Penamatan
Pelajaran 1 • Dalaman Proses dan Atribut
Memeriksa PID, PPID, UID, GID, dan medan deskriptor proses yang diselenggara oleh kernel. Menyediakan perbendaharaan kata dan model data yang diperlukan untuk mengawal proses secara atur cara.
Pelajaran 2 • Menunggu dan Menuai Anak
Mengajar wait(), waitpid(), dan waitid() untuk mengumpul status keluar anak dan mencegah zombi. Memastikan pelajar menulis program berbilang proses tanpa kebocoran.
Pelajaran 3 • Melaksanakan Program dengan exec()
Menerangkan keluarga exec, penghantaran hujah dan persekitaran, dan apa yang dipelihara merentas exec. Membolehkan pelajar membina shell dan pelancar proses yang menggantikan imej proses dengan betul.
Pelajaran 4 • Mencipta Proses dengan fork()
Meliputi semantik salin-semasa-tulis, pengendalian nilai pulangan, dan pewarisan sumber selepas fork(). Membina asas untuk semua corak pengaturcaraan berbilang proses dalam kursus ini.
Pelajaran 5 • Kelayakan Proses dan Keistimewaan
Meliputi bit setuid/setgid, set keupayaan, dan penurunan keistimewaan untuk reka bentuk proses selamat. Menyediakan pelajar untuk menulis program yang mengendalikan kebenaran tinggi dengan selamat.
Bab 4SembunyiSembunyikan butiranLihat butiranIsyarat: Penghantaran, Pengendalian, dan Penopengan
Isyarat: Penghantaran, Pengendalian, dan Penopengan
Pelajaran 1 • Konsep Isyarat dan Isyarat Piawai
Memperkenalkan nombor isyarat, disposisi lalai, dan mekanisme penghantaran kernel. Mewujudkan model konseptual yang diperlukan sebelum menulis sebarang kod pengendalian isyarat.
Pelajaran 2 • Topeng Isyarat dan Penyekatan
Mengajar sigprocmask(), manipulasi sigset_t, dan perlindungan bahagian genting melalui penyekatan. Membolehkan pelajar mencegah perlumbaan isyarat dalam operasi berbilang langkah.
Pelajaran 3 • Pengaturcaraan Selamat Tak Segerak-Isyarat
Mengenal pasti fungsi selamat tak segerak-isyarat dan corak untuk menulis pengendali yang betul dan boleh masuk semula. Mencegah pepijat halus yang timbul daripada memanggil fungsi tidak selamat di dalam pengendali.
Pelajaran 4 • Isyarat Masa Nyata dan signalfd
Meliputi isyarat masa nyata POSIX, jaminan baris gilir, dan antara muka signalfd() untuk pengendalian segerak. Memanjangkan kemahiran isyarat kepada seni bina dipacu peristiwa dan kebolehpercayaan tinggi.
Pelajaran 5 • Memasang Pengendali Isyarat
Meliputi struktur sigaction(), bendera SA_, dan perbezaan daripada signal() legasi. Mengajar cara yang betul dan mudah alih untuk memasang pengendali yang mengelakkan keadaan perlumbaan.
Bab 5SembunyiSembunyikan butiranLihat butiranKomunikasi Antara Proses
Komunikasi Antara Proses
Pelajaran 1 • Baris Gilir Mesej POSIX
Mengajar mq_open(), mq_send(), mq_receive(), dan penghantaran mesej berasaskan keutamaan. Menyediakan alternatif berstruktur dan ditaip kepada paip strim bait untuk IPC berorientasikan mesej.
Pelajaran 2 • Membandingkan dan Memilih Mekanisme IPC
Menganalisis pertukaran daya pemprosesan, kependaman, kerumitan, dan kegigihan merentas semua jenis IPC. Melengkapkan pelajar untuk membuat keputusan seni bina yang termaklum dalam reka bentuk sistem sebenar.
Pelajaran 3 • Semafor POSIX
Meliputi semafor bernama dan tidak bernama, sem_wait/sem_post, dan corak saling kucil. Menyediakan lapisan penyegerakan yang diperlukan untuk menggunakan memori kongsi dengan selamat.
Pelajaran 4 • Paip dan FIFO
Meliputi paip tanpa nama, penciptaan FIFO, dan corak pengeluar-pengguna untuk proses berkaitan dan tidak berkaitan. Memperkenalkan IPC strim bait sehala sebagai primitif koordinasi yang paling mudah.
Pelajaran 5 • Memori Kongsi POSIX
Menunjukkan shm_open(), ftruncate(), dan mmap() untuk mencipta kawasan memori kongsi antara proses. Membolehkan pertukaran data kopi-sifar daya pemprosesan tinggi dan menyediakan pelajar untuk penyegerakan berasaskan semafor.
Bab 6SembunyiSembunyikan butiranLihat butiranPengurusan Memori dan Memori Maya
Pengurusan Memori dan Memori Maya
Pelajaran 1 • Penggunaan mmap() Lanjutan
Menunjukkan MAP_ANONYMOUS, MAP_FIXED, halaman besar, dan madvise() untuk penalaan prestasi. Memanjangkan kemahiran mmap() daripada I/O fail kepada pengurusan memori tujuan umum.
Pelajaran 2 • Peruntukan Longgokan dan Pengumpul
Meliputi malloc(), calloc(), realloc(), free(), dan dalaman pengumpul glibc termasuk arena. Mengajar corak peruntukan yang betul dan cara mengelakkan kerosakan longgokan.
Pelajaran 3 • Perlindungan Memori dan Kebenaran
Mengajar mprotect() untuk menukar kebenaran halaman dan halaman pengawal untuk pengesanan limpahan penimbal. Membolehkan pelajar melaksanakan teknik pengerasan keselamatan di peringkat memori.
Pelajaran 4 • Seni Bina Memori Maya
Menerangkan jadual halaman, susun atur ruang alamat maya, dan antara muka /proc/pid/maps. Menyediakan model mental yang diperlukan untuk memahami kelakuan pengumpul dan semantik mmap().
Pelajaran 5 • Mengesan dan Membaiki Ralat Memori
Menggunakan Valgrind, AddressSanitizer, dan LeakSanitizer untuk mencari kebocoran, guna-selepas-bebas, dan limpahan. Membina kemahiran diagnostik yang diperlukan untuk mengekalkan keselamatan memori tahap pengeluaran.
Bab 7SembunyiSembunyikan butiranLihat butiranBenang POSIX dan Penyegerakan
Benang POSIX dan Penyegerakan
Pelajaran 1 • Penciptaan Benang dan Kitaran Hayat
Meliputi pthread_create(), atribut benang, keadaan lepas, dan pthread_join(). Mewujudkan model kitaran hayat benang yang menjadi asas kepada semua topik penyegerakan.
Pelajaran 2 • Kunci Baca-Tulis dan Penghadang
Meliputi rwlock untuk beban kerja berat baca dan pthread_barrier untuk penyegerakan fasa. Memanjangkan kit alat penyegerakan kepada corak di mana penguncian eksklusif terlalu kasar.
Pelajaran 3 • Pembolehubah Keadaan
Menunjukkan pthread_cond_wait(), kebangkitan palsu, dan corak gelung predikat. Membolehkan benang menunggu perubahan keadaan dengan cekap tanpa menunggu sibuk.
Pelajaran 4 • Mutex dan Bahagian Genting
Mengajar inisialisasi mutex, disiplin kunci/buka kunci, dan jenis mutex pemeriksaan ralat. Menyediakan alat utama untuk melindungi data kongsi daripada pengubahsuaian konkuren.
Pelajaran 5 • Storan Setempat Benang dan Keselamatan
Menerangkan __thread, pthread_key_t, dan keselamatan tak segerak-isyarat dalam program berbilang benang. Mengajar corak untuk keadaan setiap benang yang mengelakkan perkongsian dan mengurangkan pertikaian kunci.
Bab 8SembunyiSembunyikan butiranLihat butiranSoket dan Pengaturcaraan Rangkaian
Soket dan Pengaturcaraan Rangkaian
Pelajaran 1 • I/O Tidak Menyekat dan epoll
Melaksanakan pelayan dipacu peristiwa menggunakan soket tidak menyekat, epoll_create(), dan mod picu-tepi. Menskala pengendalian sambungan melebihi model satu-benang-per-sambungan.
Pelajaran 2 • Asas API Soket
Meliputi socket(), bind(), listen(), accept(), connect(), dan struktur alamat untuk IPv4 dan IPv6. Mewujudkan permukaan API teras yang menjadi asas kepada semua pengaturcaraan rangkaian.
Pelajaran 3 • Soket UDP dan Datagram
Meliputi sendto(), recvfrom(), dan corak komunikasi tanpa sambungan untuk UDP. Membandingkan penghantaran tidak boleh dipercayai UDP dengan TCP dan mengenal pasti kes penggunaan yang sesuai.
Pelajaran 4 • Pilihan Soket dan Ciri Lanjutan
Mengajar getsockopt()/setsockopt() untuk menala penimbal, keepalive, dan kawalan algoritma Nagle. Membolehkan penalaan prestasi dan kebolehpercayaan yang terperinci bagi sambungan rangkaian.
Pelajaran 5 • Pengaturcaraan Pelayan-Klien TCP
Melaksanakan pelayan dan klien gema TCP penuh dengan pengendalian dan penutupan sambungan yang betul. Mengajar komunikasi strim yang boleh dipercayai dan kepentingan mengendalikan hantar dan terima separa.
Sijil sah anda untuk tamat pengajian
Kursus ini sesuai untuk anda:
Pembangun backend yang ingin memahami apa yang berlaku di bawah framework mereka.
Jurutera terbenam yang beralih ke platform berasaskan Linux dan API POSIX.
Graduan sains komputer yang merapatkan jurang antara kerja kursus dan kerja sistem industri.
Jurutera DevOps yang ingin mendiagnosis isu peringkat kernel tanpa meneka.
Pengaturcara C hobi yang bersedia untuk melangkaui tutorial ke interaksi OS sebenar.
Penyelidik keselamatan yang perlu memahami dalaman Linux untuk mencari kelemahan.
Apa Kata Pelajar Kami
Kelas-kelas beliau sangat sempurna. Saya membeli pakej setahun dan akhirnya, saya berpeluang mengikuti pelbagai topik yang menarik minat saya tanpa perlu menukar platform... terima kasih atas semua yang anda lakukan, saya sudah mengesyorkan anda kepada orang lain...

Saya suka bagaimana pelajaran-pelajaran terus ke inti perkara dan bagaimana saya boleh menukar bab dan melangkau kandungan yang tidak saya perlukan.

Saya suka kandungan dan cara persembahan serta transkripsi video, yang mempercepatkan proses!

Platform ini pantas, mudah digunakan. Kepelbagaian kandungan dan video tambahan sangat membantu dalam pembelajaran.

Latihan utama
Soalan Lazim
Siapakah Dedika?
Adakah sijil ini sah di Malaysia?
Adakah kursus percuma?
Apakah beban kerja kursus?
Bagaimanakah bentuk kursus?
Bagaimanakah kursus berfungsi?
Berapakah tempoh kursus?
Berapakah kos atau harga kursus?
Apakah itu kursus EAD atau kursus dalam talian dan bagaimana ia berfungsi?
Kursus PDF




















