MANAJEMEN PROSES PADA SISTEM OPERASI
Proses
adalah program dalam eksekusi. Proses juga termasuk aktivitas yang sedang
terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari
daftar prosesor. Suatu proses umumnya juga termasuk process stack, yang
berisikan data temporer (seperti parameter metoda, address yang kembali, dan
variabel lokal) dan sebuah data section, yang berisikan variabel global.
Suatu
program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan
didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan
sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk
dijalankan dan seperangkat sumber daya yang berkenaan dengannya.
Walau
dua proses dapat dihubungkan dengan program yang sama, program tersebut
dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna
dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama
dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adalah
proses yang berbeda dan walau bagian tulisan-text adalah sama, data section
bervariasi.
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 processor.
1. DEFINISI
PROSES
Terdapat beberapa definisi
mengenai proses, antara lain :
a.
Merupakan konsep pokok dalam sistem operasi,
sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem
operasi.
b.
Proses adalah program yang sedang dieksekusi.
c.
Proses adalah unit kerja terkecil yang secara
individu memiliki sumber daya dan dijadwalkan oleh sistem operasi. Proses dalam
sistem dapat dieksekusi secara bersama-sama, proses tersebut harus dibuat dan
dihapus secara dinamis. Maka, sistem operasi harus menyediakan suatu mekanisme
untuk pembuatan proses dan terminasi proses.
2. OPERASI
PADA PROSES
Metode-metode proses dalam
system computer :
a.
Batch Processing
Proses
ini timbul akibat kesulitan dan kekurangan yang dijalani pada waktu komputer
dioperasikan tanpa sistem operasi yang disampaikan dalam satu kelompok (batch).
b.
Multi Programming
Yaitu
Suatu Usaha menambah pemanfaatan CPU dimana diusahakan agar CPU jangan sampai
dalam keadaan nganggur atau diam (tidak sedang melakukan eksekusi). Dilakukan
dengan memanfaatkan waktu pada saat suatu program sedang menunggu penyelesaian
proses I/O dan CPU dalam status tidak beroperasi.
c.
Time Sharing
Time
Sharing adalah proses dimana waktu CPU dabagi menjadi satu unit yang disebut
time slice sehingga memungkinkan banyak User untuk mengeksekusi computer
d.
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.
e.
Multi Processing
Didalam
Sistem MultiProcessing beberapa proses digunakan untuk melakukan pemrosesan dan
menghemat waktu proses.
3. PENGENDALIAN
PROSES
Pengendalian
proses adalah disiplin ilmu yang melibatkan statistika dan teknik yang
melibatkan pembuatan mekanisme dan algoritma untuk mengendalikan keluaran dari
suatu proses.
Alat
pengendalian yang umum digunakan adalah Programmable Logic Controller (PLC).
Alat ini digunakan untuk membaca input analog maupun digital, melakukan
serangkaian program logika, dan menghasilkan output analog maupun digital. Output
dari PLC akan memperbesar atau memperkecil aliran keluaran udara pendingin
bergantung pada kebutuhan. Untuk suatu sistem pengendalian yang kompleks, perlu
digunakan sistem pengendalian yang lebih kompleks daripada PLC. Contoh dari
sistem ini adalah Distributed Control System (DCS) atau system SCADA.
Dalam prakteknya, sistem
pengendalian proses dapat dikarakteristikkan dalam bentuk :
·
Diskrit
Terdapat
pada aplikasi manufaktur dan pengemasan. Pemasangan dengan bantuan robot,
seperti yang umum digunakan pada produksi otomotif, dapat dikarakteristikkan
sebagai pengendalian proses diskrit. Sebagian besar proses manufaktur diskrit
melibatkan produksi bagian produk secara diskrit, seperti pembentukan logam.
·
Partaian
Beberapa
aplikasi membutuhkan digabungkannya beberapa bahan baku spesifik dengan cara
tertentu pada jangka waktu tertentu untuk menghasilkan produk samping atau
produk akhir. Proses partaian biasanya dilakukan untuk memproduksi produk
dengan kapasitas rendah hingga sedang.
·
Kontinu
Seringkali
proses produksi berlangsung secara terus menerus tanpa terhenti. Proses kontinu
pada proses produksi digunakan untuk memproduksi produk dengan kapasitas besar.
PENJADWALAN PROSES
A. Deskripsi
Penjadwalan Proses
Penjadwalan
proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang
berkaitan dengan urutan kerja yang dilakukan sistem komputer. Sedangkan proses
merupakan unit kerja terkecil yang secara individu memiliki sumberdaya atau
unit pemilikan sumberdaya.
Tugas penjadwalan diantaranya
adalah sebagai berikut :
·
Memutuskan proses yang berjalan.
·
Memutuskan kapan dan selama berapa lama
proses itu berjalan.
Sasaran utama dalam penjadwalan proses adalah :
Ø Adil
(fairness)
Adil adalah proses-proses
diperlukan sama yaitu mendapat jatah waktu pemrosesan yang sama dan tak ada
pemroses yang tak kebagian layanan pemroses sehingga mengalami (starvation).
Ø Efisiensi
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
Ø Waktu
tanggap (response time), dibagi menjadi :
o Sistem
Interaktif
Waktu tanggap dalam sistem
interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter
terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul
dilayar (terminal). Waktu tanggap ini disebut terminal response time.
o Sistem
Realtime
Pada sistem waktu nyata
(real-time), waktu tanggap di definisikan sebagai waktu dari saat kejadian
(internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud
dieksekusi, disebut event response time. Sasaran penjadwalan adalah
meminimalkan waktu tanggap.
Ø Turn
Arround Time
Waktu
yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses
diselesaikan sistem.
Ø Throughput
Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.
Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.
B. Tipe-tipe
Penjadwalan
Penjadwalan proses ada tiga
tipe :
v Penjadwalan
jangka pendek (short-termscheduller)
Penjadwalan
ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready
dimemori utama.
v Penjadwalan
jangka menengah (medium-termscheduller)
Penjadwalan
jangka menengah adalah menangani proses-proses swapping (aktivitas pemindahan proses
yang tertunda dari memory utama ke memory sekunder).
v Penjadwalan
jangka panjang (long-termscheduller)
Penjadwalan
jangka panjang bekerja terhadap antrian batch (proses-proses dengan penggunaan
sumberdaya yang intensif) dan memilih batch berikutnya yang harus di eksekusi.
C. Strategi
Penjadwalan
1. Penjadwalan
Nonpreemptive
Begitu proses diberi jatah
waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai
proses itu selesai.
2. Penjadwalan
Preemptive
Saat proses diberi jatah
waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga
proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu
pemroses tiba kembali pada proses itu.
ALGORITMA
PENJADWALAN PROSES
1.
Algoritma
Non-preemptive
CPU
tidak memperbolehkan proses yang ada di ready queue untuk menggeser proses yang
sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst
time yang lebih kecil.
A.
First-Come,
First-Served Scheduling (FCFS)
Algoritma
ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU. Dengan
menggunakan algoritma ini setiap proses yang berada pada status ready
dimasukkan ke dalam FIFO queue sesuai dengan waktu kedatangannya. Proses
yang tiba terlebih dahulu yang akan dieksekusi.
Kelemahan
dari algoritma ini :
·
Waiting time rata-ratanya cukup lama
·
Terjadinya convoy effect, yaitu proses-proses
menunggu lama untuk menunggu 1 proses besar yang sedang dieksekusi oleh CPU
B. Shortest-Job-First-Scheduling (SJF)
Algoritma
ini mempunyai cara penjadwalan yang berbeda dengan FCFS. Dengan algoritma ini
maka setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst
time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap
proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi
pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang
optimal.
Ada
beberapa kekurangan dari algoritma ini yaitu:
·
Susahnya untuk memprediksi burst time proses
yang akan dieksekusi selanjutnya
·
Proses yang mempunyai burst time yang besar
akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih
dahulu adalah proses dengan burst time yang lebih kecil.
C. Higest Ratio Next (HRN)
Higest
Ratio Next (HRN) merupakan
penjadwalan untuk mengoreksi kelemahan SJF yang berprioritas dinamis. HRN
Adalah strategi penjadwalan dengan prioritas proses tidak hanya merupakan
fungsi waktu layanan, tetapi juga jumlah waktu tunggu proses. Begitu proses
mendapat jatah pemroses, maka proses berjalan sampai selesai. Prioritas dinamis
HRN dihitung berdasarkan rumus berikut : 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.
D. Multilevel Feedback Queue (MFQ)
Algoritma
ini merupakan algoritma yang mengizinkan proses untuk pindah antrian. Jika
suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke
antrian yang lebih rendah. Hal ini akan sangat menguntungkan karena akan
menggunakan waktu yang sedikit dalam pengerjaan proses-proses tersebut.
Demikian pula dengan proses yang menunggu lama maka prose ini akan dinaikkan ke
tingkat yang lebih tinggi. Dengan begitu CPU akan bekerja dengan penuh dan M/K
dapat terus sibuk. Semakin rendah tingkatnya, panjang CPU burst proses juga
semakin panjang.
Gambar
Multilevel Feedback Queue
2.
Algoritma
Preemptive
Jika ada proses yang sedang dieksekusi oleh
CPU dan terdapat proses di ready queue dengan burst time yang lebih kecil
daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang
dieksekusi oleh CPU akan digantikan oleh proses yang berada di ready
queue tersebut.
A. Round Robin (RR)
Algoritma penjadwalan ini mirip dengan algoritma
First Come First Served, tetapi proses ini memberi suatu batasan waktu untuk
setiap proses yang disebut dengan time quantum. Time quantum adalah suatu
satuan waktu yang kecil. Jika proses yang sedang dieksekusi selesai dalam waktu
kurang dari 1 time quantum, tidak ada masalah. Tetapi jika proses
berjalan melebihi 1 time quantum, maka proses tersebut akan
dihentikan, lalu digantikan oleh proses yang berikutnya. Proses yang dihentikan
tersebut akan diletakkan di queue di urutan paling belakang
Permasalahan utama pada Round Robin adalah menentukan
besarnya time quantum. Jika time quantum yang ditentukan terlalu kecil, maka
sebagian besar proses tidak akan selesai dalam 1 time quantum. Hal ini tidak
baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk
beralih dari suatu proses ke proses lain (context switches time).
Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan
berjalan seperti algoritma First Come First Served.
B.
Shortest Remaining
First (SRF)
Pada algoritma ini setiap proses yang ada
di ready queue akan
dieksekusi berdasarkan burst time terkecil.
Hal ini mengakibatkan waiting
time yang pendek untuk setiap proses dan karena hal tersebut
maka waiting time rata-ratanya
juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah
algoritma yang optimal.
Tabel Contoh Shortest Job First
Contoh
: Ada 4 buah proses yang datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst time 7 ms, P2 dengan arrival time pada 2.0 ms
dan burst time 4 ms,
P3 dengan arrival time pada
4.0 ms dan burst time 1
ms, P4 dengan arrival time pada
5.0 ms dan burst time 4
ms. Hitunglah waiting time
rata-rata dan turn around time
dari keempat proses tersebut dengan mengunakan algoritma SJF. Average waiting time rata-rata untuk
ketiga proses tersebut adalah sebesar (0 +6+3+7)/4=4 ms.
C.
Priority
Schedulling (PS)
Priority Scheduling merupakan algoritma
penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap
proses memiliki prioritasnya masing-masing. Prioritas suatu proses dapat
ditentukan melalui beberapa karakteristik antara lain: Time limit, Memory requirement, Akses file, Perbandingan antara burst M/K dengan CPU burst, Tingkat kepentingan
proses.
Kelemahan pada priority scheduling adalah
dapat terjadinya indefinite blocking( starvation). Suatu proses dengan
prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi jika terdapat
proses lain yang memiliki prioritas lebih tinggi darinya. Solusi dari
permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses
yang menunggu dalam queue secara bertahap.
D.
Guaranteed
Scheduling (GS)
Penjadwalan ini memberi daya pemroses yang sama untuk
membuat dan menyesuaikan performance. Jika ada N pemakai, 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. Algoritma akan
menjalankan proses dengan rasio paling rendah hingga naik ketingkat lebih
tinggi diatas pesaing terdekatnya.
DAFTAR PUSTAKA
http://triyatnoize.blogspot.co.id/2011/10/algoritma-penjadwalan.html
Tidak ada komentar:
Posting Komentar