Anda di halaman 1dari 12

LECTURE NOTES

Operating System

Process

Operating System
LEARNING OUTCOMES

▪ LO2 : Peserta dapat menjelaskan konsep proses


▪ LO2 : Peserta dapat menjelaskan Process State
▪ LO4 : Peserta dapat mengaplikasikan berbagai teknik untuk control proses

OUTLINE MATERI (Sub-Topic):

• 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

2. Proses kontrol Blok


Masing-masing proses direpresentasikan oleh Sistem Operasi dengan
menggunakan Process Control Block (PCB), seperti yang terlihat pada
Gambar 2.1.

Gambar 2.1 Process Control Block (Sumber: Stallings, W. (2018))

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).

Gambar 2.3 Two State Model Proses (Sumber: Stallings, W. (2018))

Proses dapat berada pada salah satu dari dua status


• Berjalan (running) berarti program sedang melaksanakan
perintah dan sedang dieksekusi serta proses exit.
• Not-running berarti program tidak dalam proses eksekusi
melainkan persiapan akan dieksekusi

3.2 Five State Model Process


Ide dari model 5-state model adalah, bahwa process dalam suatu
waktu dapat berada dalam kondisi new, ready, running, waiting,
exit/terminated. Secara garis besar Model ini memiliki 5 tahapan
yaitu:
• New adalah Proses sedang dikerjakan/dibuat.
• Running adalah Instruksi sednag dikerjakan.
• Waiting adalah Proses sedang menunggu sejumlah kejadian
untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan
sebuah tanda/signal).
• Ready adalah Proses sedang menunggu untuk ditugaskan pada
sebuah prosesor.
• Terminated/Exit adalah Proses telah selsesai melaksanakan
tugasnya/mengeksekusi.

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

a. Timeout : jika proses tersebut mengalami timeout, maka akan


dikembalikan lagi ke status ready untuk di running lagi.
b.Event wait : jika proses itu dalam keadaan event wait, maka proses
itu akan masuk ke dalam status Blocked, dimana jika sudah tidak ada
proses yang menunggu untuk dijalankan lagi maka, proses dalam
status Blocked ini akan kembali ke status ready dan siap untuk di
running lagi.
c. Release : Jika suatu proses sudah di release, maka proses itu sudah
selesai dan masuk ke status EXIT.

4. Operasi pada Proses


4.1 Proses Creation
Secara umum, suatu proses akan memerlukan sumber tertentu
(waktu CPU, memori, berkas, perangkat I/O) untuk menyelesaikan
tugasnya. Ketika suatu proses membuat sebuah subproses, sehingga
subproses dapat mampu untuk memperoleh sumbernya secara
langsung dari sistem operasi. Induk mungkin harus membatasi sumber
diantara anaknya, atau induk dapat berbagi sebagian sumber (seperti
memori berkas) diantara beberapa dari anaknya. Membatasi suatu anak
proses menjadi subset sumber daya induknya mencegah proses apa

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

Gambar 2.5 Process dan Allocation (Sumber: Stallings, W. (2018))


• Apa yang diperlukan OS untuk mengatur resource dan proses?
• Informasi tentang status saat ini dari setiap proses dan
resource
• Informasi setiap resource disimpan ke dalam struktur tabel yang
terdiri dari tabel sbb: tabel memori, tabel I/O, tabel file, tabel
proses

Operating System
Gambar 2.5 Process dan Allocation (Sumber: Stallings, W. (2018))

System Call untuk Manajemen Proses


System Call adalah sekumpulan layanan yang digunakan untuk mengakses
kernel. Kernel adalah inti dari sebuah system Operasi. System call juga
digunakan untuk memanggil layanan yang diberikan oleh Sistem Operasi,
dalam bentuk fungsi/rutin yang ditulis pada umumnya dengan bahasa C.
System call dapat juga digunakan untuk mengakses hardware secara langsung.

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.

Gambar 2.6 Ilustrasi system call fork()

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

1. Stallings, W. (2018). Operating Systems: Internals and Design Principles. 9th.


ISBN: 978-0-13-467095-9
2. Abraham Silberschatz, Peter B. Galvin, Greg Gagne (2010). Operating System
Concepts 8th ed. With Java.
3. ISBN: 978-0-470-50949-4

Operating System

Anda mungkin juga menyukai