Tuesday, November 4, 2014

Apa Itu Proses Pada Linux



Kembali menulis di blog kesayangan saya dan membagikan sedikit pengetauhan saya tentang apa yang saya dapat beberapa hari ini merupakan sebuah kesempatan yang berharga bagi saya. ^_^
Kali ini saya akan menjelaskan tentang proses. Apa itu proses???
Oke langsung saja... 
Proses merupakan program yang sedang di eksekusi, dalam sistem operasi ada banyak proses yang berlangsung, bahkan kejadian kerja sistem operasi sendiri merupakan kumpulan dari beberapa proses.
Proses-proses itu tentunya tidak asal berjalan, melainkan harus ada instruksi khusus dari user maupun secara ototmatis, seperti daemon.

Proses sendiri mempunyai identitas unik yang biasa disebut Proses ID (PID) yang merupakan identitas yang membedakan setiap proses yang ada pada sistem operasi. Dan setiap proses pasti mempunyai proses induk atau parrent proses yang biasa disebit (PPID). PPID merupakan orang tua dari PID, jadi secara tidak langsung PID merupakan child proses.

Setiap pembuatan proses baru, pasti membutuhkan PID baru, karena mereka tidak boleh sama antar satu dengan yang lain. Dalam bahasa C, ada sebuah library khusus yang digunakan untuk mengakses module-module proses yaitu <sys/types.h>.
Dan berikut adalah perintah tentang proses :
- system call getpid() : untuk mendapatkan Proses ID dari proses yang sedang berjalan.
- system call get ppid() : untuk mendapatkan Parrent Proses ID dari proses yang sedang berjalan. 

Contoh menampilkan PID & PPID :













Selain ada 2 macam proses diatas, yaitu child proses dan parrent proses, masih ada macam proses lain, diantaranya yaitu zombie proses dan orphan proses.
Untuk zombie proses sendiri adalah sebuah proses (child process) yang telah mati/dimatikan tetapi keberadaannya tetap ada. Hal ini dikarenakan proses induk (parent process) tidak mematikan proses anaknya dengan sempurna. Proses zombie ini akan mati apabila parent prosesnya mati. 
Dan untuk orphan proses adalah  kebalikan dari zombie proses, yaitu dimana proses induknya telah dimatikan, sedangkan untuk proses anaknya masuh hidup.

Sebuah pada sistetm operasi (Linux) dapat diberhentikan dengan perintah kill. Hal ini ditujukan agar proses tersebut tidak mengganggu tujuan aplikasi lain dari user tersebut. Contoh perintahnya adalah dengan kill [option] [pid], perintah ini dijalankan pada terminal Linux, sebelumnya untuk bisa mengetauhi berapa pid nya bisa melihat pid nya dahulu dengan perintah psaux di terminal.

Jika sebelumnya ada opsi untuk menampilkan PID & PPID, dan mematikan proses. Kali ini ada opsi lain yaitu membuat proses baru menggunkan fungsi fork(). Ketika sebuah program memanggil fungsi fork(), maka secara otomatis akan membuat duplikasi proses (child proses). 

Berikut contoh implementasi dari proses :

Dalam pembuatan sebuah proses yang bertingkat lebih lanjut, membutuhkan file descriptor yang berfungsi sebagai identifier dari file yang dibuka oleh setiap proses. File descriptor standar ada 3 macam, yaitu "stdin" yang bernilai 0, "stdout" yang bernilai 1, dan "stderr" yang bernilai 2.

Selain membutuhkan File descriptor, proses lanjut juga membutuhkan sebuah system call, yaitu cara program untuk memanggil fungsi yang disediakan oleh kernel dari sistem operasi. Contohnya ada open(), close(), fork(), umask() dsb. Untuk umask() sendiri berfungsi untuk pengolahan file permission.
Begitulah sedikit sharing-sharing saya mengenai apa itu proses, semoga bermanfaat bagi semua.

No comments:

Post a Comment