Anda di halaman 1dari 54

BAB 3

MANAJEMEN PROSES

3.1. Sejarah Proses dan Kontrol


Sejarah munculnya proses dan kontrol pada saat pertama kali
digunakan di sistem operasi Multics, yaitu tahun 1960-an. Prosesor adalah
sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi
program komputer. Dalam setiap detiknya prosesor dapat menjalankan
jutaan instruksi.

3.2. Definisi Proses dan Kontrol


Proses bisa diartikan sebagai unit kerja terkecil yang secara individu
memiliki 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.
Proses adalah program yang sedang dieksekusi. Proses ini biasa
disebut task. Kontrol adalah sesuatu yang mengatur atau mengendalikan
proses. Kontrol juga bisa mengatur eksekusi aplikasi dan operasi.
Jadi Proses dan Kontrol adalah suatu bagian dari program yang berada
pada status tertentu dalam rangkaian eksekusi dan program yang dieksekusi
tersebut bisa dihentikan baik normal maupun tidak normal.
Ada beberapa syarat agar sistem dapat memenuhi kebutuhan utama
pengendalian proses, yaitu:
1. Sistem operasi harus melakukan interleave eksekusi proses-proses untuk
memaksimumkan penggunaan pemroses sambil masih memberi waktu
tanggap yang memadai.
2. Sistem operasi harus mengalokasikan sumber daya-sumber daya ke
proses-proses mengikuti kebijaksanaan ditentukan (misalnya : fungsi
atau aplikasi tertentu mempunyai prioritas lebih tinggi) sambil
menghidari deadlock.

Bab 3 : Manajemen Proses 68


3. Sistem operasi perlu mendukung komunikasi antarproses dan penciptaan
proses oleh pemakai, sehingga membantu menstrukturkan aplikasi.
Pada sistem dengan banyak proses aktif, proses-proses pada satu saat
berada di beragam tahap eksekusinya. Proses mengalami beragam state
selama siklus hidupnya. Sistem operasi harus dapat mengetahui state
masing-masing proses yang ada di sistem dan merekam semua perubahan
yang terjadi. Informasi ini digunakan untuk penjadwalan dan memutuskan
alokasi dan dealokasi sumber daya-sumber daya sistem komputer.

3.3. Metode-metode Proses Dalam Sistem Komputer


1. Batch Processing
Proses ini timbul akibat kesulitan dan kekurangan yang dialami pada
waktu komputer dioperasikan tanpa sistem operasi yang dikumpulkan
dalam satu kelompok ( batch ). Pada saat suatu job sedang running, ia
mempunyai control terhadap mesin, jika tiap job berakhir normal
maupun tidak normal, kontrol dikembalikan ke sistem operasi yang
kemudian akan menginisialisasikan job berikutnya.

2. Multiprogramming (multitasking)
Multiprogramming adalah suatu usaha untuk menambah pemanfaatan
CPU, dimana diusahakan agar CPU jangan sampai dalam keadaan diam
(tidak sedang melakukan eksekusi). Dengan multiprogramming berarti
ada beberapa program pemakai dalam memori yang dapat dieksekusi
seolah-olah tampak bersamaan pada waktu-waktu tertentu. Kebanyakan
computer pribadi, bersistem operasi workstation adalah sistem pemroses
tunggal yang menjalankan sistem operasi multiprogramming
(multitasking), seperti MS-Windows-98, MS-Windows NT, MS-
Windows XP, dan Macintosh system 7.
Sifat:
1. Saling tidak bergantung (independent) Proses terpisah dari lainnya
dan tidak saling mempengaruhi.

Bab 3 : Manajemen Proses 69


2. Satu program pada satu saat (one program at any instant)
3. Pada satu saat sebenarnya hanya satu proses yang dilayani pemroses,
menggunakan interleave bukan overlap di antara program-program.
Sistem melakukan interleave (saling melanjutkan/bersambung).
Dalam pandangan user, proses tersebut seolah-olah beroperasi secara
bersamaan padahal pemroses (level pemrosesan) mengeksekusi satu
proses tiap saat dan secara cepat beralih ke proses-proses lain secara
bergiliran, karena pengalihan dilakukan secara sangat cepat, maka
pengalihan itu tidak disadari oleh pemakai, sehingga menimbulkan
efek paralel semu (pseudoparallelism).

3. Time Sharing
Time Sharing adalah proses di mana waktu CPU dibagi menjadi satu unit
yang disebut time slice, sehingga memungkinkan banyak user untuk
mengeksekusi komputer.

4. Real Time System


Sistem real time merupakan proses dimana waktu menjadi pertimbangan
utamanya. Sistem komputer yang real time harus mampu memproses
data secepat mungkin, dimana hasilnya akan digunakan untuk
mengetahui dari mana proses tadi berasal.

5. Multiprocessing
Adalah manajemen banyak proses di komputer multiprocessor (banyak
pemroses di dalamnya). Dulunya multiprocessor hanya terdapat di
sistem besar yaitu sistem mainframe dan minikomputer. Saat ini
komputer workstation pun telah dapat dilengkapi multiprocessor.
Multiprocessor dimaksudkan untuk meningkatkan kinerja dan dapat
memberikan kemampuan fault tolerant.
Sistem operasi Microsoft Windows NT, UNIX, Linux telah
menyediakan dukungan multiprocessing.

Bab 3 : Manajemen Proses 70


6. Distributed processing
Adalah manajemen banyak proses yang di eksekusi di banyak sistem
komputer yang tersebar (terdistribusi) di satu jaringan. Pada sistem
operasi tersebar yang ideal, pemrogram tidak perlu menyadari
keberadaan banyak pemroses. Kecenderungan masa datang adalah
menuju komputasi tersebar (distributed computing). Banyak riset dan
pengembangan sistm operasi tersebar di antaranya adalah Amoeba, dan
Mach.

3.4. State Dasar Proses


Proses melewati serangkaian state diskrit. Beragam kejadian dapat
menyebabkan perubahan/berpindahnya state proses. Status dari sebuah
proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses
tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini:

Tabel 3.1. State Dasar Proses


Status Deskripsi
New Proses sedang dikerjakan/dibuat.
Running Pemroses sedang mengeksekusi instruksi proses itu
Ready Proses siap (ready) dieksekusi, tetapi pemroses tidak
mengeksekusi proses ini.
Blocked Proses menunggu kejadian tertentu selesai.
Contoh:
Proses menunggu kejadian-kejadian berikut:
▪ selesainya operasi perangkat masukan/keluaran
▪ tersedianya memori
▪ tibanya pesan jawaban
▪ dan seterusnya
Terminated Proses telah selesai melaksanakan tugasnya/ mengeksekusi

Bab 3 : Manajemen Proses 71


Hubungan ketiga state dasar digambarkan dengan diagram state.
Timeout

submit Completion
Dispatch

New Ready Running Terminated

Event wait
Event occurs Blocked

Gambar 3.1. Diagram tiga state proses

Gambar 3.1. menunjukkan transisi di antara state-state selama siklus hidup


proses.
a. Proses diciptakan/dibuat dengan state new
b. Proses yang baru diciptakan akan segera mempunyai state ready.
c. Proses dengan state running menjadi blocked, karena sumber daya yang
diminta belum tersedia atau meminta layanan perangkat
masukkan/keluaran, sehingga menunggu kejadian muncul. Proses
menunggu kejadian alokasi sumber daya atau selesainya layanan
perangkat masukkan/keluaran (event wait).
d. Proses dengan state running menjadi ready, karena penjadwal
memutuskan agar pemroses melakukan eksekusi proses yang lain karena
jatah waktu untuk proses tersebut telah habis (time-out)
e. Proses dengan state blocked menjadi ready saat sumber daya yang
diminta/diperlukan telah tersedia atau layanan perangkat
masukan/keluaran selesai (event occurs).

Bab 3 : Manajemen Proses 72


f. Proses dengan state ready menjadi running, karena penjadwal
memutuskan penggunaan pemroses untuk proses itu, karena proses yang
saat itu Running berubah state (menjadi ready atau blocked) atau telah
selesai.
g. Proses dengan state terminated berarti telah selesai, sehingga
disingkirkan dari sistem. Proses menjadi mendapatkan jatah pemroses.

3.5. Operasi-Operasi Proses


Sistem operasi dalam mengelola proses dapat melakukan operasi-
operasi pada proses. Operasi-operasi yang dapat dilakukan pada proses di
antaranya adalah sebagai berikut :
1. Penciptaan proses (create a proses)
Aktivitas yang dilakukan, yaitu :
a. Menamai ( memberi identitas ) proses yang akan diciptakan dengan
process id.
b. Menyisipkan proses pada senarai proses atau tabel proses.
c. Menentukan prioritas awal proses.
d. Menciptakan PCB.
e. Mengalokasikan sumber daya – sumber daya awal bagi proses.
Ketika proses baru ditambahkan, sistem operasi membangun stuktur data
untuk mengelola dan alokasi ruang alamat proses itu.
Kejadian yang dapat menyebabkan penciptaan proses, antara lain :
a. Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja
(job).
b. Pada lingkungan interaktif, ketika pemakai baru berusaha log in.
c. Sebagai tanggapan dari permintaan yang dilakukan aplikasi seperti
permintaan pencetakan file, sistem operasi dapat menciptakan proses
tersendiri yang akan melakukan pengelolaan pencetakan itu.
d. Proses menciptakan proses lain (proses anak).

Bab 3 : Manajemen Proses 73


Tabel 3.2. Alasan-alasan Penciptaan Proses.
Penyebab Penciptaan Deskripsi
Sistem operasi dengan kendali batch-
job. Setelah menciptakan proses baru,
Terdapat batch-job baru
kemudian melanjutkan membaca job
selanjutnya.
Seorang pemakai pada satu terminal
Satu pemakai interaktif log-on
saling melakukan log-on ke sistem.
Sistem operasi menciptakan proses
Sistem operasi menciptakan proses untuk memenuhi satu fungsi pada
untuk memberi layanan program pemakai, tanpa mengharuskan
pemakai menunggu.
Untuk mencapai modularitas atau
mengeksploitasi kongkurensi, program
Proses menciptakan proses anak
pemakai memerintahkan pembuatan
sejumlah proses.

Proses dapat menciptakan proses baru yaitu proses anak (child process).
Proses yang menciptakan proses disebut proses induk (parent process).
Proses anakpun kembali dapat menciptakan proses-proses anak. Dengan
demikian, proses-proses dapat membentuk pohon hirarki proses.
Tahap-tahap penciptaan proses :
a. Diberikan satu identifier unik ke proes baru. Isian baru ditambahkan
ke tabel proses utama yang berisi satu isian per proses.
b. Dialokasikan ruang untuk proses.
c. PCB harus diinisalisasi
d. Kaitan-kaitan antar kabel dan senarai yang cocok dibuat.
e. Apabila daperlukan struktur data lain maka segera dibuat struktur
data itu.
2. Penghancuran / terminasi proses (destroy a proses).
Penghacuran proses melibatkan pembebasan proses dari sistem, yaitu:

Bab 3 : Manajemen Proses 74


a. Sumber daya-sumber daya yang dipakai dikembalikan.
b. Proses dihancurkan dari senarai atau tabel sistem
c. PBC dihapus (ruang memori PBC dikembalikan ke pool memori
bebas).
d. Penghancuran lebih rumit bila proses telah menciptakan proses-
proses lain. Terdapat dua pendekatan, yaitu:
o Pada beberapa sistem, proses-proses turunan dari proses induk
dihancurkan secara otomatis saat proses induk dihancurkan.
o Beberapa sistem lain menganggap proses anak benar-benar
independen dari proses induk sehingga proses anak tidak
dihancurkan secara otomatis saat proses induk dihancurkan.
Tabel 3.3. Alasan-alasan Penghancuran Proses
Penyebab Transmisi Deskripsi
Proses mengeksekusi panggilan
layanan Sistem Operasi untuk
Selesainya proses secara normal
menandakan bahwa proses telah
berjalan secara lengkap.
Proses telah berjalan melebihi batas
waktu total yang dispesifikasikan.
Tedapat banyak kemungkinan untuk
tipe waktu yang diukur termasuk waktu
Batas waktu telah terlewati total yang dijalani (”wall clock time”),
jumlah waktu yang dipakai untuk
eksekusi, dan jumlah waktu sejak
pemakai terakhir kali memberi
masukan (pada proses interaktif).
Proses memerlukan memori lebih
Memori tidak tersedia banyak daripada yang dapat disediakan
sistem.
Pelanggaran terhadap batas memori Proses mencoba mengakses lokasi

Bab 3 : Manajemen Proses 75


memori yang tidak diizinkan diakses
oleh proses itu. Proses melanggar
keamanan sistem.
Proses berusaha menggunakan sumber
daya atau file yang tidak diizinkan
dipakainya, atau proses mencoba
Terjadi kesalahan karena pelanggaran
menggunakannya tidak untuk
proteksi
peruntukannya, seperti menulis file
read-only. Proses melanggar keamanan
sistem.
Proses mencoba perhitungan terlarang,
seperti pembagian dengan nol, atau
Terjadi kesalahan aritmatika mencoba menyimpan angka lebih besar
daripada yang dapat diakomodasi
perangkat keras.
Proses telah menunggu lebih lama
daripada lama maksimum yang
Waktu telah kadaluwarsa
ditentukan untuk suatu kejadian
tertentu.
Kesalahan muncul pada masukkan atau
keluaran, seperti ketidakmampuan
menemukan file, kegagalan membaca
atau menulis setelah sejumlah
Terjadi kegagalan masukkan/keluaran
maksimum percobaan (ketika, misalnya
area rusak terjadi pada tape, atau
operasi tidak sah seperti membaca dari
line printer)
Proses berusaha mengeksekusi intruksi
Instruksi yang tidak benar yang tidak ada (sering sebagai akibat
pencabangan ke daerah data dan

Bab 3 : Manajemen Proses 76


berusaha melakukan eksekusi data itu)
Terjadi usaha memakai interuksi yang Proses berusaha menggunakan intruksi
tak diijinkan yang disimpan untuk sistem operasi.
Bagian data adalah adalah tipe yang
Kesalahan penggunaan data
salah atau tidak diinalisasi.
Untuk suatu alasan, operator atau
Diintervensi oleh sistem operasi atau
sistem operasi mengakhiri proses
operator
(misalnya, jika terdapat deadlock)
Ketika proses induk berakhir. Pada
sistem operasi yang dirancang untuk
Berakhir proses induk
secara otomatis mengakhiri semua anak
proses dari proses induk.
Proses induk umumnya mempunyai
Atas permintaan proses induk
otoritas mengakhiri proses anaknya.

3. Penundaan proses (suspend a proses).


4. Pelanjutan kembali proses (resume a proses).
5. Pengubah prioritas proses.
6. Memblok proses.
7. Membangun proses.
8. Menjadwalkan proses.
9. Memungkinkan proses berkomunikasi dengan proses lain.

3.6. Kedudukan Sistem Operasi


Sistem operasi pada dasarnya adalah seperti perangkat lunak yang lain,
yaitu program yang perlu dieksekusi pemroses. Kedudukan sistem operasi
dibanding proses-proses lain dapat beraneka ragam, antara lain :

Bab 3 : Manajemen Proses 77


1. Sistem Operasi sebagai kernel tersendiri yang berbeda dengan proses-
proses lain (kernel sebagai non-proses).

P.0 P.1 P.2

Kernel

Gambar 3.2. Eksekuasi kernel sebagai non-proses


Ketika proses running diinterupsi atau memanggil system call, maka
konteks pemroses dari proses ini disimpan dan kendali dilewatkan ke
kernel. Sistem operasi mempunyai daerah memori dan stack sendiri
untuk pemanggilan prosedur didalamnya. Sistem operasi melakukan
fungsi yang diinginkan proses pemakai dan mengembalikan konteks
proses yang diinterupsi. Eksekusi proses pemakai yang diinterupsi
dilanjutkan kembali.
Alternatif lain, sistem operasi menyimpan lingkungan proses, malakukan
penjadwalan dan menjadwalkan proses lain.
Konsep proses hanya diterapkan untuk program-program pemakai, tidak
berlaku bagi sistem operasi. Kode sistem operasi dieksekusi sebagai satu
entitas yang terpisah beroperasi pada mode kernel. Proses adalah non-
kernel, sedangkan sistem operasi adalah kernel yang bukan proses.
2. Fungsi-fungsi sistem operasi dieksekusi dalam proses pemakai.
Pendekatan ini didasarkan terutama pada pandangan bahwa sistem
operasi sebagai kumpulan rutin yang dipanggil pemakai untuk
malakukan beragam fungsi dan dieksekusi dalam lingkungan proses
pemakai.

Bab 3 : Manajemen Proses 78


P.0 P.1 P.n

Fungsi- Fungsi- Fungsi-


fungsi fungsi fungsi
sistem sitem sitem
operasi operasi operasi

Fungsi-fungsi pengalihan proses


(proses Switching Function)

Gambar 3.3. Eksekusi dalam proses pemakai


Pada seluruh waktu, sistem operasi mengelola N citra proses. Tiap citra
tidak hanya mempunyai daerah untuk proses tapi juga daerah program,
data dan stack untuk kernel. Terdapat juga ruang alamat yang dipakai
bersama semua proses.
Ketika interupsi, trap atau supervisor call terjadi, pemroses ditempatkan
ke mode kernel dan kendali dilewatkan ke sistem operasi. Eksekusi
dilanjutkan dalam proses pemakai saat itu, tidak dilakukan alih proses,
hanya alih konteks di proses yang sama.
Jika sistem operasi telah menyelasaikan tugas, menentukan apakah
proses berlanjut, maka alih konteks me-resum program yang diinterupsi
dalam proses itu juga. Keunggulan pendekatan ini adalah program
pemakai yang diinterupsi untuk memperoleh rutin sistem operasi dan di-
resume tidak mengalami overhead peralihan dua proses.
Jika sistem operasi menentukan bahwa alih proses terjadi bukan kembali
ke proses semula yang dieksekusi, maka kendali dilewatkan ke rutin alih
proses. Rutin ini boleh dijalankan pada proses dan boleh juga tidak
dijalankan, ini bergantung pada rancangan sistem. Pada keadaan ini,
proses saat itu menjadi state non-running dan proses lain menjadi
running.

Bab 3 : Manajemen Proses 79


3. Sistem Operasi juga sebagai kumpulan proses (process based operating
system)
Pendekatan ini mengimplementasikan sistem operasi sebagai kumpulan
proses.

U.0 U.1 … U.n OS.0 OS.1 … OS.n

Fungsi-fungsi pengalihan proses


(proses Switching Function)

Gambar 3.4. Proses Switching Function


Fungsi-fungsi kernel utama diorganisasi sebagai proses-proses terpisah.
Terdapat kode kecil pengalihan proses yang dieksekusi di luar proses.
Pendekatan ini mempunyai beberapa keunggulan, yaitu :
a. Perancangan modular dapat diterapkan ke perancangan sistem
operasi. Sistem operasi menjadi modul-modul dengan interface yang
bersih dan minimal antar modul-modul itu.
b. Fungsi-fungsi sistem operasi tak kritis secara bagus dapat
diimplementasikan sebagai proses-proses terpisah.
c. Mudah diterapkan pada lingkungan multiprosesor atau
multicomputer dalam hal ini beberapa layanan sistem operasi
disimpan di pemroses-pemroses. Tekhnik ini akan meningkatkan
kinerja.

3.7. Implementasi Proses


a. Tabel-tabel untuk Proses
Masing-masing proses di sistem mempunyai state yang perlu
diperhatikan sistem operasi. Sistem operasi mencatat state proses dengan
beragam tabel. Tabel-tabel tersebut saling berhubungan. Tabel tersebut
adalah :
1. Tabel informasi manajemen memori

Bab 3 : Manajemen Proses 80


Digunakan untuk menjaga keutuhan memori utama dan memori
sekunder. Tabel ini memuat informasi berikut:
a. Alokasi memori utama yang dipakai proses
b. Alokasi memori sekunder yang dipakai proses (bila
menggunakan manajemen memori dengan swapping)
c. Atribut segmen memori utama dan sekunder
d. Informasi-informasi lain yang digunakan untuk pengelolaan
memori
2. Tabel informasi manajemen masukan/keluaran
Digunakan untuk mengelola perangkat masukan/keluaran. Pada satu
saat perangkat masukan/ keluaran digunakan proses tertentu. Dengan
demikian perlu dijaga agar proses lain tidak memakainya. Sistem
operasi perlu mengetahui status operasi masukan/keluaran dan lokasi
memori utama yang digunakan untuk transfer data.
3. Tabel informasi sistem file
Berisi informasi mengenai ekstensi file, lokasi pada memori
sekunder, status saat itu dan menyimpan atribut-atribut file lainnya.
4. Tabel proses
Mengelola informasi proses di sistem operasi, lokasinya di memori.
Tabel juga berisi status dan atribut-atribut proses yang lain. Proses
ditempatkan di memori utama di lokasi tertentu, proses mempunyai
satu ruang alamat tersendiri. Ruang alamat yang digunakan proses
disebut citra proses (process image), karena selain seluruh kode biner
program, proses ditambahi atribut-atribut lain berkaitan
penempatannya pada suatu lokasi memori dan status aksekusi pada
saat itu.

Bab 3 : Manajemen Proses 81


Tabel 3.4. Elemen-elemen Citra Proses
Elemen Citra Proses Deskripsi
Data pemakai Bagian yang dapat dimodifikasi berupa data program,
daerah stack pemakai.
Program Pemakai Program biner yang akan dieksekusi
Stack sistem Digunakan untuk menyimpan parameter dan alamat
pemanggilan untuk prosedur dan system calls
PCB (Program Control Berisi informasi-informasi yang diperlukan oleh
Block) sistem operasi dalam mengendalikan proses

b. Pengalihan Konteks (Context Switching)


Dapat terjadi tanpa pengalihan state proses yang sedang running, sedang
pengalihan proses pasti mengakibatkan juga pengalihan konteks.
Siklus penanganan interupsi adalah :
1. Pemroses menyimpan konteks program saat itu yang sedang
dieksekusi ke stack.
2. Pemroses menge-set register PC dengan alamat awal program untuk
interrupt handler.
Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan intruksi-
intruksi berikutnya di interrupt handler yang melayani interupsi.
Pelaksanaan interupsi ini belum tentu mengakibatkan pengalihan ke
proses lain (yaitu pengalihan PCB proses dari senarai Running ke
senarai lain (Blocked, Ready, dan sebagainya), dan sebaliknya).
Pengalihan konteks disebut untuk pengalihan sementara yang dilakukan
dengan singkat, misalnya untuk mengeksekusi interrupt handler.
Setelah selesai penanganan interupsi, maka konteks yang terdapat pada
stack dikembalikan sehingga kembali ke konteks proses semula tanpa
terjadi pengalihan ke proses lain.

Bab 3 : Manajemen Proses 82


c. Pengalihan Proses (Process Switching)
Pada suatu saat, proses running diinterupsi dan sistem operasi memberi
proses lain state running dan menggilir kendali ke proses itu.
Dalam hal ini muncul beberapa masalah, yaitu :
1. Apa kejadian-kejadian yang memicu alih proses.
2. Masalah lain adalah terdapatnya perbedaan antara alih proses (process
switching) dan alih konteks (context switching).
3. Apa yang harus dilakukan sistem operasi terhadap beragam struktur
data yang di bawah kendalinya dalam alih proses?
Kejadian-kejadian penyebab pengalihan proses adalah :
1. Interupsi sistem
Disebabkan kejadian eksternal dan tidak bergantung proses yang saat
itu sedang dalam state running. Contohnya adalah selesainya operasi
masukan/keluaran.
Pada kejadian interupsi, kendali lebih dulu ditransfer ke interrupt
handler yang melakukan penyimpanan data dan kemudian beralih ke
rutin sistem operasi yang berkaitan dengan tipe interupsi itu.
Tipe-tipe interupsi antara lain:
2. Interupsi clock (clock interrupt)
Sistem operasi (penjadwal) menentukan apakah proses yang
sedang running telah dieksekusi selama jatah waktunya. Jika telah
mencapai jatahnya, maka proses dialihkan ke state ready dan
proses lain dijadwalkan untuk running.
3. Interupsi masukan/keluaran (I/O Interrupt) Kejadian dimana
peralatan masukan/keluaran melakukan interupsi meminta layanan
sistem operasi. Sistem operasi segera menentukan aksi-aksi
masukan/keluaran yang harus dilakukan.
4. Page/Memory Fault. Pemroses menemui pengacuan alamat
memori maya yang tidak terdapat di memori utama (fisik). Sistem
operasi segera memerintahkan untuk mengambil page yang
terdapat alamat yang dimaksud untuk dipindah ke memori utama.

Bab 3 : Manajemen Proses 83


2. Trap
Adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian
(exception conditions) yang dihasilkan proses yang running, seperti
usaha ilegal dalam mengakses file.
Dengan adanya trap, sistem operasi menentukan apakah kesalahan
yang dibuat merupakan kesalahan fatal?
a. Jika merupakan kesalahan yang fatal, proses yang pada saat itu
running disingkirkan dan terjadi alih proses.
b. Jika merupakan kesalahan yang tidak fatal, maka tergantung sifat
kesalahan dan rancangan sistem operasinya. Kemungkinan yang
dilakukan adalah menjalankan prosedur pemilihan atau
memperingatkan ke pemakai.
Saat terjadi trap, mungkin terjadi pengalihan proses mungkin pula
resume terhadap proses.
3. Supervisor call
Yaitu panggilan meminta atau mengaktifkan bagian sistem operasi.
Contoh :
Proses pemakai running meminta layanan masukan/keluaran, seperti
membuka file. Panggilan ini menghasikan transfer ke rutin bagian
sistem operasi. Biasanya, penggunaan sistem call membuat sistem
proses pemakai blocked karena diaktifkannya proses kernel (sistem
operasi)

Pengalihan proses terjadi, jika proses yang running beralih menjadi state
lain (ready, blocked, dan sebagainya), kemudian sistem operasi harus
membuat perubahan-perubahan berarti terhadap lingkungannya.
Langkah-langkah yang terlibat dalam pengalihan proses, antara lain :
1. Simpan konteks pemroses, termasuk register PC dan register-register
lain.
2. Perbaharui PCB proses yang running . Pelaksanaanya termasuk
mengubah state proses menjadi salah satu state (ready, blocked,

Bab 3 : Manajemen Proses 84


suspended ready, dan sebagainya). Field-field yang relevan juga
diperbaharui, misalnya meninggalkan state running dan informasi
akunting.
3. Pindahkan PCB proses ke senarai yang cocok (ready, blocked, dan
sebagainya).
4. Pilih satu proses lain untuk di eksekusi sesuai dengan teknik
penjadwalan.
5. Perbaharui PCB proses yang dipilih termasuk perubahan state menjadi
running.
6. Perbaharui struktur-struktur data manajemen memori. Pekerjaan ini
sesuai dengan pengelolaan translasi alamat.
7. Kembalikan konteks pemroses dengan konteks simpanan yang
memberitahu konteks proses teakhir saat dialihkan dari state running.
Pengembalian konteks ini dilakukan dengan memuatkan nilai-nilai
register PC dan register-register lain dengan nilai konteks yang
tersimpan.
Pengalihan proses melibatkan pengalihan konteks dan perubahan state,
memerlukan usaha yang lebih besar daripada pengalihan konteks.

Bab 3 : Manajemen Proses 85


Time Out

Complection
Dispatch
Ready Running

Event Wait
Event Occur
State aktif

Blocked
Suspend
Resume Suspend

Suspended Suspended
Ready I/O Complection Blocked
Gambar 3.5 Diagram lima state
Suspended (penundaan) adalah operasi penting dan telah
diterapkan dengan beragam cara pada banyak sistem. Suspended
biasanya hanya berlangsung singkat. Suspended sering dilakukan
sistem untuk memindahkan sementara proses-proses tertentu guna
mereduksi beban sistem selama situasi beban puncak.
Proses yang suspend tidak berlanjut sampai proses lain
meresumenya. Untuk suspended jangka panjang, resource-resource
proses dibebaskan. Pembebasan ini tergantung pada sifat masing–
masing resource. Memori utama seharusnya segera dibebaskan ketika
proses suspend agar dapat memanfaatkan proses lain. Resuming proses
adalah menjalankan proses dari titik (instruksi) di mana proses
disuspend.
Operasi suspend dan resume penting, sebab :
1. Jika sistem berfungsi secara buruk dan mungkin gagal, maka
proses-proses dapat disuspend agar diresume, setelah masalah
diselesaikan.

Bab 3 : Manajemen Proses 86


2. Pemakai ragu/kawatir mengenai hasil proses dapat mensuspend
proses bukan membuang (abort) proses. Saat pemakai yakin proses
berfungsi secara benar, maka dapat meresume 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
ketingkat normal.

