Senin, 20 Desember 2010

Deskripsi Proses

Deskripsi Proses
¨  Proses adalah program yang sedang dieksekusi, termasuk didalamnya nilai-nilai dalam program counter, register, dan variabel-variabel yang ada.
¨  Sistem operasi mengontrol kejadian-kejadian yang ada dalam sistem komputer.
¨  Sistem operasi menjadwal dan mengirimkan  proses untuk dieksekusi oleh proseseor, mengalokasikan sumber daya untuk proses dan menanggapi permintaan program pemakai untuk layanan-layanan dasar.
Perbedaan program dan proses :

Istilah yang berkaitan dgn proses :

¨  Multiprogramming (multitasking)
                Manajemen banyak proses pada satu pemroses (processor). 
                Komputer pribadi (workstation) adalah sistem pemroses tunggal yang menjalankan sistem operasi multiprogramming seperti MS Windows. Banyak proses dijalankan bersamaan, masing-masing proses mendapat bagian memori dan kendali tersendiri. Sistem operasi mengalih-alihkan pemroses di antara proses-proses tersebut.  Program-program yang dijalankan sebenarnya bersifat :
•  saling tak bergantung (independen)
•  satu program pada satu saat (one program at any instant)

¨  Multiprocessing
                Manajemen banyak proses di komputer multiprocessor (banyak pemroses/processor di dalamnya). Dulunya sistem ini hanya terdapat di sistem besar, mainframe, dan minikomputer.
                Saat ini workstation telah dilengkapi multiprocessor.
¨  Distributed Processing
                Manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi).
DIAGRAM STATE PROSES

¨  Secara garis besar ada 3 state/status dasar/utama pada proses :

Hubungan ke-3 state dasar digambarkan dengan diagram state proses :

DIAGRAM STATE PROSES
¨  Secara garis besar ada 3 state/status dasar/utama pada proses :

¨  Hubungan ke-3 state dasar digambarkan dengan diagram state proses :

Keterangan perpindahan state :
¨  Process blocks for input
                Terjadi pada saat sebuah proses menemukan bahwa dirinya tidak bisa dilanjutkan karena proses tidak mendapatkan apa yang diinginkan Æ input tidak tersedia
                Contoh : saat proses cetak (print), karena kertas/tinta habis maka proses cetak berhenti/menunggu
¨  Scheduler picks another process 
                Scheduler/penjadwal memutuskan bahwa sebuah proses sudah berjalan terlalu lama dan sudah waktunya untuk memanggil proses yang lain
¨  Scheduler picks this process 
                Proses-proses yang lain sudah mendapatkan jatahnya, dan tiba giliran proses yang tertunda untuk dijalankan.
¨  Input becomes available
                Kejadian di luar yang sedang ditunggu sebuah proses sudah terlaksana yaitu misal sebuah proses yang menunggu input dari sebuah output proses yang lain. Bila tidak ada proses yang sedang berjalan, maka transisi 3 segera dilaksanakan dan proses segera berjalan/menunggu di state ready sampai CPU tersedia
Misal : proses mencetak tadinya berhenti karena menunggu kertas dimasukkan, setelah kertas dimasukkan proses mencetak dapat dilanjutkan 



Diagram state dengan 5 status : pengembangan dari 3 status


¨  Hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun, banyak proses yang dapat berstatus Ready atau Waiting.

¨  Jadi ada tiga kemungkinan bila sebuah proses memiliki status Running :
                1.  Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated. 
                2.  Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
                3.  Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan I/O) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.




PCB (Process Control Block)
¨  Setiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) – juga disebut sebuah control block.

PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik,termasuk hal-hal di bawah ini:
1.  Status Proses 
                Status new, ready, running, waiting, terminated, dan juga banyak lagi.
2.  Program Counter 
                Suatu stack yang berisi alamat berikutnya yang akan dieksekusi oleh proses tersebut
3.  CPU register 
                Register tersebut termasuk accumulator, register indeks, stack pointer, general-purposes register, ditambah code information pada kondisi apa pun. Beserta dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya 
4.  Informasi penjadwalan CPU
                Informasi ini berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya.
5.  Informasi manajemen memori
                Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi 
6.  Informasi pencatatan 
                Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
7.  Informasi status I/O
                Informasi termasuk daftar dari perangkat I/O yang digunakan pada proses ini, daftar berkas-berkas yang sedang diakses dan banyak lagi.

¨  PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain
¨  Pembentukan Proses
                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 Process Control Block 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 turunannya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi.

Operasi pada Proses
¨  Sistem operasi dalam mengelola proses dapat  melakukan operasi – operasi terhadap proses, diantaranya :
                •  penciptaan proses (create a process)
                •  penghancuran/terminasi proses (destroy a process)
                •  penundaan proses (suspend a process)
                •  pelanjutan kembali proses (resume a process)
                •  pengubahan prioritas proses 
                •  memblock proses
                •  membangunkan proses
                •  menjadwalkan proses
                •  memungkinkan proses berkomunikasi dengan proses lain


Penciptaan dan penghancuran proses

Penciptaan proses melibatkan banyak aktivitas yaitu :
•  menamai (memberi identitas proses)
•  menyisipkan proses pada senarai proses atau tabel proses
•  menentukan prioritas awal proses
•  menciptakan PCB
•  mengalokasikan sumber daya awal bagi proses
Kejadian yang dapat menyebabkan penciptaan proses :
•  pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job)
•  pada lingkungan interaktif, ketika pemakai baru berusaha log on
•  sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu.
•  proses menciptakan proses lain (proses anak)

Penghancuran proses melibatkan pembebasan proses dari sistem
•  sumber daya – sumber daya yang dipakai dikembalikan
•  proses dihancurkan dari senarai atau tabel sistem
•  PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas)
                Penghancuran  lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
                -  pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis
                -  beberapa sistem lain menganggap proses anak independen terhadap proses induk sehingga proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
Penundaan dan pelanjutan (pengaktifan) kembali proses
¨  Penundaan (suspend) sering dilakukan sistem untuk memindahkan proses-proses tertentu gunamereduksi beban sistem selama beban puncak. Penundaan biasanya berlangsung singkat.
                Pengaktifan kembali (resuming) proses yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.

Operasi suspend dan resume penting karena :
1.  Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat disuspend agar diresume setelah masalah diselesaikan.
                Contoh : saat proses pencetakan, bila tiba-tiba kertas habis maka proses disuspend. Setelah kertas dimasukkan kembali, proses pun dapat diresume.
2.  Pemakai yang ragu mengenai hasil proses  dapat mensuspend proses (bukan membuang (abort) proses). Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume proses yang di-suspend.
3.  Sebagai tanggapan terhadap fluktuasi jangka  pendek beban sistem, beberapa proses dapat disuspend dan diresume saat beban kembali ke tingkat normal.

1 komentar: