Pemrograman Linux Menjadi Mudah – Panduan Lengkap Dengan Sumberdaya Untuk Pemula

Penyingkapan: Dukungan Anda membantu menjaga situs tetap berjalan! Kami mendapatkan biaya referensi untuk beberapa layanan yang kami rekomendasikan pada halaman ini.


Linux adalah sistem operasi, platform, ekosistem, dan budaya. Sementara dominasi yang berkelanjutan dari Windows dan Mac OS untuk komputasi desktop menyebabkan konsumen yang belum tahu untuk menganggap bahwa Linux adalah semacam opsi pinggiran untuk Geeks yang ekstrim dan mereka yang tidak ingin membayar untuk sistem operasi, kebenarannya adalah bahwa Linux adalah sistem operasi yang paling banyak digunakan dan paling penting di planet ini. Itu memberi kekuatan pada web, memberi kekuatan pada infrastruktur kita, memberi kekuatan pada superkomputer terbesar di dunia.

Mengembangkan untuk Linux bisa menjadi sedikit tantangan, tetapi juga bisa sangat bermanfaat. Panduan singkat ini akan memberi Anda pengantar informasi dan sumber daya yang Anda butuhkan untuk memulai pemrograman Linux. Ini mencakup empat bidang pengembangan Linux: berkontribusi pada kernel, membangun modul baru, mengembangkan aplikasi untuk Linux, dan skrip Shell.

Pengembangan kernel Linux

Kernel Linux, mungkin, adalah proyek pengembangan perangkat lunak yang paling ambisius di planet ini. Rilis stabil baru keluar kira-kira setiap tiga bulan, dan setiap rilis melibatkan ribuan pengembang yang bekerja di puluhan negara.

Terlibat dalam pengembangan kernel adalah, secara paradoks, keduanya lebih mudah dari yang seharusnya, dan juga sangat sulit. Itu lebih mudah daripada yang seharusnya, karena tidak ada proses perekrutan, tidak ada wawancara, tidak ada birokrasi. Siapa pun yang tahu apa yang mereka lakukan dipersilakan untuk mengembangkan inti, dan mengirimkan tambalan. Di sisi lain, ini juga sangat sulit karena kernelnya sangat rumit. Selain itu, komunitas pengembangan kernel, meskipun cukup ramah dalam beberapa hal, tidak mentoleransi shenanigans amatir dengan sangat baik. Meskipun membantu memiliki kulit yang tebal, tidak ada yang benar-benar menggantikan untuk benar-benar mengetahui apa yang Anda lakukan. Mengembangkan intinya adalah bisnis yang cukup serius, melibatkan ilmu komputer yang cukup serius. Jika Anda baru memulai pengembangan sistem operasi, ini bukan tempat yang tepat untuk memulai.

Apa yang perlu Anda ketahui

Keterampilan Pengembangan

Pemrograman kernel Linux dilakukan dalam C. Bukan C ++, bukan Objective-C, bukan C #. Jadi, hal pertama yang perlu Anda lakukan adalah mempelajari bahasa pemrograman C dengan sangat baik.

Anda juga perlu memiliki pemahaman yang mendalam tentang teori sistem operasi, terutama yang berkaitan dengan sistem Linux. Lebih lanjut tentang itu di bagian selanjutnya.

  • Bahasa Pemrograman C: panduan definitif untuk bahasa tersebut. Juga tersedia dalam bentuk PDF gratis.
  • Konsep Sistem Operasi: pengantar menyeluruh untuk teori dan praktik pengembangan sistem operasi.

Memahami Linux

Secara alami, Anda perlu memahami Linux baik sebagai pengguna maupun sebagai pengembang. Ini termasuk memiliki pemahaman yang cukup mendalam tentang bagaimana kernel Linux terstruktur, dan bagaimana berbagai sub proyek cocok bersama.

  • Antarmuka Pemrograman Linux
  • Linux Kernel Pemula

Proses dan Budaya