Mikrokernel
Adalah inti sistem operasi yang menyediakan landasan perluasan
sistem operasi. Dipopulerkan oleh MACH. Secara teoritis, pendekatan
mikrokernel menyediakan derajat fleksibilitas dan modularitas tinggi.
Sistem operasi yang memakai pendekatan mikrokernel adalah MS
Windows NT.
Landasan mikrokernel adalah hanya fungsi-fungsi sistem operasi inti
yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan
dan aplikasi-aplikasi yang kurang esensi dibangun di atas mikrokernel itu.
Meskipun pembagian antara mana yang perlu dan tidak perlu ada di
mikrokernel beragam. Terdapat ciri yang sama, yaitu banyak layanan yang
secara tradisional merupakan bagian sistem operasi menjadi subsistem
eksternal. Subsistem ini berinteraksi dengan kernel dan subsistem-
subsistem lain. Layanan-layanan itu antara lain : sistem file, sistem
Windowing dan layanan-layanan.
Komponen-komponen sistem operasi diluar mikrokernel saling
berinteraksi melalui pesan yang dilewatkan melalui mikrokernel. Fungsi
mikrokernel adalah sebagai mediator pertukaran pesan. Mikrokernel
memvalidasi pesan, melewatkan pesan antara komponen-komponen dan
memberi hak pengaksesan perangkat keras.
Struktur ini ideal untuk lingkungan pemrosesan terdistribusi, karena
mikrokernel dapat melewatkan pesan baik secara lokal atau jarak jauh
tanpa perubahan komponen-komponen sistem operasi yang lain.

Bab 3 : Manajemen Proses 87


Process Control Block (PCB)
Dapat menyimpan informasi yang lengkap mengenai proses sehingga
sistem operasi dapat mengelola seluruh siklus hidup semua proses di
sistem. Setiap proses dalam sebuah sistem operasi mendapatkan sebuah
PCB (Process Control Block) yang memuat informasi tentang proses
tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan
menjadi nomor identitas, status proses, prioritas eksekusi proses dan
informasi lokasi proses dalam memori. Prioritas proses merupakan suatu
nilai atau besaran yang menunjukkan seberapa sering proses harus
dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan
dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan
proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja
menentukan semua proses dengan prioritas yang sama, sehingga setiap
proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga
merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat
memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya:
pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem
operasi menaikkan nilai prioritasnya).
Untuk menunjukkan elemen-elemen PCB, maka dapat di
kelompokkan menjadi 3 kelompok:
1. Informasi identifikasi proses
Adalah informasi-informasi yang berkaitan dengan identitas proses
yang unik.
2. Informasi status pemroses
Berisi informasi-informasi yang esensinyamerupakan nilai/isi dari
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. Jumlah dan ragam register yang terlibat
bergantung arsitektur komputer.
3. Informasi kendali proses

Bab 3 : Manajemen Proses 88


Adalah informasi-informasi lain yang diperlukan sistem operasi untuk
mengendalikan dan koordinasi beragam proses aktif.
Citra proses (process image) adalah ruang memori yang ditempati
oleh proses, yang memilki struktur berisi PCB, stack pemakai (user stack),
ruang alamat proses ekslusif dan ruang alamat yang dipakai bersama
proses lain.
Identifikasi Proses PCB
Informasi Status Proses (Process Control
BLock)
Informasi Kendali Proses
Stack Pemakai
Ruang alamat yang khusus
diperuntukkan pemakai
(program, data)
Ruang Alamat Bersama
Gambar 3.6. Citra Proses

Tabel ini menunjukkan Elemen-elemen PCB


Tabel 3.5. Elemen-Elemen PCB

Identifikasi Proses
Identifier
Identifier meliputi:
 identifier proses
 identifier proses yang menciptakan
 identifier pemakai
Informasi suatu proses
Register-register yang terlihat pemakai
Register-register yang dapat ditunjuk instruksi bahasa assembly untuk diolah
pemroses
Register-register kendali dan status

Bab 3 : Manajemen Proses 89


Register-register untuk mengendalikan operasi pemroses, antara lain
 program counter
 PSW
 Dsb
Pointer Stack
Proses mempunyai satu stack atau lebih. Stack digunakan untuk parameter atau
alamat prosedur pemanggil dan system call. Stack pointer menunjuk posisi paling
atas dari stack.
Informasi Kendali Proses
Informasi Penjadwalan dan Status
Informasi-informasi untuk fungsi penjadwalan, antara lain:
 status proses
 mendefinisikan keadaan/state proses(Running, Ready, Blocked, dsb)
 prioritas
menjelaskan prioritas proses
 informasi berkaitan dengan penjadwalan
berkaitan dengan informasi penjadwalan seperti lama menunggu, lama proses
terakhir dieksekusi, dsb
 kejadian
identitas kejadian yang ditunggu proses
Penstrukturan data
Satu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau
struktur lain. PCB harus memilikipointer untuk mendukung struktur ini.
Komunikasi Antarproses
Beragam flag, sinyal dan pesan dapat diasosialisasikan denagn komunikasi antara
dua proses yang terpisah. Informasi ini tersimpan dalam PCB.
Kewenangan Proses
Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi
yang dapat dijalankan.
Manajemen memori

Bab 3 : Manajemen Proses 90


Berisi pointer ke tabel segmen atau page yang menyatakan memori maya (virtual
memory) dari proses
Kepemilikan dan utilitas sumber daya
Sumber daya dikendalikan proses harus diberi tanda, misalnya:
 file yang yang dibuka
 pemakaian proses
 pemakaian sumber daya lain
informasi ini diperlukan oleh penjadwal

PCB dan Senarai (berbagai tabel) Proses


PCB berisi informasi mengenai proses yang diperlukan sistem
operasi. PCB dibaca/ dimodifikasi rutin seperti penjadwalan, alokasi
sumber daya, pemrosesan interupsi, monitoring dan analisis kinerja.
Kumpulan PCB mendefinisikan state sistem operasi. Untuk menyatakan
senarai proses di sistem operasi dibuat senarai PCB.

Gambar 3.6. PCB

Bab 3 : Manajemen Proses 91


Gambar 3.7. senarai PCB
Ket:
Gambar di atas hanya ada satu PCB berada di senarai Running. PCB ini
menyatakan proses yang saat itu sedang dieksekusi pemroses dimana pada
sistem monoprocessor (satu pemproses di sistem komputer) hanya satu
proses yang Running.
Proses-proses Ready digambarkan dengan PCB proses-proses di senarai
Ready. Proses-proses Ready menunggu dijadwalkan untuk dieksekusi
pemroses. Proses yang dijadwalkan dieksekusi (yaitu mengalami transisi
dari state Ready menjadi Running) maka PCB-nya dipindah dari senarai
Ready ke senarai Running.
Proses Running (PCB-nya berada di senarai Running) dipindah sesuai
state yang dialami proses itu, sebagai berikut:

Bab 3 : Manajemen Proses 92


o Bila proses berakhir (selesai) maka dijalankan operasi terminasi
sehingga PCB-nya tidak ada lagi.
o Bila proses di-block karena menunggu alokasi sumber daya maka
PCB-nya dipindah ke senarai Blocked.
o Bila proses dijadwalkan habis jatah waktu eksekusinya maka PCB-nya
dipindahkan ke senarai Ready.
Proses yang sedang Blocked berpindah menjadi Ready bila sumber daya
yang di-tuning telah teralokasi untuknya. Untuk itu PCB-nya dipindahkan
dari senarai Blocked ke senarai Ready.

Pengaksesan Informasi di PCB


Terdapat dua masalah utama proteksi terhadap PCB. Dua masalah utama
utama proteksi terhadap PCB, yaitu:
1. Bug (kesalahan pemrograman) pada rutin tunggal misalnya interrupt
handler dapat merusak PCB sehingga dapat berakibat menghancurkan
kemampuan sistem mengelola proses-proses yang diasosiasikan
dengan PCB.
2. Perubahan rancangan struktur dan semantik PCB dapat berdampak ke
sejumlah modul sistem operasi yang memakai PCB.
Masalah tersebut menciptakan suatu penanganan PCB dalam mengakses
PCB, sehingga dapat memproteksi PCB dan menjadi perantara penbacaan
dan penulisan PCB.
1. Masalah pertama dapat dicegah karena rutin penanganan PCB akan
selalu menjaga agar PCB tidak rusak.
2. Masalah kedua jelas langsung teratasi karena antarmuka terhadap
rutin-rutin lain masih tetap dipertahankan walau rincian-rincian PCB
diubah. Rutin-rutin sistem operasi yang memakai antarmuka tidak
perlu harus dirubah.
Kelemahan sistem ini adalah adanya overhead kinerja karena harus
memanggil rutin penanganan PCB.

Bab 3 : Manajemen Proses 93


3.8. Penjadwalan Proses
a. Deskripsi Penjadwalan Proses
Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme
pada sistem operasi berkenaan dengan urutan kerja yang dilakukan sistem
komputer.
Adapun penjadwalan bertugas memutuskan :
1. Proses yang harus berjalan
2. Kapan dan selama berapa lama proses itu berjalan
Sasaran utama penjadwalan proses adalah optimasi kinerja menurut
kriteria yang diinginkan. Kriteria-kriteria yang digunakan untuk mengukur
dan optimasi kinerja penjadwalan, antara lain :
1. Adil (fairness)
Penjadwalan itu adil, jika proses-proses yang diperlukan sama, yaitu
mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak
kebagian layanan pemroses, sehingga mengalami starvation. Sasaran
penjadwalan adalah menjamin tiap proses mendapat bagian dari
pemroses yang adil.
2. Efisiensi
Efisiensi atau utilisasi pemroses dihitung dengan berapa perbandingan
(rasio) waktu sibuk tiap pemroses. Sasaran Penjadwalan adalah
menjaga pemroses agar tetap dalam keadaan sibuk, sehingga efisiensi
bisa maksimum.
3. Waktu Tanggap (response time)
Waktu tanggap berbeda untuk :
a. Sistem interaktif
Waktu yang dihabiskan dari saat karakter terakhir dari perintah
dimasukkan atau transaksi sampai hasil pertama muncul di layar.
Waktu tanggap ini disebut terminal response time.
b. Sistem waktu nyata

