Penciptaan Proses pada Sistem Operasi


Haloo.. jumpa lagi.. uda lama nih ga nulis di blog..๐Ÿ˜€. kali ini saya mau sharing ilmu aja deh, sekalian posting tugas kuliah juga.. hehe .

Pada kesempatan ini yang mau saya jelasin dan coba sharing adalah tentang penciptaan proses pada sistem operasi. Cekidot gan .

Sebelum mengetahui lebih dalam tentang penciptaan proses, lebih baik kita tahu dulu apa itu proses. Proses merupakan konsep pokok pada sistem operasi. Koq bisa?? Jelas karena salah satu tugas sistem operasi adalah bagaimana mengatur proses-proses sehingga dapat berjalan pada sebuah sistem. Jadi apa itu proses??

Proses adalah program yang sedang dijalankan atau diekseskusi. Di sumber lain, proses dikatakan sebagai unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.

Lalu bagaimana proses diciptakan??

Ada beberapa penyebab diciptakannya sebuah proses pada sistem operasi.

Kejadian yang dapat menyebabkan penciptaan proses:

  • Pada lingkungan batch, sebagai tanggapan atas pemberian suatu kerja (job)
  • Pada lingkungan interaktif, ketika pemakai baru berusaha logon
  • Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, SO dapat menciptakan proses yang akan mengelola pencetakan itu
  • Proses menciptakan proses lain (proses anak)
    • Proses yang menciptakan child process disebut proses induk (parent process)
    • Child process dapat menciptakan proses baru
    • Proses-proses dapat membentuk pohon hirarki proses

Berikut tabel alasan penciptaan proses.

Penyebab penciptaan

Deskripsi

Terdapat batch job baru

SO sedang kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya

Satu pemakai interaktif logon

Seorang pemakai pada satu terminal sedang melakukan logon ke sistem

SO menciptakan proses untuk memberi layanan

SO menciptakan proses untuk memenuhi satu fungsi pada program pemakai, tanpa mengharuskan pemakai menunggu

Proses menciptakan proses anak

Untuk mencapai modularitas atau mengeksploitasi kongkurensi, program pemakai memerintahkan pembuatan sejumlah proses

ย 

Setelah tahu penyebab dari proses tersebut diciptakan, selanjutnya kita akan mencoba cari tahu aktivitas apa aja sih yang terdapat dalam penciptaan proses tersebut??

Aktivitas yang terlibat dalam penciptaan proses:

  • Menamai (memberi identitas) proses
  • Menyisipkan proses pada senarai proses atau tabel proses
  • Menentukan prioritas awal proses
  • Menciptakan PCB
  • Mengalokasikan sumber daya awal bagi proses

Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process membentuk proses turunan (child process) yang dilakukan oleh proses induk parent process. Proses turunan tersebut juga mampu membuat proses baru sehingga ke semua proses-proses ini pada akhirnya membentuk pohon proses.

Nah, uda mulai ngerti kan penciptaan proses itu apa?? Sekarang kita coba lebih dalam pada sistem operasi UNIX.

Sistem operasi UNIX mempunyai system call fork yang berfungsi membuat proses baru. Proses yang memanggil system call fork ini akan dibagi jadi dua, yaitu proses induk dan proses turunan yang identik. Analoginya seperti pembelahan sel, dimana satu sel membelah jadi dua sel yang identik. Proses induk dan turunan independen satu sama lain dan berjalan bersamaan. Return code dari system call ini adalah suatu integer. Untuk proses anak return code-nya adalah 0 sementara untuk proses induk return code-nya adalah nomor identifikasi proses (PID) dari turunannya. Ada juga system call exec yang berguna untuk membuat proses turunan yang terbentuk memiliki instruksi yang berbeda dengan proses induknya. Dengan kata lain, proses induk dan proses turunan tidak lagi identik tapi masing-masing punya instruksi berbeda.

Kalo sistem operasi lainnya gimana??

Bila UNIX menggunakan kemungkinan pertama (proses baru merupakan duplikasi induknya) maka sistem operasi DEC VMS menggunakan kemungkinan kedua dalam pembuatan proses baru yaitu setiap proses baru memiliki program yang diload ke ruang alamatnya dan melaksanakan program tersebut. Sedangkan sistem operasi Microsoft Windows NT mendukung dua kemungkinan tersebut. Ruang alamat proses induk dapat diduplikasi atau proses induk meminta sistem operasi untuk me-load program yang akan dijalankan proses baru ke ruang alamatnya.

Nah, untuk yang terakhir saya akan mencoba berbagi mengenai konsep penciptaan proses pada sistem operasi Linux.

Konsep pembuatan proses pada Linux:

  • Setiap proses diberi nomor khusus sebagai identifikasi yang disebut process identification atau PID berupa angka integer unik.
  • Jika proses selesai (terminated) maka semua sumber daya yang digunakan termasuk PID dibebaskan kembali.
  • Proses dibuat menggunakan system call fork() yang sering disebut forking proses.
  • System call fork() mengkopi proses pemanggil sehingga akan terfdapat 2 proses yaitu:
  1. Proses pemanggil disebut PARENT.
  2. Proses hasil kopian disebut CHILD.
  • Proses CHILD identik dengan proses PARENT-nya tetapi memiliki PID yang berbeda.
  • Setelah proses baru (child) berhasil dibuat eksekusi dilanjutkan secara normal di masing-masing proses pada baris setelah pemanggilan system call fork().
  • Proses pemanggil (PARENT) dapat melakukan forking proses lebih dari satu kali sehingga memungkinkan terdapat banyak proses CHILD yang dieksekusi.
  • Proses CHILD dapat melakukan forking proses seperti halnya PARENT sehingga dapat terbentuk struktur pohon proses.

Akhirnya selesai juga pembahasan yang dapat saya berikan tentang penciptaan proses kali ini. Ilmunya baru sebatas ini sih.. hehe . jadi harap maklum saja kalo masih banak yang kurangnya. Semoga bisa bermanfaat bagi yang membacanya. J

Sampai jumpa lagi di postingan selanjutnya ya..๐Ÿ˜€

3 thoughts on “Penciptaan Proses pada Sistem Operasi

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s