Menurut definisi dari X/Open Spesification, sebuah proses adalah sebuah address space dan thread tunggal pengendali yang bekerja dalam address space tersebut dan setiap resource sistem yang dibutuhkannya.

Pada dasarnya sebuah proses adalah sebuah program yang berjalan. Program yang berjalan ini dibutuhkan untuk menangani segenap resource sistem terutama yang berkenaan dengan hardware atas perintah user [manusia atau user program lain yang terkait]. Inilah tiga unsur penting sistem komputer [user, program dan hardware]. Sistem koordinasi di ataslah yang menjadi fungsi terpenting dari suatu sistem operasi.

Untuk sistem operasi moern yang mengadopsi standar sistem multitasking, multithreading, multiuser dan networking base seperti UNIX [baca FreeBSD], pengaturan atau manajemen antar proses-proses yang terlibat sedemikian kompleks.

Baiklah kita mulai dengan struktur proses.

 

Pada contoh di atas terdapat dua user yang memerintahkan sistem untuk mencari dan menampilkan suatu kata dalam suatu file dengan perintah grep. Untuk keperluan ini sistem operasi membuat dua proses, masing-masing satu untuk user neil dan satu lagi untuk user rick. Untuk user neil, sistem mengalokasikan PID 101, sedangkan untuk user rick diberikan PID berbeda [102]. PID adalah process identifier yang merupakan bilangan unik yang biasanya berupa bilangan bulat antara 2-32000. Ketika sebuah proses dijalankan, dia akan ditempatkan dilokasi yang tak terpakai dengan memulainya dari 2. Jadi PID yang sudah tidak terpakai, bisa digunakan oleh proses berikutnya. Dengan ini efisiensi alokasi PID bisa dilakukan karena banyak proses yang hanya perlu eksis sebentar seperti perintah grep yang setelah menampilkan hasil pencariannya ke layar dia tidak lagi eksis. PID biasanya akan dipertahankan untuk proses-proses yang berjalan sebagai daemon alias backgroud process.

Pada contoh di atas terlihat bahwa untuk sebuah proses akibat eksekusi perintah grep oleh user neil bukan hanya file trek.text yang terlibat, grep code dan data yang dicari [kirk], namun juga C library. Perintah grep di atas sebenarnya terdiri dari membuka file trek.text dari disk, menampungnya di area memory sebagai read-only, lalu mencari string data [kirk] sebagai suatu variabel s dalam data space proses ini. Setelah ketemu akan ditampilkan ke layar. Untuk itu semua dia membutuhkan C library.

Referensi http://snap.nlc.dcccd.edu

FreeBSD…bisa dipahami.

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa