Anda di halaman 1dari 36

Sistem Operasi/ TIK1620 / KKNI 2016

I Made Ardwi Pradnyana, S.T., M.T.


1. Konsep dan Definisi Proses
2. Multiprogramming (multitasking), Multiprocessing, Distributed Processing,
dan Konkurensi
3. Siklus Hidup Proses (Model Proses 3 status dan Model Proses 5 Status)
Proses

• Pada masa awal perkembangan komputer, kode instruksi program dibaca dari suatu kartu plong,
kemudian disalin ke memori utama dan akhirnya dieksekusi langsung oleh prosesor.
• Dewasa ini, kode-kode instruksi program disimpan sebagai berkas pada media penyimpanan sekuder
seperti magnetic disk, floppy disk, CD ROM ataupun DVD ROM.
• Kode-kode instruksi program tidak dapat diseksekusi langsung dari media penyimpanannya. Ketika suatu
program akan dieksekusi maka kode-kode instruksinya akan dibaca dari berkas dan disalinkan ke ruang
memori utama.
• Selain untuk menyimpan kode-kode instruksi program, ruang memori yang dialokasikan diperlukan untuk
mencatat berbagai informasi yang terkait dengan eksekusi program seperti status eksekusinya, alamat
kode instruksi yang sedang diseksekusi serta sumber daya komputer yang sedang digunakan seperti data,
berkas, dan piranti I/O. Intinya, eksekusi suatu program bukan sekedar eksekusi kode-kode instruksi
program tapi melibatkan pengelolaan informasi eksekusinya juga.
Konsep Proses

• Job atau tugas yang dikerjakan prosesor disebut proses. Istilah lain untuk proses adalah
task.
• Secara ‘fisik’, proses berisi instruksi dan data, program counter, semua nilai register
pemroses, serta stack yang berisi data yang bersifat sementara (temporer) seperti data
parameter-parameter rutin, alamat kirim dan variabel-variabel lokal.
• Struktur/ format/ layout dari proses berbeda untuk sistem operasi berbeda.
• Proses merupakan konsep pokok sistem operasi, pertama kali digunakan pada sistem
operasi Multics tahun 1960-an.
• Tema utama perancangan sistem operasi semuanya berkaitan dengan manajemen
proses. Manajemen proses merupakan pembahasan sentral sistem operasi.
Definisi Proses

• Proses atau task merupakan entitas dinamis.


• Proses adalah program yang sedang dieksekusi.
• Proses merupakan unit kerja terkecil yang secara individu memiliki sumber daya-
sumber daya dan merupakan unit terkecil yang dijadwalkan oleh sistem operasi.
• Sistem operasi mengelola semua proses di sistem dan mengalokasikan sumber
daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem.
• Abstraksi proses merupakan hal mendasar dalam manajemen proses-proses
konkuren yang berjalan di sistem.
Program vs Proses

• Program
• Objek statis/ pasif yang terletak dalam suatu file. Program berisi
instruksi-instruksi (algoritma).
• Program merupakan urutan instruksi.
• Program ada secara nyata dalam suatu tempat tunggal di ruang
penyimpanan.
• Proses
• Objek dinamis/ aktif, yaitu program yang sedang dalam keadaan
tereksekusi.
• Proses merupakan suatu urutan dari instruksi yang sedang dieksekusi.
• Proses ada secara nyata dalam waktu terbatas.
• SO mengontrol kejadian-kejadian yang ada dalam sistem
komputer.
• SO menjadwal dan mengirimkan proses untuk dieksekusi oleh
pemroses/ prosesor, mengalokasikan sumber daya untuk
proses dan menanggapi permintaan program pemakai untuk
layanan-layanan dasar.
• SO merupakan suatu entitas yang mengatur proses dalam
menggunakan sumber daya sistem komputer.
Sekuensial vs Konkurensi

• Eksekusi proses secara sekuensial: suatu proses akan


dieksekusi sampai selesai baru kemudian berpindah
ke proses berikutnya. Kelemahan: tingkat utilitas atau
penggunaan prosesor yang rendah.
• Konkuren: sistem yang memiliki sejumlah aktivitas
yang berjalan secara “bersamaan”.
Multiprogramming (multitasking)
• Multiprogramming adalah manajemen banyak proses di satu pemroses.
• Pemakai memandang terdapat banyak proses dijalankan bersamaan
pada satu saat, padahal sistem melakukan interleave (saling
melanjutkan/ bersambung).
• Masing-masing proses mendapat bagian memori dan kendali sendiri. SO
mengalih-alihkan layanan pemroses diantara proses-proses tersebut.
• Sifat proses yang dijalankan pada sistem multiprogramming:
• Saling tidak bergantung (independent)
• Satu program pada satu saat (one program at any instant)
• Contoh SO: MS 98, MS-Windows NT, MW-Windows XP, OS/2 dan Macintosh
System 7.
Multiprocessing

• Multiprocessing adalah manajemen banyak proses di komputer


multiprocessor (banyak pemroses di dalamnya).
• Multiprocessor bertujuan untuk peningkatan kinerja dan dapat
memberikan fault tolerant.
• Contoh SO: Microsoft Windows NT, UNIX, LINUX.
Distributed Processing

• Distributed Processing adalah manajemen banyak proses yang dieksekusi


pada banyak sistem komputer yang tersebar pada satu jaringan.
• Kecenderungan masa datang adalah menuju komputasi tersebar
(distributed computing).
Hubungan antara sistem konkuren, sekuensial,
multitasking dan paralel
Implementasi Konkurensi (multitasking) pada
sistem uniprosesor (a) dan multiprosesor (b)
Konsekuensi dari proses-proses yang berjalan secara konkuren pada suatu
sistem multitasking:
1. Proses saling tidak mempengaruhi: proses-proses saling tidak berhungungan dan
tidak saling bekerja sama, kecuali dalam hal pemakaian prosesor.
2. Proses saling mempengaruhi secara tidak langsung: proses-proses tidak saling
bekerja sama tetapi mengakses sumber daya yang sama sehingga proses-proses
tersebut saling mempengaruhi satu sama lain.
3. Proses saling mempengaruhi secara langsung: proses-proses saling bekerja sama
untuk mencapai suatu tujuan khusus. Proses-proses yang saling bekerjasama
dapat berjalan pada komputer yang sama maupun berlainan.
Terjadinya perebutan sumber daya pada proses-proses yang saling mempengaruhi,
baik secara langsung maupun tidak memunculkan sejumlah masalah yang harus
ditangani oleh sistem operasi yaitu:
1. Race Condition: kondisi dimana dua proses atau lebih yang saling berusaha mengakses
dan melakukan operasi pada suatu sumber daya yang sama sehingga kemungkinan status
sumber daya tersebut menjadi tidak valid dan tidak konsisten pada akhir seluruh operasi.
Sumber daya yang berada dalam kondisi tersebut disebut critical resource, bagian atau
kode instruksi program yang melakukan operasi tersebut disebut critical section. Kondisi
race condition dapat diatasi dengan menerapkan mekanisme sinkronisasi, salah satunya
mutual exclusion: memastikan pada suatu waktu hanya satu proses yang diijinkan untuk
menjalankan critical section.
2. Deadlock: kondisi kebuntuan dalam alokasi sumber daya yang dibutuhkan
oleh proses dan akibatnya proses-proses yang terlibat tidak dapat
melanjutkan eksekusinya sama sekali. Deadlock terjadi ketika proses-proses
yang terlibat saling membutuhkan sumber daya yang sedang digunakan
oleh proses lainnya. Karena tidak ada satupun yang mengalah, yaitu
melepaskan sumber daya yang sedang digunakan, terjadilah kebuntuan.
3. Starvasion: kondisi dimana satu proses atau lebih selalu kalah dalam
kompetisi untuk mendapatkan sumber daya yang diperlukannya sehingga
eksekusinya tertunda terus menerus. Penyebabnya: kebijakan alokasi sumber
daya yang tidak adil oleh sistem operasi.
Kompleksitas akibat penerapan Konkurensi

1. SO harus dapat mengawasi berbagai proses yang aktif. Informasi untuk


pengawasan dan pengelolaan masing-masing proses disimpan dalam
suatu struktur data kendali yang disebut Process Control Block (PCB).
2. SO harus melakukan penjadwalan proses secara adil dan berusaha
menjaga optimalitas kinerja proses-proses secara keseluruhan.
3. SO harus melakukan alokasi dan dealokasi berbagai sumber daya
(prosesor, memori, berkas, piranti I/O) untuk masing-masing proses aktif. SO
harus mengantisipasi kemungkinan terjadinya deadlock dan starvasion.
4. SO harus melindungi sumber daya yang digunakan oleh suatu proses
terhadap pengaksesan proses lain. SO melakukan sinkronisasi
menggunakan mekanisme mutual exclusion (mutex).
5. SO harus menjaga jumlah data yang dialirkan dari/ ke piranti I/O selalu
konstan.
6. SO harus memfasilitasi jika proses-proses konkuren memerlukan
komunikasi satu sama lainnya.
Siklus Hidup Proses

• Sistem sekuensial: ketika suatu proses mulai dijalankan maka proses


tersebut akan menguasai seluruh sumber daya komputer dan berjalan
sampai selesai.
• Sistem multitasking: proses mengalami sejumlah kondisi atau status selama
siklus hidupnya. Kondisi ini terjadi secara berkala, suatu proses harus
menghentikan eksekusinya dan membiarkan SO menjadwalkan proses
lainnya untuk menggunakan prosesor.
Siklus Hidup Proses (Model Proses 3 Status)
Status New

