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]
- Saling
melanjutkan (interleave), os harus interleave eksekusi
proses-proses agar memaksimumkan penggunaan pemroses sambil memberi waktu
tanggap yang memadai.
- 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
- 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
- Informasi identifikasi proses, ini berkaitan
dengan identitas proses yang unik.
- 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
- 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:
- Pada lingkungan batch, sebagai
tanggapan atas pemberian satu kerja (job)
- Pada lingkungan interaktif, ketika pemakai
baru berusaha logon
- Sebagai tanggapan suatu aplikasi, seperti
permintaan pencetakan file, sistem operasi dapat menciptakan proses yang
akan mengelola pencetakan itu
- Proses menciptakan proses lain (proses anak)
Tabel 3.3 Alasan penciptaan proses
Penghancuran Proses
• 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