• 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
• 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
• 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
• 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
• 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
c. Overlapping d. Multitasking
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!