Bab 3 : Manajemen Proses 94


Waktu dari saat kejadian (internal atau eksternal) sampai instruksi
pertama rutin layanan yang dimaksud dieksekusi, disebut event
response time.
4. Turn Arround Time
Waktu yang dihabiskan dari saat program atau job mulai masuk ke
sistem sampai proses diselesaikan sistem. Waktu yang dimaksud
adalah waktu yang dihabiskan dalam sistem, diekspresikan sebagai
penjumlah waktu eksekusi (waktu palayanan job) dan waktu
menunggu, yaitu :
Turn arround Time = Waktu eksekusi + Waktu tunggu
5. Throughput
Jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara
untuk mengekspresikan throughput adalah dengan jumlah job pemakai
yang dapat dieksekusi dalam satu unit atau interval waktu. Sasaran
penjadwalan adalah memaksimalkan jumlah job yang diproses per satu
interval waktu. Lebih tinggi angka throughput, lebih banyak kerja
yang dilakukan sistem.

Kriteria-kriteria tersebut saling bergantung dan dapat pula saling


bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara
simultan. Contoh :
Untuk memberi waktu tanggap kecil memerlukan penjadwalan
yang sering beralih ke antara proses-proses itu. Cara ini meningkatkan
overhead sistem dan mengurangi throughput.
Oleh karena itu dalam menentukan kebijaksanaan perancangan
penjadwalan sebaiknya melibatkan kompromi diantara kebutuhan-
kebutuhan yang saling bertentangan. Kompromi ini bergantung sifat dan
penggunaan sistem komputer.

Bab 3 : Manajemen Proses 95


b. Tipe Penjadwalan
Pada umumnya terdapat tiga tipe penjadwalan yang dapat berada
secara bersama-sama pada sistem operasi yang kompleks. Tiga tipe
penjadwalan tersebut, antara lain :
1. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses
ready di memori utama. Penjadwalan dijalankan setiap terjadi
pengalihan proses untuk memilih proses berikutnya yang harus
dijalankan.
2. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah
eksekusi karena membuat permintaan layanan masukan/keluaran atau
memanggil suatu system call. Proses-proses tertunda tidak dapat
membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang
menyebabkan tertunda dihilangkan. Agar ruang memori dapat
bermanfaat, maka proses dipindah dari memori utama ke memori
sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas
memori utama terbatas untuk sejumlah proses aktif. Aktivitas
pemindahan proses yang tertunda dari memori utama ke memori
sekunder disebut swapping. Proses-proses mempunyai kepentingan
kecil saat itu sebagai proses yang tertunda, tetapi begitu kondisi yang
membuatnya tertunda hilang dan proses dimasukkan kembali ke
memori utama dan ready.
3. Penjadwal jangka panjang (long term scheduller)
Penjadwal ini bekerja terhadap antrian batch dan memilih batch
berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses
dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses,
memori, perangkat masukan/keluaran), program-program ini
berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk)
selama periode aktivitas job-job interaktif rendah.

Bab 3 : Manajemen Proses 96


c. Strategi Penjadwalan Proses
1. Penjadwalan non preemptive (run to completion)
Begitu proses diberi jatah waktu pemroses, maka pemroses tidak dapat
diambil alih oleh proses lain.
2. Penjadwalan preemptive
Saat proses diberi jatah waktu pemroses, maka pemroses dapat diambil
alih proses lain sehingga proses diselah sebelum selesai dan harus
dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses
tersebut. Berguna pada sistem dimana proses-proses yang mendapat
perhatian/tanggapan pemroses secara cepat, misalnya :
a. Pada sistem realtime, kehilangan interupsi (tidak layani segera)
dapat berakibat fatal.
b. Pada sistem interaktif, agar dapat menjamin waktu tanggap yang
memadai.
Penjadwalan secara preemptive baik, tetapi harus dibayar mahal.
Peralihan proses memerlukan overhead (banyak tabel yang dikelola).
Supaya efektif, banyak proses harus berada di memori utama sehingga
proses-proses tersebut dapat segera running begitu diperlukan.
Menyimpan banyak proses tak running benar-benar di memori utama
merupakan suatu overhead tersendiri.

d. Algoritma-algoritma Penjadwalan Proses


Berikut jenis-jenis algoritma berdasarkan penjadwalan :
1. Algoritma penjadwalan non preemptive
a. FIFO (First In Firs Out), atau FCFS (First Come First), atau
Pertama Tiba Pertama Dilayani (PTPD).
Merupakan penjadwalan tanpa prioritas dan tanpa preemptive.
Antrian murni, proses yang tiba terlebih dahulu akan dilayani
terlebih dahulu. Jika proses itu tiba pada waktu yang sama, maka
pelayanan mereka dilaksanakan melalui urutan mereka pada
antrian. Tidak ada masalah dalam hal waktu proses, singkat atau

Bab 3 : Manajemen Proses 97


lama, untuk dapat dilayani oleh prosesor. Proses antrian belakang
harus menunggu sampai semua proses di depannya selesai
dilaksanakan. Dalam hal ini tidak menguntungkan bagi proses
dengan lama waktu pendek di belakang antrian proses.
Penilaian penjadwalan ini berdasarkan kriteria optimasi :
1. Adil. Adil dalam arti resmi (proses yang datang duluan akan
dilayani lebih dulu), tapi dinyatakan tidak adil karena job-job
yang perlu waktu lama membuat job-job pendek menunggu.
Job-job yang tidak penting dapat membuat job-job penting
menunggu lam.
2. Sangat efisien.
3. Waktu tanggap sangat jelek, tidak cocok untuk sistem interaktif
apalagi untuk sistem waktu nyata.
4. Turn around time jelek.
5. Throughput jelek.

Penjadwalan ini :
1. Baik untuk sistem batch yang sangat jarang berinteraksi dengan
pemakai. Contoh : aplikasi analisis numerik, maupun
pembuatan tabel.
2. Sangat tidak baik (tidak berguna) untuk sistem interaktif,
karena tidak memberi waktu tanggap yang baik.
3. Tidak dapat digunakan untuk sistem waktu nyata (real-time
applications).

Bab 3 : Manajemen Proses 98


Contoh soal :
Jika diketahui terdapat 5 (lima) macam antrian proses, yaitu A-B-C-D-E
dengan waktu kedatangan semuanya 0 (nol).
Nama Proses Waktu Tiba Lama Eksekusi
A 0 5
B 0 2
C 0 6
D 0 8
E 0 3
Pertanyaan:
a. Kapan dimulainya eksekusi dari tiap-tiap antrian proses tersebut?
b. Kapan selesai eksekusinya?
c. Hitung Turn Arround Time (TA)-nya?
d. Berapa rerata TA?
Rumus untuk :
TA = Selesai eksekusi – Waktu tiba
Rerata TA =  TA /  Proses
Waktu tunggu = Mulai eksekusi - Waktu tiba
Penyelesaian :
Nama Waktu Lama Mulai Selesai TA
Proses Tiba Eksekusi Eksekusi Eksekusi
A 0 5 0 5 5
B 0 2 5 7 7
C 0 6 7 13 13
D 0 8 13 21 21
E 0 3 21 24 24
TA = 70
Rerata TA = 14

Bab 3 : Manajemen Proses 99


Tampak di sini bahwa rerata lama tanggap adalah 14 satuan waktu. Nilai
ini cukup besar bila dibandingkan dengan lama proses dari masng-masing
proses tersebut. Proses pada contoh tersebut tidak disertai dengan waktu
tiba yang berbeda.

Contoh soal :
Jika diketahui terdapat 5 (lima) macam antrian proses, yaitu A-B-C-D-E
dengan waktu kedatangan proses berbeda-beda.

Nama Proses Waktu Tiba Lama Eksekusi


A 0 5
B 1 2
C 2 6
D 2 8
E 5 3

Penyelesaian :
Nama Waktu Lama Mulai Selesai TA
Proses Tiba Eksekusi Eksekusi Eksekusi
A 0 5 0 5 5
B 1 2 5 7 6
C 2 6 7 13 11
D 2 8 13 21 19
E 5 3 21 24 16
TA = 57
Rerata TA = 11.4

Kedua contoh tersebut menunjukkan bahwa lama tanggap


sangat dipengaruhi oleh lama proses pada proses yang terletak di

Bab 3 : Manajemen Proses 100


bagian depan antrian. Jika lama proses pada proses di bagian depan
antrian itu besar, maka proses dengan lama proses singkat di
bagian belakang antrian tetap harus lama menunggu sebelum
mereka dapat dilayani oleh prosesor. Itulah sebabnya, penjadwalan
FIFO ini kurang menguntungkan bagi keseluruhan pelayanan.
Rerata lama tanggap dirasakan terlalu besar.

b. SJF (Shortest Job First), atau SJN (Shortest Job Next) atau Proses
Terpendek Dipertamakan (PTD).
Salah satu cara untuk mengatasi penjadwalan FIFO adalah melalui
prioritas. Proses dengan lama proses yang singkat memperoleh
prioritas/didahulukan ke prosesor. Makin singkat lama prosesnya,
makin cepat proses tersebut dilayani oleh prosesor. Penjadwalan
ini dikenal sebagai “Proses Terpendek Dipertamakan”.
Mekanismenya adalah menjadwalkan proses dengan waktu jalan
terpendek lebih dulu sampai selesai, sehingga memberikan
efisiensi yang tinggi dan turn around time rendah.
Penjadwalan tersebut merupakan penjadwalan dengan prioritas
tanpa preemptive. Dasar prioritas adalah pendeknya proses. Makin
pendek proses makin tinggi prioritasnya. Penjadwalan ini cocok
digunakan untuk long term.
Algoritma penjadwal prioritas adalah sebagai berikut:
1. Setiap proses akan mempunyai prioritas (bilangan integer).
Beberapa sistem menggunakan integer dengan urutan kecil
untuk proses dengan prioritas rendah, dan sistem lain juga bisa
menggunakan integer urutan kecil untuk proses dengan
prioritas tinggi. Tetapi dalam teks ini diasumsikan bahwa
integer kecil merupakan prioritas tertinggi.
2. Penentuan pada saat tertentu, proses mana yang perlu dilayani
oleh prosesor.