Akhirnya, Anda perlu memahami bagaimana proses pengembangan Linux sebenarnya bekerja. Ini termasuk merasakan komunitas secara keseluruhan, budaya, dan bagaimana berbagai anggota komunitas pembangunan saling berhubungan satu sama lain. Juga, itu berarti memahami kontrol versi terdistribusi, dan siklus rilis pengembangan.

  • Cara Berpartisipasi dalam Komunitas Linux: bacaan wajib. Mulai di sini.
  • Three Ways for Beginners untuk Berkontribusi ke Linux Kernel: panduan singkat dan ramah untuk terlibat.
  • Hal Resmi:
    • Arsip Kernel Linux
    • Mailing List Kernel Linux
    • Pelacak Bug Kernel
  • Menjadi orang bodoh di linux-kernel: panduan tentang bagaimana tidak berperilaku di milis Linux Kernel (atau yang lainnya). (Rekomendasi kami: mengintai setidaknya enam bulan sebelum memposting apa pun.)

Mengembangkan Modul Kernel

Sebelum terjun ke pengembangan inti pada kernel Linux, cara yang baik untuk menambah pengetahuan dan keahlian Anda dengan pemrograman Linux adalah bekerja pada modul kernel. Ini adalah perangkat lunak yang dikembangkan secara independen yang bekerja dengan kernel untuk berfungsi sebagai sistem operasi yang lengkap. Modul kernel mencakup hal-hal seperti driver perangkat untuk berbagai periferal perangkat keras, serta manajer file dan fitur sistem operasi tingkat rendah lainnya.

Hambatan masuk untuk bekerja pada modul kernel, secara umum, jauh lebih rendah daripada mereka yang bekerja pada kernel Linux. Ada ratusan modul, yang dikembangkan oleh banyak tim dan individu yang berbeda, sehingga tidak ada satu pun penjaga gerbang yang mengatur nada untuk pengembangan. Selain itu, taruhannya sedikit lebih rendah dengan pengembangan modul.

Apa yang perlu Anda ketahui

Modul kernel, seperti kernel itu sendiri, biasanya ditulis dalam C. (Ada beberapa perdebatan tentang pengembangan modul kernel di C ++, dan ada beberapa cara off-the-wall untuk mencapai hal ini, tetapi tentu saja bukan cara normal juga direkomendasikan.)

Jelas, jika Anda menulis driver perangkat untuk perangkat keras, Anda perlu tahu sedikit tentang jenis perangkat keras, dan firmware yang tertanam di dalamnya. Anda juga membutuhkan pemahaman yang layak tentang kernel berbasis Linux, dan cara berinteraksi dengan modul kernel. Terakhir, jika Anda berkontribusi pada modul kernel yang ada, Anda perlu mempelajari tentang prosedur dan siklus pengembangannya.

  • Panduan Pemrograman Modul Kernel Linux: panduan yang sangat menyeluruh.
  • Cara Menulis Modul Kernel Linux Anda Sendiri dengan Contoh Sederhana: tutorial walk-through yang bagus.
  • Menulis Sistem File di Kernel Linux: tutorial langkah-demi-langkah yang relatif mudah diikuti.

Juga lihat daftar sumber daya di atas di bagian Pengembangan Kernel.

Mengembangkan Aplikasi Untuk Sistem Operasi Linux

Setelah kita keluar dari gulma pengembangan sistem operasi, dan mulai berbicara tentang mengembangkan aplikasi aktual untuk sistem operasi Linux, pekerjaan menjadi sedikit lebih mudah dan kita memiliki lebih banyak pilihan tentang bagaimana untuk melanjutkan. Kompiler dan interpreter untuk hampir semua bahasa pemrograman tersedia untuk platform Linux, seringkali lebih dari satu untuk bahasa tertentu.

Apa yang perlu Anda ketahui

Jika Anda terbiasa mengembangkan untuk Windows atau Mac OS, kejutan terbesar ketika mengembangkan untuk Linux mungkin adalah berbagai macam lingkungan Linux. Ada puluhan distro Linux, dan setiap pengguna Linux memiliki kemampuan untuk mengubah cukup banyak tentang cara kerja lingkungan khusus mereka. Ini berarti, antara lain, bahwa Anda harus memperhatikan manajemen ketergantungan lebih dari yang seharusnya Anda perlukan.

