Sebelumnya kita sudah membahas sedikit dan singkat tentang linux. Nah untuk bahasan sekarang, saya akan berbagi tentang materi daemon dan IPC yang ada di linux :D
Oke kita mulai!
*Pertama, apa itu daemon?
In multitasking computer operating systems, a daemon (/ˈdiːmən/ or /ˈdeɪmən/) is a computer program that runs as a background process, rather than being under the direct control of an interactive user. (Sumber: http://en.wikipedia.org/wiki/Daemon_%28computing%29).
Secara kasar dan singkatnya sih, kalau di windows, daemon ini namanya service. Daemon, kalau diartikan dalam bahasa indonesia adalah demit atau hantu. Nah, kenapa bernama seperti itu? Karena daemon merupakan suatu proses, yang berjalan di belakang layar, tanpa diketahui oleh user. Daemon pada umumnya dimulai pada saat proses booting sebagai proses, seperti halnya perangkat lunak lainnya.
Oke, setelah basa-basi tentang sedikit pengertian untuk daemon, sekarang langsung saja kita praktekkan cara membuat daemon ini. :D
*Kedua, apa yang kita butuhkan dalam membuat daemon?
1. Daemon, harus menjalankan satu hal dan hal tersebut harus berjalan dengan baik.
2. Daemon tidak boleh memiliki komunikasi secara langsung dengan user melalui terminal.
3. Daemon harus bersifat aman dari utak atik user(tidak bisa secara gampangnya di delete oleh user). Maka, seharusnya, daemon itu dimasukkan lewat root.
4. Oke, sudah siap, lanjut pembuatan daemon!
*Ketiga, membuat daemon
1. Matikan proses induk. (Fork off the parent process)
2. Ubah mode file mask(Change the file mode mask).
umask(0) di atas maksudnya adalah, kita akan mendapat akses penuh dari file yang dibuat oleh daemon(karena memilih angka 0).
3. Buka log untuk penulisan.
4. Buat sebuah Session ID (SID) unik (Create a new SID for the child process).
5. Ubah direktori kerja saat ini ke tempat yang aman (Change the current working directory). seperti yang kita tulis di bagian sebelumnya, daemon harus di root, caranya:
6. Tutup file descriptor standar (Close out the standardfile descriptors).
7. Terakhir, masukkan kode untuk daemon. Nah, untuk memasukkan kodingan ke daemon ini, kita perlu inisialisasi yaitu memberi tahu linux bahwa program kita merupakan daemon, kemudian mengatur tugas daemon. Setelah inisialisasi, yang kita butuhkan selanjutnya adalah perulangan (big loop) yaitu kode utama daemon berada dalam perulangan tak terbatas dengan interval tertentu. Supaya tidak bingung, langsung saja liat prakteknya dibawah:
Dan, pembuatan daemon pun selesai :D
Kita lanjutkan ke pembahasan selanjutnya yaitu tentang IPC.
*Keempat, apa itu IPC?
In computing, inter-process communication (IPC) is a set of methods for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. (Sumber: http://en.wikipedia.org/wiki/Inter-process_communication).
Nah, kalau kita terjemahkan, jadi IPC adalah metode pertukaran data antara sejumlah proses, yang berjalan melalui koneksi jaringan.
*Kelima, apa saja metode dalam IPC?
1. File
Sebuah catatan yang disimpan pada disk, atau catatan tersintesis yang dituntut oleh file server, yang dapat diakses melalui nama dari sebuah proses.
2. Signal
Sebuah sistem pesan yang dikirim dari satu proses ke proses lainnya, biasanya tidak digunakan untuk bertukar informasi, tetapi malah memberikan perintah.
3. Pipe
Sebuah aliran data dua arah yang dihubungkan melalui standar input dan output dan caranya adalah dengan membaca karakter demi karakter.
4. Named pipe
Sebuah pipa yang diimplementasikan melalui file pada sistem file.
5. Shared memory
Beberapa proses yang diberikan akses ke memori yang sama, yang memungkinkan semua proses tersebut untuk mengubahnya dan dapat membaca perubahan apa saja yang dilakukan oleh proses lainnya.
6. Message queue
Sebuah aliran data anonim yang mirip dengan metode pipe, tetapi pertukaran informasinya terjadi dalam satu paket.
7. Memory map
Sebuah file dipetakan ke RAM dan dapat dimodifikasi dengan mengubah alamat memori secara langsung bukanya mengeluarkan output ke aliran(stream), malahan menshare keuntungan bersama sebagai standard file.
Di atas, telah dijelaskan definisi-definisi singkat dari masing-masing IPC. Sekarang, bagaimana cara membuat IPC tersebut? Oke langsung saja, kita ambil saja shared memory.
*Keenam, membuat shared memory
yang kita butuhkan dalam program, adalah fungsi shmid, shmget, dan shmat. Langsung saja bisa diliat dibawah ini, pemrograman menggunakan shared memory beserta penjelasan singkat di dalamnya:
Selesai sudah pembahasan tentang daemon dan IPC pada postingan ini, terima kasih telah membaca, dan sampai jumpa :D
Tidak ada komentar:
Posting Komentar