Bab 3 : Manajemen Proses 101


3. Dalam algoritma ini ada dua skema yaitu:
a. Preemptive : Proses dapat di interupsi jika terdapat prioritas
lebih tinggi yang memerlukan CPU.
b. Nonpreemptive : Proses dengan prioritas tinggi akan
mengganti pada saat pemakaian time-slice habis.
4. SJF adalah contoh penjadual prioritas dimana prioritas
ditentukan oleh waktu pemakaian CPU berikutnya.
Permasalahan yang muncul dalam penjadwalan prioritas adalah
indefinite blocking atau starvation.
5. Kadang-kadang untuk kasus dengan prioritas rendah mungkin
tidak pernah dieksekusi. Solusi untuk algoritma penjadual
prioritas adalah paging
6. Prioritas akan naik, jika proses makin lama menunggu waktu
jatah CPU.
Masalah yang muncul adalah :
1. Tidak mengetahui ukuran job saat job masuk. Untuk
mengetahui ukuran job adalah dengan membuat estimasi
berdasarkan kelakukan sebelumnya.
2. Proses yang tidak datang bersamaan, sehingga penetapannya
harus dinamis.

Contoh soal :
Jika diketahui terdapat 5 (lima) macam antrian proses, yaitu A-B-C-D-E
dengan waktu kedatangan semuanya 0 (nol).
Nama Proses Waktu Tiba Lama Eksekusi
A 0 10
B 0 5
C 0 7
D 0 1
E 0 3

Bab 3 : Manajemen Proses 102


Penyelesaian :

Nama Waktu Lama Mulai Selesai TA


Proses Tiba Eksekusi Eksekusi Eksekusi
A 0 1 0 1 1
B 0 3 1 4 6
C 0 5 4 9 9
D 0 7 9 16 16
E 0 10 16 26 26
TA = 58
Rerata TA = 11.6

Tampak disini bahwa SJF ini menyebabkan rerata lama tanggap


semua proses itu menjadi 11.6 satuan waktu. Rerata ini akan lebih singkat
jika dibandingkan dengan rerata lama tangkap untuk penjadwalan FIFO.

Contoh soal :
Jika diketahui terdapat 5 (lima) macam antrian proses, yaitu A-B-C-D-E
dengan waktu kedatangan proses berbeda-beda
Nama Proses Waktu Tiba Lama Eksekusi
A 0 1
B 2 3
C 5 5
D 7 7
E 9 10

Bab 3 : Manajemen Proses 103


Penyelesaian :

Nama Waktu Lama Mulai Selesai TA


Proses Tiba Eksekusi Eksekusi Eksekusi
A 0 1 0 1 1
B 2 3 2 5 3
C 5 5 5 10 5
D 7 7 10 17 10
E 9 10 17 27 18
TA = 37
Rerata TA = 7.4

Dari tabel diatas terlihat bahwa proses job A dimulai eksekusi pada
angka 0 dan selesai eksekusi pada angka 1. Job B tiba pada antrian
proses pada angka 2 dengan lama eksekusi angka 3. Job B ini akan
dieksekusi pada angka 2, tetapi bukan angka 1, yaitu waktu
selesainya job A, karena pada angka 1, yaitu selesainya job A, job
B belum tiba pada antrian proses. Ini berarti prosesor harus
menunggu sampai job-job tiba pada antrian proses. Begitu juga
pada proses job D (kasus sama dengan job B).
Algoritma penjadwalan SJF ini memiliki keunggulan dan
kelemahan. Keunggulannya terletak pada kemampuannya untuk
memperkecil rerata lama tanggap. Kelemahannya terletak pada
layanan terhadap proses panjang. Jika proses pendek tiba terus-
menerus, maka layanan terhadap proses panjang akan terus-
menerus tertunda. Penundaan ini tidak mengenal batas selama
proses pendek masih saja terus tiba. Kelemahan berikutnya terletak
pada implementasi.
c. HRN (Highest Ratio Next)

Bab 3 : Manajemen Proses 104


Penjadwalan berprioritas dinamis. Penjadwalan ini terletak diantara
penjadwalan FIFO dan SJF. Penjadwalan HRN tetap
mendahulukan proses pendek, namun prioritas proses panjang akan
turut meningkat melalui peningkatan rasio penaltinya. Pada suatu
saat, prioritas proses panjang yang lama tertunda akan dapat
menyusul prioritas proses pendek. Disebut HRN, karena waktu
tunggu ditambah waktu layanan adalah waktu tanggap,yang berarti
waktu tanggap tertinggi yang harus dilayani.
Prioritas dinamis HRN dihitung berdasarkan rumus :
Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan
Karena waktu layanan muncul sebagai pembagi, maka job lebih
pendek berprioritas lebih baik, karena waktu tunggu sebagai
pembilang, maka proses yang telah menunggu lebih lama juga
mempunyai kesempatan lebih bagus.

Contoh soal :
Jika diketahui terdapat 5 (lima) macam antrian proses, yaitu A-B-
C-D-E dengan waktu kedatangan proses berbeda-beda.

Nama Proses Waktu Tiba Lama Eksekusi


A 0 4
B 1 2
C 2 5
D 3 8
E 4 4

Bab 3 : Manajemen Proses 105


Penyelesaian :

Tabel proses ke-1 (satu)


Nama Waktu Lama Mulai Selesai TA
Proses Tiba Eksekusi Eksekusi Eksekusi
A 0 4 0 4 4

Dari soal di atas, yang akan dikerjakan pertama kali adalah job
yang tibanya pertama kali. Ini dikarenakan job-job lain belum tiba
dan status prosesor dalam keadaan kosong, yaitu tidak sedang
melakukan eksekusi. Pada saat 4, yaitu selesainya eksekusi job A,
kita menemukan rasio penalti B, C, D, E sebagai berikut :

Bab 3 : Manajemen Proses 106


Tabel rasio penalti ke-1 (satu)
Proses Waktu sia-sia Rasio penalti
B 4–1=3 (3 + 2) / 2 = 2,5
C 4–2=2 (2 + 5) / 5 = 1,2
D 4–3=1 (1 + 8) / 8 = 1,125
E 4–4=0 (0 + 4) / 4 = 1

Di sini pada tabel rasio penalti ke-1 (satu) tertinggi adalah proses job B,
maka tabel proses ke-2 (dua) adalah :
Nama Waktu Lama Mulai Selesai TA
Proses Tiba Eksekusi Eksekusi Eksekusi
A 0 4 0 4 4
B 1 2 4 6 5

Pada tabel proses ke-2 (dua) kita dapati bahwa proses B selesai pada saat 6
(enam), maka tabel rasio penalti ke-2 (dua) adalah :
Proses Waktu sia-sia Rasio penalty
C 6–2=4 (4 + 5) / 5 = 1,8
D 6–3=3 (3 + 8) / 8 =
1,375
E 6–4=2 (2 + 4) / 4 = 1,5

Di sini pada tabel rasio penalti ke-2 (dua) tertinggi adalah proses job C,
maka tabel proses ke-3 (dua) adalah :
Nama Waktu Lama Mulai Selesai TA
Proses Tiba Eksekusi Eksekusi Eksekusi
A 0 4 0 4 4
B 1 2 4 6 5
C 2 5 6 11 9

Bab 3 : Manajemen Proses 107


Pada tabel proses ke-3 (tiga) kita dapati bahwa proses C selesai pada saat
11 (sebelas), maka tabel rasio penalti ke-3 (tiga) adalah :
Proses Waktu sia-sia Rasio penalti
D 11 – 3 = 8 (8 + 8) / 8 = 2
E 11 – 4 = 7 (7 + 4) / 4 =
2,75

Pada saat ini, proses E memiliki rasio penalty tertinggi, sehingga proses E
yang dikerjakan. Pada saat 15, proses E selesai, dan mulai dari saat 15,
proses D dikerjakan sampai selesai pada saat 23.
Nama Waktu Lama Mulai Selesai TA
Proses Tiba Eksekusi Eksekusi Eksekusi
A 0 4 0 4 4
B 1 2 4 6 5
C 2 5 6 11 9
E 4 4 11 15 11
D 3 8 15 23 20
 = 49
Rerata TA = 9.8

Jadi, proses A berlangsung dari saat 0 sampai saat 4, proses B


berlangsung dari saat 4 sampai saat 6, proses C berlangsung dari saat
6 sampai saat 11, proses D berlangsung dari saat 15 sampai saat 23,
dan proses E berlangsung dari saat 11 sampai saat 15.

2. Algoritma penjadwalan preemptive


a. SRF (Shortest Remaining First)
Merupakan penjadwalan berprioritas dinamis. Kita
menggunakn dua langkah untuk melihat pelaksanaan penjadwalan

Bab 3 : Manajemen Proses 108


