Saturday, 25 July 2015

Manajemen proses


Proses (task) adalah entitas dinamis, proses berisi instruksi dan data, program counter dan semua register pemroses, dan stack berisi data sementara seperti parameter rutin, alamat pengiriman dan variabel-variabel lokal

Deskripsi proses
Proses merupakan konsep pokok di sistem operasi. Konsep ini pertama kali dipakai di sistem operasi Multics tahun 60-an. Tema utama perancangan sistem operasi semuanya berkaitan dengan manajemen proses
Terdapat beragam definisi proses. Salah satunya adalah program yang sedang dieksekusi. Proses merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi1)

Multiprogramming, Multiprocessing dan Distributed processing
Beberapa istilah berkaitan dengan proses, antara lain
Multiprogramming (multitasking), manajemen banyak proses pada satu pemroses istilah yang digunakan multiprograming (multitasking) bukan multiprocessing banyak proses dijalankan bersamaan, masing-masing proses mendapat bagian memori dan kendali tersendiri. Sistem operasi mengalih-alihkan prmroses di antara proses-proses tsb

Program-program yang dijalankan bersifat:
-          Saling tak bergantung (independen), proses terpisah satu dari lainya dan tidak saling mempengaruhi.
-          Satu program pada satu saat (one program at any instan), pada satu waktu sesungguhnya hanya satu proses yang dilayani pemroses, menggunakan interleave (saling melanjutkan/bersambung) bukan overlap diantara program-program.
-          Multiprocessing, manajemen banyak proses di komputer multiprocessor (banyak pemroses di dalamnya) dulunya sistem ini hanya terdapat di sistem besar, mainframe dan minikomputer, saat ini workstation telah dapat dilengkapi dengan multiprocessor sistem operasi  Microsoft Windows NT, Unix, Linux menyediakan dukungan multiprocessing.
-          Distributed processing/computing, manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi)
-          Trend masa datang menuju komputasi tersebar (distributed computing)
-          Contoh riset & pengembangan sistem operasi tersebar AMOEBA, MACH

kebutuhan utama pengendalian proses
Kebutuhan utama pengendalian proses oleh sistem operasi dapat dinyatakan dengan mengacu ke proses yaitu [STA-95]
  1. Saling melanjutkan (interleave), os harus interleave eksekusi proses-proses agar memaksimumkan penggunaan pemroses sambil memberi waktu tanggap yang memadai.
  2. Mengikuti kebijaksanaan tertentu os harus mengalokasikan sumber daya ke proses-proses mengikuti kebijaksanaan yang ditentukan (misalnya fungsi atau aplikasi tertentu mempunyai priorotas lebih tinggi) sambil menghindari deadlock
  3. Mendukung komunikasi antar proses dan penciptaan proses, os perlu mendukung kemunikasi antar proses dan penciptaan proses oleh pemakai sehingga membantu menstrukturkan aplikasi.


-          Pada sistem banyak proses aktif, proses-proses pada satu saat berada dalam beragam tahap eksekusinya.
-          Proses mengalami beragam state selama siklus hidupnya sebelum berakhir dan keluar dari system.
-          Os harus dapat mengetahui state masing-masing proses dan merekam semua perubahan yang terjadi secara dinamis. Informasi ini untuk penjadwalan dan memutuskan alokasi sumber daya.

Diagram State Proses
Proses melewati serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tabel 3-1 mendaftarkan state-state dasar yang dialami proses. Proses dapat beradi di salah satu dari tiga state dasar


Tabel 3.1 Tiga State Dasar Pemroses


Hubungan Ketiga State Dasar Digambarkan Dengan Diagram State



-          Proses yang baru diciptakan akan segera mempunyai state ready
-          Proses berstate running menjadi blocked karena sumber daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran sehingga menunggu kejadian muncul.
-          Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait)

-          Proses berstate running menjadi ready karena penjadwal memutuskan eksekusi proses lain karna jatah waktu untuk proses tersebut telah habis (time-out)
-          Proses berstate blocked menjadi ready saat sumber daya yang diminta/diperlukan tersedia atau layanan perangkat masukan/keluaran selesai ((event occurs)
-          Proses berstate ready menjadi running karena penjadwal memutuskan penggunaan pemroses untuk proses itu karena proses yang saat itu running berubah state-nya  (menjadi ready atau blocked) atau telah menyesaikan sehingga disingkirkan dari sistem.
Proses menjadi mendapatkan jatah pemroses

Pcb (Process Control Block)
Os memerlukan banyak informasi mengenai proses guna pengelolaan proses, informasi ini berada di PCB. Sistem berbeda akan mengorganisasikan secara berbeda
Informasi di PCB dikelompokan menjadi 3
  1. Informasi identifikasi proses, ini berkaitan dengan identitas proses yang unik.
  2. Informasi status pemroses, informasi ini esensinya terdiri dari isi register-register pemroses. Saat proses berstatus running, informasi-informasi ini berada di register-register. Ketika proses diinterupsi, semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali
  3. Informasi kendali proses, adalah informasi-informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif.
                citra proses mempunyai struktur berisi PCB, stack user, ruang alamat proses ekslusif dan ruang alamat yang dipakai bersama proses lain.


Gambar 3.2 Proses Pemakai proses


Operasi-operasi pada Proses
-          Sistem operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses antara lain:
-           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
-          Mem-block proses
-          Membangunkan proses
-          Menjadwalkan proses
-          Memungkinkan proses berkomunikasi dengan proses lain
Dua operasi terpenting terhadap proses adalah penciptaan dan penghancuran proses

Penciptaan 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

Ketika proses baru ditambahkan, sistem operasi membangun struktur data untuk mengelola dan alokasi ruang alamat proses tsb. Aksi ini berkaitan dengan proses baru. Kejadian yang dapat menyebabkan penciptaan proses:
  1. Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job)
  2. Pada lingkungan interaktif, ketika pemakai baru berusaha logon
  3. Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu
  4. Proses menciptakan proses lain (proses anak)


Tabel 3.3 Alasan penciptaan proses


 Penghancuran Proses

 Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu:
       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 2 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


Tabel 3.4 Alasan-alasan Penghancuran Proses


No comments:

Post a Comment