Operating System
Process
Operating System
LEARNING OUTCOMES
• Definisi proses
• Proses states
• Proses deskripsi
• Proses control
• System Call untuk manajemen proses
Operating System
ISI MATERI
A. Process
1. Definisi Proses
Sistem operasi mengeksekusi berbagai jenis program. Pada sistem batch
program tersebut biasanya disebut dengan job, sedangkan pada sistem time
sharing, program disebut dengan program user atau task. Beberapa buku
teks menggunakan istilah job atau proses. Proses adalah program yang
sedang dieksekusi. Eksekusi proses dilakukan secara berurutan sesuai
dengan urutan permintaan pekerjaan. Setiap proses memiliki program
counter, stack dan daerah data.Adapun karakteristik proses antara lain:
• Identifier proses yang unik
• State
• Prioritas
• Penghitung Program
• Penunjuk memori
• Data Konteks
• Informasi status I / O
• Informasi akuntan
Operating System
Informasi yang terdapat pada setiap proses meliputi :
a. Status Proses: New, ready, running, waiting dan terminated.
b. Program Counter. Menunjukkan alamat berikutnya yang akan
dieksekusi oleh proses tersebut.
c. CPU Registers.
Register bervariasi tipe dan jumlahnya tergantung arsitektur
komputer yang bersangkutan. Register-register tersebut terdiri-
atas: accumulator, index register, stack pointer, dan register
serbaguna dan beberapa informasi tentang kode kondisi. Selama
Program Counter berjalan, status informasi harus disimpan pada
saat terjadi interrupt.
Switching proses adalah pergantian proses yang sedang
dieksekusikan dalam CPU. Terdapat 1 CPU dan banyak proses
yang harus dieksekusikan scaa bergantian. Gambar 2.2
menunjukkan switching proses dari satu proses ke proses
berikutnya.
d. Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas
dari suatu proses, pointer ke antrian penjadwalan, dan beberapa
parameter penjadwalan yang lainnya. e. Informasi Manajemen
Memori. Informasi tersebut berisi nilai (basis) dan limit register,
page table, atau segment table tergantung pada sistem g yang
digunakan oleh SO. f. Informasi Accounting. Informasi tersebut
berisi jumlah CPU dan real time yang digunakan, time limits,
account numbers, jumlah job atau proses, dll. g. Informasi Status
I/O. Informasi tersebut berisi deretan I/O device (seperti tape
driver) yang dialokasikan untuk proses tersebut, deretan file
yang dibuka, dll.
Gambar 2.2: Perpindahan CPU dari satu proses ke proses lain (Sumber:
Stallings, W. (2018)).
Operating System
3. Proses State
3.1 Two State Model Process
Ide dari model 2-state model adalah, bahwa process dalam suatu
waktu dapat sedang dieksekusi oleh processor (Running), dan tidak
ridak dieksekusi (Not Running).
Operating System
Gambar 2.4. Five State Model Process (Sumber: Stallings, W. (2018))
Penjelasan :
Semua proses dimulai ketika sebuah proses dibuat yaitu
dalam NEWkemudian proses yang sudah dibuat itu akan ADMIT
atau di ijinkan untuk masuk maka statusnya menjadi READY.
Setelah itu untuk menuju ke proses RUNNING setelah di kirim atau
DISPATCH. Di dalam proses running, setiap proses ini akan
dijalankan, disini ada 3 kemungkinan yang terjadi yaitu
Operating System
pun dari pengisian sistem yang telalu banyak dengan menciptakan
terlalu banyak subproses.
4.2 Termination
Sebuah proses berakhir ketika proses tersebut selesai mengeksekusi
pernyataan akhirnya dan meminta sistem operasi untuk menghapusnya
dengan menggunakan sistem pemanggilan exit. Pada titik itu, proses
tersebut dapat mengembalikan data (keluaran) pada induk prosesnya
(melalui sistem pemanggilan wait). Ada situasi tambahan tertentu
ketika terminasi terjadi. Sebuah proses dapat menyebabkan terminasi
dari proses lain melalui sistem pemanggilan yang tepat (contoh abort).
Biasanya, sistem seperti itu dapat dipanggil hanya oleh induk proses
tersebut yang akan diterminasi.
5. Proses Pengalihan
Mengganti CPU ke proses lain memerlukan penyimpanan suatu
keadaan proses lama (state of old process) dan kemudian beralih ke proses
yang baru. Tugas tersebut diketahui sebagai alih konteks (context switch).
Alih konteks sebuah proses digambarkan dalam PCB suatu proses;
termasuk nilai dari CPU register, status proses dan informasi managemen
memori. Waktu context switch sangat begantung pada dukungan perangkat
keras. Sebagai contoh, prosesor seperti UltraSPARC menyediakan
beberapa set register.
Sebuah proses context switch hanya memasukkan perubahan pointer
ke set register yang ada saat itu. Tentu saja, jika proses aktif yang ada lebih
banyak daripada proses yang ada pada set register, sistem menggunakan
bantuan untuk meng-copy data register dari dan ke memori, sebagaimana
sebelumnya. Semakin kompleks suatu sistem operasi, semakin banyak
pekerjaan yang harus dilakukan selama context switch. Bisa dilihat pada
Bab Memori, teknik managemen memori tingkat lanjut dapat mensyaratkan
data tambahan untuk diganti dengan tiap data.
Sebagai contoh, ruang alamat dari proses yang ada saat itu harus dijaga
sebagai ruang alamat untuk proses yang akan dikerjakan berikutnya.
Bagaimana ruang alamat dijaga, berapa banyak pekerjaan dibutuhkan untuk
menjaganya, tergantung pada metode managemen memori dari sistem
operasi. Akan kita lihat pada Bab Memori, context switch terkadang bisa
menyebabkan bottleneck, dan programmer menggunakan struktur baru
(threads) untuk menghindarinya kapan pun memungkinkan.
Operating System
6. Proses Suspend
Penundaan (suspend) adalah operasi penting dan telah diterapkan
dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan
sering dilakukan sistem untuk memindahkan proses-proses tertentu guna
mereduksi beban sistem selama beban puncak.
Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses
lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses
dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya
bergantung sifat masing-masing sumber daya. Memori utama seharusnya
segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses
lain. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses
dari titik (instruksi) dimana proses ditunda.
Operasi suspend dan resume penting, sebab:
• Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-
proses dapat disuspend agar diresume setelah masalah diselesaikan.
Contoh: Pada proses pencetakan, bila tiba-tiba kerta habis maka proses
disuspend. Setelah kertas dimasukkan kembali, proses pun dapat
diresume.
• Pemakai yang ragu/khawatir mengenai hasil prose dapat mensuspend
proses (bukan membuang (abort) proses). Saat pemakai yakin proses
akan berfungsi secara benar maka dapat me-resume (melanjutkan
kembali di instruksi saat disuspend) proses yang disuspend.
• Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem,
beberapa proses dapat disuspend dan diresume saat beban kembali ke
tingkat normal. Dua state baru dimasukkan sehingga membentuk
diagram 5 state, yaitu: Suspended ready dan Suspended blocked
Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.
• Pada sistem monoprocessor, proses running dapat mensuspend dirinya
sendiri karena tak ada proses lain yang juga running yang dapat
memerintahkan suspend.
• Pada sistem multiprocessor, proses running dapat disuspend proses
running lain pada pemroses berbeda. Proses ready hanya dapat di
suspend oleh proses lain.
Pada proses blocked terdapat transisi menjadi suspended blocked.
Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya
operasi masukan/keluaran atau kejadian yang membuat proses ready
atau suspended ready? Bukankah state blocked, ready blocked,
Operating System
suspended blocked sama-sama tidak mendapat jatah waktu pemroses?
Kenapa dibedakan?
Alasannya, karena penyelesaian operasi masukan/keluaran bagi proses
blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan
sehingga lebih baik disuspend agar sumber daya-sumber daya yang
dialokasikan untuk proses tersebut dapat digunakan proses-proses lain.
Untuk kondisi ini, lebih baik sumber daya-sumber daya yang dipegang
proses yang berkondisi seperti ini dipakai proses-proses lain. Proses
blocked disuspend sistem atau secara manual menjadi suspended
blocked.Bila akhirnya operasi masukan/keluaran berakhir maka segera
proses suspended blocked mengalami transisi.
Karena resume dan suspend mempunyai prioritas tinggi maka transisi
segera dilakukan. Suspend dan resume dapat digunakan untuk
menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.
7. Proses Deskripsi
Setiap proses membutuhkan beberapa resource (prosesor, I/O, memori,
dll):
• P2 sedang membutuhkan I/O yang sedang digunakan oleh P1
• P2 ter-blok • Pn merupakan proses yang di-suspend
Operating System
Gambar 2.5 Process dan Allocation (Sumber: Stallings, W. (2018))
fork()
System call untuk membuat proses baru. fork() akan menduplikasi address
space, satu untuk parent dan satu lagi untuk child. Baik parent dan child akan
jalan secara parallel.
fork() akan mengembalikan 3 nilai. Nilai negative jika fork() gagal. Nilai
positive (proses id dari child) dikembalikan ke parent. Nilai 0 dikembalikan ke
child. Ilustrasi dapat dilihat pada gambar 2.6.
Operating System
SIMPULAN
• Fungsi utama OS adalah membuat, mengelola, dan menghentikan proses.
• Untuk menjalankan fungsi manajemen prosesnya, OS memelihara deskripsi
setiap proses, atau gambar proses, yang mencakup ruang alamat di mana
proses dijalankan, dan blok kontrol proses.
• Selama, seumur hidup, sebuah proses, bergerak di antara sejumlah negara,
adalah Ready, Running, dan Blocked.
Proses yang berjalan terganggu baik oleh interupsi, yang merupakan peristiwa
yang terjadi di luar proses dan yang diakui oleh prosesor, atau dengan
mengeksekusi panggilan supervisor ke OS
• System call fork() digunakan untuk membuat proses baru
Operating System
DAFTAR PUSTAKA
Operating System