Perbedaan lain, terutama dibandingkan dengan sistem Windows adalah bahwa banyak pengguna Linux lebih suka untuk mengkompilasi aplikasi mereka dari kode sumber. Ini terjadi pada Mac OS juga tetapi dengan frekuensi lebih sedikit. Di dunia Linux, sejumlah besar pengguna akan selalu lebih suka mengkompilasi aplikasi dari sumber, daripada menggunakan paket installer. Ini mungkin memengaruhi cara Anda berpikir tentang pengembangan dan distribusi perangkat lunak Anda.

Sebagian besar pengembangan Linux-sentris berlangsung dalam C, C ++, Perl, atau Python. Mempelajari bahasa-bahasa itu dengan baik, dan menyelam ke sumber daya yang disebutkan di atas (Kernel dan Modul) dan di bawah (skrip) akan banyak membantu.

  • Pemrograman C di Linux: pengantar dan tutorial menyeluruh tentang pemrograman aplikasi Linux dalam bahasa C..
  • Pelatihan Pengembang Linux: kursus berbayar tentang pengembangan Linux, dari Linux Foundation.

Scripting di Linux

Mungkin “level terendah” pemrograman di Linux adalah shell scripting. Namun, ini tidak lebih dari “pemrograman” daripada yang lainnya. Shell scripting di Linux adalah cara terbaik untuk mengotomatisasi tugas-tugas rutin dan menyelesaikan lebih banyak pekerjaan dalam waktu yang lebih singkat. Selain itu, menggali skrip shell tingkat lanjut akan memberi Anda pengetahuan dan pemahaman yang lebih dalam tentang sistem operasi Linux. Shell scripting adalah apa yang memisahkan konsumen Linux pemula dari pengguna Linux tingkat lanjut.

Apa yang perlu Anda ketahui

Meskipun ada opsi lain, bahasa skrip yang paling umum adalah Bash. Bahkan jika Anda berencana untuk pindah ke bahasa scripting yang lebih maju, mendapatkan pegangan di Bash akan membuat Anda memulai dengan benar untuk semua jenis skrip sistem operasi. Kebanyakan orang yang benar-benar masuk ke dalam scripting sebagai cara untuk meningkatkan produktivitas, menggunakan Python atau Perl untuk sebagian besar pekerjaan mereka. Setelah Anda menabrak dinding dengan apa yang dapat Anda capai dengan mudah di Bash, Anda mungkin ingin pindah ke salah satu bahasa itu.

Sumber Daya Bash

  • Panduan Bash untuk Pemula
  • Panduan Script Bash Lanjutan
  • Linux Shell Scripting Tutorial

Sumber Daya Python

  • Pelajari Python dengan Cara Keras: salah satu pengantar paling populer untuk pengembangan Python.
  • Mengotomatiskan Hal-hal yang Membosankan dengan Python: Pemrograman Praktis untuk Pemula Total: pengantar skrip yang bagus (sebagai lawan dari “pengembangan”) di Python. Juga tersedia online gratis sebagai kursus video.

Sumber Daya Perl

  • Pengantar tentang Perl
  • Cara menulis skrip shell dalam Perl
  • UNIX, Shell Scripting dan Perl Pendahuluan

Sumber Daya Linux Umum

Yayasan Linux

Linux.org: forum sentral untuk semua hal Linux.

Proyek Dokumentasi Linux: perpustakaan raksasa panduan Linux tentang semua mata pelajaran di atas, ditambah banyak hal lainnya. Ini adalah salah satu tempat terpenting untuk mencari informasi Linux yang mendalam.

Ringkasan

Itu adalah perjalanan yang liar! Dari pemrograman kernel Linux sampai ke shell scripting. Ada banyak cara untuk memprogram sistem operasi Linux. Dengan panduan ini, Anda harus baik-baik saja.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me