ini. Pada langkah pertama, setiap kali kita memperhatikan saat
proses tiba atau saat proses selesai. Pada langkah kedua, kita
menghitung lama sisa proses dari semua proses yang pada saat itu.
Jika ada proses dengan sisa proses yang lebih pendek dari sisa
proses pada proses yang sedang dikerjakan, maka atas dasar
preemptive, proses yang sedang dikerjakan itu dikeluarkan dari
proses, dan sebagai gantinya proses dengan sisa terpendek
itulahlah yang dikerjakan oleh prosessor. Cocok untuk
timesharing.
Kelemahan :
1. Mempunyai overhead lebih besar dibanding SJF (Shortest Job
First). SRF perlu penyimpanan waktu layanan yang telah
dihabiskan job dan kadang-kadang harus menangani peralihan.
2. Tibanya proses-proses kecil akan segera dijalankan.
3. Job-job lebih lama berarti dengan lama dan variasi waktu
tunggu lebih lama dibanding pada SJF.
Contoh soal :
Jika diketahui terdapat 5 (lima) macam antrian proses, yaitu A-B-C-D-E
dengan waktu kedatangan proses berbeda-beda.
Nama Proses Waktu Tiba Lama Eksekusi
A 0 7
B 2 3
C 4 9
D 5 4

Bab 3 : Manajemen Proses 109


Penyelesaian :
Nama Waktu Lama Sisa Mulai Selesai TA
Proses Tiba Eksekusi Eksekusi Eksekusi Eksekusi
A 0 7 5,0 0 14 14
B 2 3 1,0 2 5 3
C 4 9 0 14 23 19
D 5 4 0 5 9 4
TA = 40
Rerata TA = 10

Pada saat 0 (nol), hanya proses A yang telah tiba, maka mulai
dari saat 0 (nol) proses A yang dikerjakan oleh proseseor. Setelah
bekerja sampai saat 2 (dua), proses B tiba. Pada saat 2 (dua), sisa
proses dari proses A adalah 5 (lima), sedangkan lama proses dari
proses B adalah 3 (tiga), karena proses B lebih sedikit lama
eksekusinya, maka melalui preemptive mulai saat 2 (dua) proses A
dikeluarkan dari prosesor untuk digantikan oleh prosesor B.
Pada saat 4 (empat) yaitu pada proses B, proses C tiba. Pada
saat 4 (empat) sisa waktu eksekusi A adalah 5 (lima), proses B
tinggal 1 (satu), serta lama proses dari C adalah 9 (sembilan). Yang
paling dekat ke waktu selesai adalah proses B, sehingga pada saat 4
(empat) pelaksanaan proses B diselesaikan.
Pada saat 5 (lima) proses D tiba. Pada saat 5 (lima), sisa proses
dari proses A adalah 5 (lima), proses B selesai, lama proses dari
proses C adalah 9 (sembilan), serta lama proses dari D adalah 4
(empat). Yang paling dekat ke waktu selesai adalah proses D,
sehingga mulai pada saat 5 (lima) proses D dikerjakan.
Pada saat 9 (sembilan) proses D selesai. Pada saat 9 (sembilan),
sisa waktu eksekusi proses A adalah 5 (lima), serta lama proses
dari C adalah 9 (sembilan). Yang paling cepat untuk diselesaikan

Bab 3 : Manajemen Proses 110


eksekusinya adalah proses A, sehingga mulai pada saat 9
(sembilan), sisa proses A dikerjakan dan selesai pada saat 14
(empatbelas), sehingga mulai saat 14 (empatbelas), proses C
dikerjakan sampai rampung pada saat 23.

b. RR (Round Robin)
Merupakan penjadwalan yang paling tua, sederhana, adil,
banyak digunakan algoritmanya dan mudah diimplementasikan.
Pada penjadwalan RR ini, eksekusi dilakukan secara bergiliran
berdasarkan antrian (non preemptive), prosessor mengerjakan
sesaat setiap proses secara berturut-turut. Proses yang telah
dieksekusi prosesesor dan belum selesai, sehingga penggiliran
untuk eksekusi tersebut seperti gelang. Hanya proses yang telah
selesai dieksekusi yang meninggalkan proses dan antrian tersebut.

Proses yang dilayani dan belum selesai

Prosessor
A B C D

Antrian proses

Gambar 3.8 Pelayanan prosesor terhadap proses menurut penjadwalan RR

Pada saat job tiba mempunyai waktu tiba yang sama, maka
eksekusi tersebut dilakukan tanpa prioritas. Kita dapat melihat
pelaksanaan setiap proses pada akhir kuantum waktu. Nilai
kuantum waktu ini digunakan untuk memulai maupun
menghentikan job atau proses yang sedang dieksekusi. Pada
metode ini, jika proses yang sedang dieksekusi belum selesai
karena diberhentikan oleh waktu kuntum (q) atau time slice, tetapi

Bab 3 : Manajemen Proses 111


lama eksekusi belum selesai, maka proses tersebut diantrikan
kembali di status antrian paling akhir, dan jika proses telah selesai
dieksekusi yang disebabkan oleh lama eksekusi habis, maka proses
tersebut akan keluar dari antrian proses.
Algoritma yang digunakan :
1. Jika kuantum habis dan proses belum selesai, maka proses
menjadi runnable dan pemroses dialihkan ke proses lain.
2. Jika kwanta belum habis dan proses menunggu suatu kejadian
(selesainya operasi I/O), maka proses menjadi blocked dan
pemroses dialihkan ke proses lain.
3. Jika kuantum belum habis tetapi proses telah selesai, maka
proses diakhiri dan pemroses dialihkan ke proses lain.
Diimplementasikan dengan :
1. Mengelola senarai proses ready (runnable) sesuai urutan
kedatangan.
2. Ambil proses yang berada di ujung depan antrian menjadi
running.
3. Bila kuantum belum habis dan proses selesai, maka ambil
proses di ujung depan antrian proses ready.
4. Jika kuantum habis dan proses belum selesai, maka tempatkan
proses running ke ekor antrian proses ready dan ambil proses
di ujung depan antrian proses ready.
Masalah yang timbul adalah menentukan besar kuantum, yaitu :
1. Kuantum terlalu besar menyebabkan waktu tanggap besar dan
turn arround time rendah.
2. Kuantum terlalu kecil menyebabkan peralihan proses terlalu
banyak, sehingga menurunkan efisiensi proses.
Penilaian penjadwalan ini berdasarkan kriteria optimasi :
1. Adil. Jika dipandang dari persamaan pelayanan oleh pemroses.
2. Efisiensi, cenderung pada sistem interaktif.

Bab 3 : Manajemen Proses 112


3. Waktu tanggap, memuaskan untuk sistem interaktif, tidak
memadai untuk sistem waktu nyata.
4. Turn around time, cukup baik.
5. Throughtput, cukup baik.
Penjadwalan ini :
1. Baik untuk sistem interactive-time sharing, dimana
kebanyakan waktu dipergunakan menunggu kejadian eksternal.
Contoh : text editor, kebanyakan waktu program adalah untuk
menunggu keyboard, sehingga dapat dijalankan proses-proses
lain.
2. Tidak cocok untuk sistem waktu nyata, apalagi hard-real-time
applications.

Contoh soal :
Jika diketahui terdapat 5 (lima) macam antrian proses, yaitu A-B-C-D-E
dengan waktu kedatangan semua proses sama, dan kuantum waktu adalah
3 (tiga).
Nama Proses Waktu Tiba Lama Eksekusi
A 0 7
B 0 5
C 0 8
D 0 2
E 0 6

Bab 3 : Manajemen Proses 113


Penyelesaian :
Nama Waktu Lama Sisa Mulai Selesai TA
Proses Tiba Eksekusi Eksekusi Eksekusi Eksekusi
A 0 7 4,1,0 0 26 26
B 0 5 2,0 3 19 19
C 0 8 5,2,0 6 28 28
D 0 2 0 9 11 11
E 0 6 3,0 11 25 25
A = 109
Rerata TA = 21,8

Contoh soal :
Jika diketahui terdapat 5 (lima) macam antrian proses, yaitu A-B-C-D-E
dengan waktu kedatangan proses berbeda-beda, dan kuantum waktu adalah
2 (dua).

Nama Proses Saat Tiba Lama Eksekusi


A 0 5
B 1 3
C 5 7
D 6 1
E 7 6

Penyelesaian :
Nama Waktu Lama Sisa Mulai Selesai TA
Proses Tiba Proses Eksekusi Eksekusi Eksekusi
A 0 5 3,1,0 0 12 12
B 1 3 1,0 2 7 6

Bab 3 : Manajemen Proses 114


C 5 7 5,3,1 7 22 17
D 6 1 0 9 10 4
E 7 6 4,2,0 10 21 14
A = 53
Rerata TA = 10,6

Berdasarkan waktu kuantum yaitu 2 (dua), ini berarti bahwa setiap


job diberikan kesempatan melakukan proses sebanyak 2 (dua) kali
dalam setiap pemrosesan. Pada saat A tiba prosesor dalam status
diam (0), maka proses A akan dieksekusi lebih dahulu selama 2
(karena q=2), sehingga A masih mempunyai waktu sisa 3. Proses A
akan selesai pertama pada angka 2 (dua). Pada saat B tiba (angka
1), maka B akan dieksekusi mulai 2 dan akan selesai pada angka 4
dan masih sisa 1, angka 4 ini akan langsung digunakan untuk
eksekusi proses A selama 2, karena proses C belum tiba. Begitu
seterusnya.

c. MFQ (Multiple Feed back Queues)


Penjadwalan berprioritas dinamis Salah satu prioritas
penjadwalan ada pada CTSS (Corbato et all, 1962). CTSS
mempunyai problem pemutaran penjadwalan, yaitu sangat pelan
karena 7094 hanya dapat memproses satu memori, setiap putaran
berarti pertukaran proses arus piringan dan bacaan dalam sebuah
arus yang lain dalam piringan. Pembuat CTSS sadar bahwa dengan
lebih efisien, jika memberikan penjadwalan proses dengan
kuantum yang lebih besar, jika dibanding dengan sering
memberikan kuantum di pihak lain (untuk mengurangi
pertukaran/perputaran proses).
Penjadwalan ini untuk mencegah (mengurangi) banyaknya
swapping dengan proses-proses yang sangat banyak menggunakan
pemroses (karena menyelesaikan tugasnya memakan waktu lama)