• Masih dalam tahap inisiasi oleh prosedur atau rutin SO, belum
siap dieksekusi.
• Tahap inisiasi: alokasi memori utama untuk proses, pengisian
tabel proses, pembuatan struktur data kendali untuk
penyimpanan informasi, dan status proses.
• SO menciptakan proses atas permintaan dari program
aplikasi ataupun pengguna.
• Pemicu penciptaan proses baru:
1. Pengguna melakukan logon ke SO sehingga SO akan menciptakan
proses antarmuka pengguna (shell).
2. Permintaan eksekusi program oleh pengguna lewat shell.
3. Suatu aplikasi menciptakan proses anak.
4. Penciptaan proses baru sebagai bagian dari eksekusi batch.
Status Ready

• Proses yang telah berhasil diinisiasi akan ditempatkan (admit) ke dalam antrian
penjadwalan prosesor dengan cara menyisipkan rekaman baru ke dalam antrian,
yang berisi referensi atau pointer ke struktur data kendali proses.
• Antrian ready: antrian penjadwalan prosesor.
• Proses yang telah berhasil disisipkan ke dalam antrian penjadwalan akan diubah
statusnya menjadi ready.
• Status ready menandakan suatu proses siap berkompetisi untuk mendapatkan alokasi
waktu prosesor.
• Proses yang baru tercipta, tidak dapat langsung dieksekusi, tapi menunggu giliran.
• Secara berkala atau dalam kondisi tertentu, SO akan
melakukan prnjadwalan prosesor, menghentikan eksekusi
proses sedang berjalan, memilih salah satu dari proses-proses
yang berada dalam antrian ready, dan mengeksekusinya.
• Rutin SO yang bertugas melakukan pemilihan ini disebut
scheduler.
Status Running

• Jika kemudian sebuah proses dalam antrian ready terpilih


oleh scheduler untuk dijalankan makan proses yang terpilih
akan mulai dieksekusi dan berubah statusnya menjadi
running. Proses dengan status running menguasai prosesor
sepenuhnya.
• Tiga kemungkinan peralihan status proses berstatus Running:
1. Proses sudah menyelesaikan aktivitasnya: terminated. Peralihan ke status
terminated dapat juga disebabkan oleh kesalahan yang tidak dapat
dipulihkan, seperti kesalahan memori.
2. Jatah waktu (time slice) yang dialokasikan untuk eksekusi proses sudah habis,
proses akan dialihkan statusnya menjadi ready.
3. Proses running dapat beralih ke status blocked.
Status Blocked (Waiting)

• Proses berstatus running dapat beralih ke status Blocked karena membutuhkan


pembacaan data dari piranti I/O.

• Contoh: proses yang sedang menunggu event tertentu seperti penakanan keyboard
atau pergerakan mouse sebagai data input untuk melanjutkan eksekusi.
• Kenyataan menunjukkan kebanyakan aplikasi yang diakses langsung oleh pengguna
menghabiskan sebagian besar siklus hidupnya dalam status blocked karena
menunggu event atau aksi dari pengguna yang relatif lambat dibandingkan dengnan
kecepatan komputer. Proses yang beralih ke status blocked akan disisipkan pada
antrian penjadwalan piranti I/O atau event.
Status Exit atau Terminated

• Proses yang sudah berubah statusnya menjadi exit/


terminated: proses telah dihentikan eksekusinya baik secara
normal (proses telah selesai) ataupun tidak (misal terjadi
kesalahan sistem yang tidak tertangani).
• Jika suatu proses telah selesai makan ruang memori yang
ditempatinya akan dibersihkan (dealokasi) oleh rutin SO.
Model Proses 5 Status
Kenapa Model 5 Status

• Model proses 3 status: proses yang sedang berada dalam status blocked
mungkin tidak memiliki kejelasan mengenai kapan sumber daya atau event
yang ditunggunya menjadi tersedia.
• Proses terebut mungkin saja akan terus berstatus blocked untuk jangka waktu
yang cukup lama. Hal ini sangat tidak menguntungkan dari sisi penggunaan
ruang memori utama, karena ruang memori yang ditempati oleh proses
blocked tidak dapat dialokasikan ke proses lain.
• Model proses 5 status: proses yang memasuki kondisi tersebut diatas akan
dialihkan statusnya menjadi SuspendBlocked agar sumber daya yang ada,
misal memori utama dapat dialokasikan untuk proses lain.
Review Materi

1. Jelaskan mengenai konsep proses dan perbedaannya dengan


program!
2. Jelaskan ilustrasi mengenai hubungan antara sistem konkuren,
sekuensial, multitasking dan paralel berikut!
3. Jelaskan istilah-istilah berikut:
a. Batch b. Interleaving

c. Overlapping d. Multitasking

e. Multiprocessing f. Distributed Processing

g. Mutual execution h. Deadlock

i. Starvation j. Race condition

k. Scheduler l. Critical resource

m. Critical section
4. Jelaskan ilustrasi siklus hidup
proses yang ditunjukkan
disamping!
5. Jelaskan mengenai
pengembangan model proses 3
status menjadi model proses
dengan 5 status!

Anda mungkin juga menyukai