Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat
komputer berjalan, terdapat banyak proses yang berjalan secara
bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.
Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh
sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O.
Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari
proses induk yang membagi-bagikan sumber daya kepada setiap proses
turunannnya, atau proses turunan dan proses induk berbagi sumber-daya
yang diberikan sistem operasi.
Pengelolaan Proses
Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa
sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat
berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.
Perkembangan sistem komputer mendatang adalah menuju ke sistem multi-
processing, multiprogramming, terdistribusi dan paralel yang
mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang
bersamaan. Hal demikian merupakan masalah yang perlu perhatian dari
perancang sistem operasi. Kondisi dimana pada saat yang bersamaan
terdapat lebih dari satu proses disebut dengan kongkurensi
(proses-proses yang kongkuren).
Proses-proses yang mengalami kongkuren dapat berdiri sendiri
(independen) atau dapat saling berinteraksi, sehingga membutuhkan
sinkronisasi atau koordinasi proses yang baik.
Untuk Threads itu sendiri ialah model proses yang didiskusikan
sejauh ini telah menunjukkan bahwa suatu proses adalah sebuah program
yang menjalankan eksekusi thread tunggal. Sebagai contoh, jika sebuah
proses menjalankan sebuah program Word Processor, ada sebuah thread
tunggal dari instruksi-instruksi yang sedang dilaksanakan. Kontrol
thread tunggal ini hanya memungkinkan proses untuk menjalankan satu
tugas pada satu waktu. Banyak sistem operasi modern telah memiliki
konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki
eksekusi multithreads, agar dapat dapat secara terus menerus
mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses
yang sama. Maka sistem operasi tersebut memungkinkan proses untuk
menjalankan lebih dari satu tugas pada satu waktu. Pada Bagian 2.5 akan
dibahas proses multithreaded.
Status proses terdiri dari :
- New: proses sedang dibuat.
- Running: proses sedang dieksekusi.
- Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu seperti menunggu untuk menyelesaikan I/O atau menerima signal).
- Ready: proses menunggu jatah waktu dari CPU untuk diproses.
- Terminated: proses telah selesai dieksekusi
Untuk
memkasimalkan pengguna CPU ada yang di sebut penjadwalan proses agar
proses yang di jalankan berjalan tanpa hambatan. Ada beberapa macam
penjadwalan proses yaitu :
1. Penjadwalan Antrian
Ketiaka
proses memasuki system mereka akan di letakkan pada antrian job.
Antrian ini terdiri dari seluruh prosesdalam system. Proses lainnya akan
menunggu pada memori utama dan siap untuk di eksekusi ketika proses
pertama selesa daliaksanakan.
2. penjadualan Scheduler
Sistem
operasi harus memilih, untuk keperluan penjadualan, memproses
antrian-antrian ini dalam cara tertentu. Pemilihan proses dilaksanakan
oleh penjadual yang tepat/ cocok. Dalam sistem batch, sering ada lebih
banyak proses yang diserahkan daripada yang dapat dilaksanakan segera.
Proses ini dipitakan/ disimpan pada suatu alat penyimpan masal (biasanya
disket), dimana proses tersebut disimpan untuk eksekusi dilain waktu.
3. Alih Konteks ? Switch Context
Alih
konteks sebuah proses digambarkan dalam PCB suatu proses; termasuk
nilai dari CPU register, status proses. Ketika alih konteks terjadi,
kernel menyimpan konteks dari proses lama kedalam PCB nya dan mengisi
konteks yang telah disimpan dari process baru yang telah terjadual untuk
berjalan. Pergantian waktu konteks adalah murni overhead, karena sistem
melakukan pekerjaan yang tidak perlu. Kecepatannya bervariasi dari
mesin ke mesin, bergantung pada kecepatan memori.
SUMBER :
- http://flutokek.blogspot.com/2012/04/proses-dan-thread-pada-os_10.html
- http://yogapw.wordpress.com/2009/10/05/pengertian-proses-dalam-sistem-operasi/
- kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/.../bahan-bab3.pdf
- http://ramdoniakbar.blogspot.com/2012/04/proses-dan-thread-dalam-os.html