Bab 3 : Manajemen Proses 115


diberi jatah waktu (jumlah kuantum) lebih banyak dalam satu
waktu. Penjadwalan ini juga menghendaki kelas-kelas prioritas
bagi proses-proses yang ada. Pemberian semua proses kuantum
yang besar akan berarti lemahnya waktu respon. Pemecahan
masalah ini adalah dengan mengumpulkan kelas-kelas prioritas.
Proses-proses dengan kelas tertinggi yang dijalankan untuk satu
kuantum, proses-proses dikelas tertinggi berikutnya dijalankan
untuk dua kuantum, proses-proses dikelas tertinggi berikutnya
dijalankkan untuk dua kuantum.

d. GS (Guaranteed Schedulling)
Penjadwalan ini memberikan janji yang realistis (memberi daya
pemroses yang sama) untuk membuat dan menyesuaikan
performance adalah jika ada N pemakai, sehingga setiap proses
(pemakai) akan mendapatkan 1/N dari daya pemroses CPU. Untuk
mewujudkannya, sistem harus selalu menyimpan informasi tentang
jumlah waktu CPU untuk semua proses sejak login dan juga berapa
lama pemakai sedang login, kemudian jumlah waktu CPU yaitu
waktu mulai login dibagi dengan n, sehingga lebih mudah
menghitung rasio waktu CPU. Karena jumlah waktu pemroses tiap
pemakai dapat diketahui, maka dapat dihitung rasio antara waktu
pemroses yang sesungguhnya harus diperoleh, yaitu 1/N waktu
pemroses seluruhnya dan waktu pemroses yang telah
diperuntukkan proses itu.
Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari apa yang
waktu CPU miliki dan rasio 2,0 berarti sebuah proses hanya punya
2,0 dari apa yang waktu CPU miliki. Algoritma akan menjalankan
proses dengan rasio paling rendah hingga naik ketingkat lebih
tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat
diimplementasikan ke sistem real-time dan memiliki penjadwalan
berprioritas dinamis.

Bab 3 : Manajemen Proses 116


e. PS (Priority Schedulling)
Adalah tiap proses diberi prioritas dan proses yang berprioritas
tertinggi mendapat jatah waktu lebih dulu (running). Berasumsi
bahwa masing-masing proses memiliki prioritas tertentu, sehingga
akan dilaksanakan berdasar prioritas yang dimilikinya. Ilustrasi
yang dapat memperjelas prioritas tersebut adalah dalam komputer
militer, dimana proses dari jendral berprioritas 100 (seratus),
proses dari kolonel 90 (sembilan puluh), mayor berprioritas 80
(delapan puluh), kapten berprioritas 70 (tujuh puluh), letnan
berprioritas 60 (enampuluh), dan seterusnya. Dalam UNIX perintah
untuk mengubah prioritas menggunakan perintah nice.
Klasifikasi lain selain berdasarkan dapat/tidaknya suatu proses
diambil secara paksa adalah klasifikasi berdasarkan adanya
prioritas di proses-proses, yaitu:
1. Algoritma penjadwalan tanpa berprioritas
2. Algoritma penjadwalan berprioritas, terdiri dari :
a. Berprioritas static
Berarti prioritas tidak berubah. Keunggulan :
1. Mudah diimplementasikan.
2. Mempunyai overhead relatif kecil.
Kelemahan : Tidak tanggap terhadap perubahan lingkungan
yang mungkin menghendaki penyesuaian prioritas.
b. Berprioritas dinamis
Merupakan mekanisme untuk menanggapi perubahan
lingkungan sistem beroperasi. Prioritas awal yang diberikan
ke proses mungkin hanya berumur pendek setelah
disesuaikan ke nilai yang lebih tepat sesuai lingkungan.
Kelemahan :

Bab 3 : Manajemen Proses 117


Implementasi mekanisme prioritas dinamis lebih kompleks
dan mempunyai overhead lebih besar. Overhead ini
diimbangi dengan peningkatan daya tanggap sistem.

Contoh penjadwalan berprioritas :


Proses-proses yang sangat banyak operasi
masukan/keluaran menghabiskan kebanyakan waktu
menunggu selesainya operasinya masukan/keluaran.
Proses-proses ini diberi prioritas sangat tinggi, sehingga
begitu proses memerlukan pemroses segera diberikan
proses akan segera memulai permintaan masukan/keluaran
berikutnya, sehingga menyebabkan proses blocked
menunggu selesainya operasi masukan/keluaran. Dengan
demikian pemroses dapat dipergunakan proses-proses lain.
Proses-proses I/O berjalan paralel bersama proses-proses
lain yang benar-benar memerlukan pemroses, sementara
proses-proses I/O itu menunggu selesainya operasi DMA.
Proses-proses yang sangat banyak operasi I/O-nya,
kalau harus menunggu lama untuk memakai pemroses
(karena prioritas rendah) hanya akan membebani memori,
karena harus disimpan tanpa perlu proses-proses itu
dimemori karena tidak selesai-selesai menunggu operasi
masukan dan menunggu jatah pemroses.
Dalam algoritma berprioritas dinamis dituntun oleh
keputusan untuk memenuhi kebijaksanaan tertentu yang
menjadi tujuan. Layanan yang bagus adalah menset
prioritas dengan nilai 1/f, dimana f adalah ratio kuantum
terakhir yang digunakan proses.
Contoh :
o Proses yang menggunakan 2 (dua) msec kuantum 100
(seratus) ms, maka prioritasnya 50 (lima puluh).

Bab 3 : Manajemen Proses 118


o Proses yang berjalan selama 50 (lima puluh) ms
sebelum blocked berprioritas 2 (dua).
o Proses yang menggunakan seluruh kuantum berprioritas
1 (satu).
Kebijaksanaan yang diterapkan adalah jaminan proses-
proses mendapat layanan adil dari pemroses dalam arti
jumlah waktu pemroses yang sama.
Keunggulannya penjadwalan berpriorita adalah
memenuhi kebijaksanaan yang ingin mencapai maksimasi
suatu kriteria diterapkan.
Algoritma ini dapat dikombinasikan, yaitu dengan
mengelompokkan proses-proses menjadi kelas-kelas
prioritas. Penjadwalan berprioritas diterapkan antar kelas-
kelas proses itu.
Algoritma penjadwal akan menjalankan : proses
runnable untuk prioritas 4 (empat) lebih dulu secara round
robin, apabila kelas 4 (empat) semua sudah diproses,
selanjutnya akan menjalankan proses runnable untuk
prioritas 3 (tiga), apabila kelas 3 (tiga) semua sudah
diproses (habis), selanjutnya akan menjalankan proses
runnable untuk prioritas 2 (dua), dan seterusnya, seperti
dalam gambar berikut :

Bab 3 : Manajemen Proses 119


Queues header Runnable processes
|=======================================|
+------------+ +---+ +---+ +---+
: Priority 4 :------: :----: :----: : (Highest priority)
: : +---+ +---+ +---+
+------------+ +---+ +---+ +---+ +---+ +---+
: Priority 3 :------: :----: :----: :----: :----: :
: : +---+ +---+ +---+ +---+ +---+
+------------+ +---+
: Priority 2 :------: :
: : +---+
+------------+
: Priority 1 : (Lowest priority)
: :
+------------+
Gambar 3.9. Schedule algoritma denga empat klas prioritas
Contoh soal :
Proses Durasi Urutan Kedatangan
P1 6 4 0
P2 8 1 0
P3 7 3 0
P4 3 2 0

P2 P4 P3 P1

• Waktu tunggu: P1 = 18, P2 = 0, P3 = 11, P4 = 8


• Waktu tunggu rata-rata: (18+0+11+8)/4 = 9.25

Bab 3 : Manajemen Proses 120


3.9. Studi Kasus
Dalam sistem operasi terdapat manajemen proses. Proses merupakan
konsep pokok pada sistem operasi. Suatu proses menjalani tahapan-tahapan
perkembangan yang biasa disebut state suatu proses, yaitu tahap : submit,
hold, ready, wait, run, dan completition. Hal ini dapat terjadi, tetapi jika
proses tersebut masih terdapat kesalahan dalam arti kata output tidak
tercapai secara sempurna, maka akan terjadi status wait ataupun blocked.
Contoh kasus : seorang pemakai sistem memasukkan jobnya dengan
menempatkan tumpukan kartu ke dalam card reader. Tumpukan kartu
tersebut diawali oleh beberapa kartu yang disebut job control cards yang
berfungsi untuk memberikan informasi pada sistem operasi tentang
spesifikasi kebutuhan sumber daya yang diperlukan. Tahap dimana pemakai
sistem menyerahkan jobnya tersebut dinamakan ststus submit. Dengan
selesainya tahap ini, tentunya sistem akan memberikan respon terhadap
permintaan pemakaian sistem tersebut.
Contoh kasus : proses dapat menciptakan proses baru, yaitu proses
anak (child process). Proses yang menciptakan disebut parent process.
Proses anakpun dapat kembali menciptakan proses-proses anaknya. Dengan
demikian, proses-proses dapat membentuk suatu pohon hierarki proses. Pada
UNIX, proses-proses baru diciptakan dengan system call fork. System call
fork menciptakan kopian identik dengan proses pemanggil. Setelah
panggilan fork, induk berjalan secara paralel bersama proses anak. Induk
dapat kembali melakukan fork untuk menciptakan proses-proses anak baru.
Proses anakpun dapat mengeksekusi fork, sehingga pada UNIX dapat
terbentuk pohon hirarki proses.

Bab 3 : Manajemen Proses 121

Anda mungkin juga menyukai