You are on page 1of 29

OL

EH
:
KE
LO
MP
OK
4

Mu
na
wir
Dja
ma
lud
din
(H1
31
14
31
4)
Ha
sni
ar
(H1
31
14
32
4)
Nu
rul
Ra
hm
a
(H1

A 31
14
32

N 8)
An
di
KATA PENGANTAR

Alhamdulillahirabbil alamin, puji syukur penyusun panjatkan kehadirat Allah swt.


sebagai Zat yang maha sempurna yang telah memberikan kita hidup di dunia dengan segala
keindahan, berkah, rahmat dan hidayah yang menjadikan datangnya segala kemudahan dan
yang telah melimpahkan berupa kesehatan lahir dan batin kepada hamba-Nya, kedamaian dan
kesejahteraan dari-Nya semoga tercurah bagi Rasulullah saw., beserta keluarganya, sahabat
dan pengikutnya, sehingga penyusun dapat menyelesaikan tugas makalah ini.

Penulis sadar sedalam-dalamnya bahwa terselesaikannya makalah ini dapat penulis


peroleh juga karena bantuan, bimbingan dan dukungan serta uluran tangan dari berbagai
pihak, sehingga tugas Makalah ini dapat terselesaikan.

Penyusun menyadari bahwa dalam penulisan tugas Makalah ini masih banyak
kekurangan dari berbagai macam segi, oleh karena itu penyusun memohon maaf yang
sebesarbesarnya karena segala kesempurnaan hanya milik Allah dan penyusun mengharapkan
saran dari pembaca demi perbaikan menuju kearah kesempurnaan.

Akhir kata penyusun mengucapkan terima kasih, semoga tugas Makalah ini dapat
bermanfaat. Amin.

Wasslamu Alaikum Warahmatullahi Wabarakatuh.

Makassar, April 2017

Penyusun
DAFRTAR ISI
KATA PENGANTAR................................................................................................... ii
BAB I PENDAHULUAN............................................................................................. 1
1.1. Latar Belakang.......................................................................................... 1
1.2. Rumusan Masalah..................................................................................... 2
1.3. Tujuan Penulisan........................................................................................ 2
BAB II PEMBAHASAN............................................................................................... 3
2.1. Scheduling Process atau Penjadwalan Proses...........................................3
2.1.1. Pengertian dan Sasaran Penjadwalan Proses......................................3
2.1.2. Manajer Sumber Daya........................................................................4
2.2. Tipe tipe penjadwalan pada sistem operasi............................................7
2.2.1. Penjadwalan jangka pendek................................................................7
2.2.2. Penjadwalan jangka menengah..........................................................7
2.2.3. Penjadwalan jangka panjang..............................................................7
2.3. Macam macam dari Strategi Penjadwalan..............................................7
2.3.1. Preemtive............................................................................................ 8
2.3.2. Non-Preemtive.................................................................................... 9
2.4. Algortima dalam Strategi Penjadwalan.....................................................9
2.4.1. Algoritma dalam strategi Preemtive...................................................9
2.4.2. Algoritma dalam strategi Non-Preemtive..........................................12
2.5. MultiProgramming, MultiProcessing, Distributed Processing dan
Multitasking...................................................................................................... 15
2.5.1. Multiprogramming............................................................................ 15
2.5.2. Multiprocessing................................................................................. 16
2.5.3. Distributed Processing......................................................................16
2.5.4. Multitasking...................................................................................... 16
2.6. Masalah pada Multiple Process...............................................................18
2.6.1. Deadlock........................................................................................... 19
2.6.2. Livelock............................................................................................. 22
2.6.3. Starvation......................................................................................... 22
BAB III PENUTUP................................................................................................... 26
3.1. Kesimpulan................................................................................................ 26
DAFTAR PUSTAKA................................................................................................. 27
BAB I
PENDAHULUAN

1.1. Latar Belakang

Proses adalah sebuah program yang sedang dieksekusi/ Program adalah


kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi.
Proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber
daya dapat berupa CPU time, alamat memori, berkas berkas, dan perangkat
perangkat masukan atau keluaran. Scheduling merupakan konsep utama dalam
multitasking, sistem operasi multiprosesor dan sistem operasi real-time. Scheduling
adalah cara/metode berbagai proses dilaksanakan pada CPU, dimana biasanya
terdapat lebih banyak proses yang dijalankan daripada jumlah CPU yang tersedia. Hal
ini diatur oleh software scheduler dan dispatcher.

Tujuan dari multiprogramming adalah untuk memiliki sejumlah proses yang


berjalan pada sepanjang waktu, untuk memaksimalkan penggunaan CPU. Tujuan dari
pembagian waktu adalah untuk mengganti CPU diantara proses-proses yang begitu
sering sehingga user dapat berinteraksi dengan setiap program sambil CPU bekerja.
Untuk sistem uniprosesor, tidak akan ada lebih dari satu proses berjalan. Jika ada
proses yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas dan
dapat dijadwalkan kembali

Kami menulis makalah ini dengan tujuan memberi pemahaman dasar tentang
proses manajer yang lebih lanjut dimana sebelumnya telah dijelaskan oleh kelompok
sebelumnya. Dalam makalah ini kami membuatnya sedemikian mungkin agar
pembaca mempunyai pemahaman yang singkat, padat, jelas sehingga mudah untuk
dipahami oleh para pemula.
1.2. Rumusan Masalah

Berdasarkan latar belakang, maka rumusan masalah dari makalah ini yang
penyusun akan tulis adalah sebagai berikut:

1. Apakah yang dimaksud dengan Scheduling Process?


2. Apa saja tipe tipe penjadwalan pada sistem operasi?
3. Apa saja macam macam dari strategi penjadwalan?
4. Apa saja algoritma dalam strategi penjadwalan?
5. Apakah yang dimaksud dengan MultiProgramming, MultiProcessing,
Distributed Processing dan Multitasking?
6. Apa saja masalah pada multiple process?

1.3. Tujuan Penulisan

Berdasarkan rumusan masalah diatas, maka tujuan dari penulisan


makalah ini adalah :
1. Pembaca dapat memahami konsep Scheduling Process.
2. Pembaca dapat mengetahui tipe tipe dari penjadwalan pada sistem
operasi.
3. Pembaca dapat mengetahui macam macam dari strategi penjadwalan.
4. Pembaca dapat memahami algoritma dalam strategi penjadwalan.
5. Pembaca dapat memahami tentang MultiProgramming, MultiProcessing,
Distributed Processing dan Multitasking.
6. Pembaca dapat memahami masalah yang ada pada multiple process.
BAB II
PEMBAHASAN
Sumber daya sistem operasi (Resourece) adalah komponen fisik atau virtual dari
persediaan/ketersediaan terbatas dalam sistem komputer. Setiap perangkat yang terhubung ke
sistem komputer adalah sumber daya. Setiap komponen sistem internal adalah sumber daya.
Sumber daya sistem virtual meliputi file, koneksi jaringan dan area memori. Waktu CPU,
memori (memori akses acak maupun memori virtual), penyimpanan sekunder seperti hard
disk, throughput jaringan, daya baterai, perangkat eksternal adalah semua sumber daya
komputer yang dikelola sistem operasi.

Kita membutuhkan kebijakan penjadwalan saat kita memiliki banyak pekerjaan untuk
dijalankan dengan waktu yang terbatas dan membutuhkan resource (sumber daya) untuk
menyelesaikan tiga keterbatasan system:

a. Finite number of resource (jumlah resource yang terbatas) seperti disk drive atau printer,

b. Locked resource (resource terkunci) sehingga tidak dapat dibagi dengan pekerjaan lain.

c. Reassign jobs (menugaskan kembali pekerjaan) artinya beberapa resource mungkin


membutuhkan user untuk reassign jobs.

Untuk itu dalam proses dalam suatu pengerjaan job kita membutuhkan sebuah penjadwalan
dalam menjalankan job tersebut agar dapat terstruktur dengan baik.

2.1. Scheduling Process atau Penjadwalan Proses


Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang
akan dilaksanakan dalam suatu sistem. Proses yang belum mendapat jatah alokasi
dari CPU akan mengantri di ready queue. Algoritma penjadwalan berfungsi untuk
menentukan proses manakah yang ada di ready queue yang akan dieksekusi oleh
CPU.

2.1.1. Pengertian dan Sasaran Penjadwalan Proses


Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme
dalam sistem operasi yang berkaitan dengan urutan kerja yang dilakukan dalam sistem
komputer. Adapun penjadwalan bertugas untuk memutuskan:

a. Proses yang harus berjalan.


b. Kapan dan selama berapa lama proses itu berjalan.

Kriteria untuk mengukur dan optimasi kinerja penjadwalan adalah:

a. Adil (Fairness)
Adil (Fairness) adalah proses proses yang diperlakukan sama, yaitu
mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak
kebahagian layanan pemroses sehingga mengalami kekurangan waktu.
b. Efisiensi (Eficiency)
Efisiensi (Eficiency) atau utilisasi pemroses dihitung dengan
perbandingan (rasio) waktu sibuk pemroses.
c. Waktu tanggap (Respon time)
Waktu tanggap ini dibedakan yaitu:
1. Sistem interaktif
Sistem interaktif ini didefinisikan sebagai waktu yang
dihabiskan dari saat karakter terakhir dari perintah dimasukkan
atau transaksi sampai hail pertama muncul di layar. Waktu tanggap
ini disebut dengan terminal response time.
2. Sistem waktu nyata
Sistem waktu nyata ini didefinisikan sebagai waktu dari saat
kejadian (internal atau eksternal) sampai instruksi pertama rutin
layanan yang dimkasud dieksekusi. Waktu tanggap ini disebut
dengan event response time.
d. Turn around time
Turn around time yaitu waktu yang yang dihabiskan dari saat program
(job) mulai masuk ke sistem sampai proses diselesaikan oleh sistem.
Turn around Time = Waktu eksekusi + Waktu Menunggu
e. Throughput
Throughput yaitu jumlah kerja yang dapat diselesaikan dalam satu unit
waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang
diproses persatu interval waktu.

2.1.2. Manajer Sumber Daya


Resource (sumber daya) adalah komponen fisik atau virtual dari ketersediaan
terbatas dalam komputer atau sistem manajemen informasi. Sumber daya komputer
termasuk sarana untuk input, pengolahan, output, komunikasi, dan penyimpanan.

Yang dimaksud dengan sistem operasi sebagai resource manager adalah Sistem
operasi sebagai penanggung jawab terhadap pengolahan sumber daya untuk
memindahkan, memproses dan menyimpan.
Sumber daya yang dimaksud adalah sumber daya fisik dan sumber daya
abstrak.

Disini kami akan menjelaskan apa itu sumber daya fisik dan apa itu sumber
daya abstrak berikut dengan contoh-contohnya.

1. Sumber Daya Fisik

Sumber daya fisik adalah semua komponen yang ada dalam sitem
komputer yang dapat memberikan manfaat dan secara fisik dapat kita lihat.

Sebagai contohnya :

CPU, motherboard, bios / cmos, power supply


Berbagai memori volatile, misalnya RAM, change memory, dan register
Berbagai perangkat penyimpanan, misalnya hardisk, CD-ROM drive, USB
Flash Disk, dan Floppy Disk Drive
Perangkat komunikasi, misalnya modem, eethernet card, dan PCMCIA
Perangkat multimedia, misalnya kamera, sound card, video chipset, TV
Tuner
Perangkat grafis, misalnya digitizer, scanner, dan plotter
Output device, misalnya printer, speaker, dan monitor
Keyboard, tetikus, joystick, dan track-ball

2. Sumber Daya Abstrak (Virtual)

Sumber daya abstrak dibagi menjadi dua yaitu :

1. Data

Contohnya :

PCB (progran cotrol block) untuk mencatat dan mengendalikan


proses
Berkas (file) sebagai penyimpan data atau program
Semaphore untuk pengendalian sinkronisasi proses-proses.
Tabel segmen, table page, i-node, FAT untuk pengendalian memori.

2. Program
Program merupakan kumpulan instruksi yang dapat dijalankan
oleh sistem computer. Contoh bentuk program dapat berupa utilitas atau
aplikasi untuk mencapai tujuan komputasi (pengolahan) tertentu.

Adapun fungsi dari Resource Manager yaitu untuk


mengalokasikan sumber daya, seperti CPU, printer, drive, memori, dan
lain sebagainya. Sebelum sistem operasi dapat menjadwalkan semua
pekerjaan di lingkungan multiprogramming, sistem harus menyelesaikan
tiga keterbatasan sistem:

a. Finite number of resource (jumlah resource yang terbatas) seperti disk


drive atau printer.

b. Locked resource, beberapa sumber daya tidak dapat dibagi begitu


dialokasikan.

c. Reassign jobs artinya beberapa resource mungkin membutuhkan user


untuk reassign jobs.

Satu hal yang tentunya tidak diinginkan adalah resource hogging yang berarti
sebuah job bisa sangat egois/serakah dan memanfaatkan semua resource dan tidak
membagikannya. Resource hogging merupakan program yang memperlambat waktu
pemrosesan. Mungkin perlu melakukan intervensi untuk memastikan bisa mendapatkan
resource sendiri. Jadi diperlukan pre-defined point (titik standar/titik yang sudah ditentukan
sebelumnya) untuk mengintervensi.

CPU hogging hampir sama dengan proses menghabiskan terlalu banyak waktu
untuk menempati CPU sehingga proses lain juga butuh untuk dieksekusi. Dengan
penjadwal preemptif yang dirancang dengan baik yang menjalankan proses berperilaku
cukup baik, ini seharusnya tidak pernah terjadi.

Contoh dimana ada potensi CPU hogging bahkan dengan scheduler yang sangat fair
adalah ketika sebuah proses menunggu pada perangkat dan proses lain tidak dapat
dijalankan pada CPU tanpa menimbulkan efek buruk pada sistem (misalnya, ini menunggu
Data dari perangkat yang lambat atau tidak responsif yang hanya bisa menulis ke
penyangga yang sangat kecil, dan proses lain tidak dapat dijadwalkan karena isi buffer
berada dalam keadaan tidak lengkap). Hal ini terkadang bisa terjadi dengan perangkat /
driver yang buruk dan harus diperlakukan sebagai bug.
2.2. Tipe tipe penjadwalan pada sistem operasi

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem


operasi yang berkaitan dengan urutan kerja yang dilakukan oleh sistem komputer.
Penjadwalan itu sendiri bertugas untuk memutuskan proses yang harus berjalan dan
kapan dan berapa lama proses itu harus berjalan. Penjadwalan itu sendiri terdiri dari
beberapa tipe. Berikut ini adalah beberapa tipe dari penjadwalan pada sistem operasi:

2.2.1. Penjadwalan jangka pendek


Penjadwalan jangka pendek bertugas menjadwalkan alokasi prosesor di antara
proses proses ready di memori utama. Sasaran utama penjadwalan adalah
memaksimumkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapkan.

2.2.2. Penjadwalan jangka menengah


Setelah eksekusi selama waktu tertentu, proses mungkin akan ditunda, proses-
proses tertunda ini tak dapat membuat suatu kemajuan menuju ke hasil yang selesai
sampai kondisi kondisi yang menyebebkan proses tertunda ini dihilangkan.

Agar ruang memori dapat bermanfaat, beberapa proses dipindahkan dari


memori utama ke memori sekunder. Aktifitas pemindahan proses yang tertunda ini
disebut swapping. Penjadwalan jangka menengah lah yang akan menangani proses
proses swapping ini.

2.2.3. Penjadwalan jangka panjang


Penjadwalan jangka panjang ini bekerja terhadap antrian batch dan memilih
batch mana berikutnya yang harus dieksekusi.

Batch adalah prosesproses dengan penggunaan sumber daya intensif (waktu


processor, memori, perangkat Input/output) dan biasanya hanya berprioritas rendah.

2.3. Macam macam dari Strategi Penjadwalan


Strategi penjadwalan proses secara umum dibedakan menjadi dua kelompok
besar, yaitu penjadwaln preemtive dan non-preemtive.

2.3.1. Preemtive
Pada strategi ini, sistem operasi dan proses lain dapat mengambil alih eksekusi
prosesor tanpa harus menunggu proses yang sedang running menyelesaikan tugasnya.
Penjadwalan preemptive merupakan fitur yang penting, terutama pada sistem dimana
proses-proses memerlukan tanggapan prosesor secara cepat. Sebagai contoh adalah
sistem real-time, dimana jika terjadi interupsi dan tidak segera dilayani maka dapat
berakibat fatal. Contoh lain adalah sistem interaktif time-sharing, dimana pengguna
sistem mengharapkan tanggapan yang cepat dari sistem. Secara umum, sistem
konkuren seperti sistem operasi yang multitasking lebih menghendaki sistem
penjadwalan preemptive.

Penjadwalan Preemptive mempunyai arti kemampuan sistem operasi untuk


memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada
proses yang prioritasnya lebih tinggi. Penjadwalan ini bisa saja termasuk penjadwalan
proses atau M/K. Penjadwalan Preemptive memungkinkan sistem untuk lebih bisa
menjamin bahwa setiap proses mendapat sebuah slice waktu operasi. Dan juga
membuat sistem lebih cepat merespon terhadap event dari luar (contohnya seperti ada
data yang masuk) yang membutuhkan reaksi cepat dari satu atau beberapa proses.
Membuat penjadwalan yang Preemptive mempunyai keuntungan yaitu sistem lebih
responsif daripada sistem yang memakai penjadwalan Non Preemptive.

Dalam waktu-waktu tertentu, proses dapat dikelompokkan ke dalam dua


kategori: proses yang memiliki Burst M/K yang sangat lama disebut I/O Bound, dan
proses yang memiliki Burst CPU yang sangat lama disebutCPU Bound. Terkadang
juga suatu sistem mengalami kondisi yang disebut busywait, yaitu saat dimana sistem
menunggu request input(seperti disk, keyboard, atau jaringan). Saat busywait tersebut,
proses tidak melakukan sesuatu yang produktif, tetapi tetap memakan resource dari
CPU. Dengan penjadwalan Preemptive, hal tersebut dapat dihindari.

Dengan kata lain, penjadwalan Preemptive melibatkan mekanisme interupsi


yang menyela proses yang sedang berjalan dan memaksa sistem untuk menentukan
proses mana yang akan dieksekusi selanjutnya. Lama waktu suatu proses diizinkan
untuk dieksekusi dalam penjadwalan Preemptive disebut time slice/quantum.
Penjadwalan berjalan setiap satu satuan time slice untuk memilih proses mana yang
akan berjalan selanjutnya. Bila time slice terlalu pendek maka penjadwal akan
memakan terlalu banyak waktu proses, tetapi bila time slice terlau lama maka
memungkinkan proses untuk tidak dapat merespon terhadap event dari luar secepat
yang diharapkan.

2.3.2. Non-Preemtive
Penjadwalan Non Preemptive ialah salah satu jenis penjadwalan dimana sistem
operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke
proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.

Penjadwalan Non Preemtive terjadi ketika proses hanya:

1. Berjalan dari running state sampai waiting state


2. Dihentikan

Ini berarti CPU menjaga proses sampai proses itu pindah ke waiting state
ataupun dihentikan (proses tidak diganggu). Metode ini digunakan oleh Microsoft
Windows 3.1 dan Macintosh. Ini adalah metode yang dapat digunakan untuk
platforms hardware tertentu, karena tidak memerlukan perangkat keras khusus
(misalnya timer yang digunakan untuk menginterupt pada metode penjadwalan
Preemptive).

Processor scheduler bergantung pada algoritma yang memerintahkan


serangkaian instruksi untuk mengalokasikan CPU dan memindahkan pekerjaan
melalui sistem, diantaranya merupakan solusi pre-emptive atau non-preemptive
keduanya memiliki kelebihan dan kekurangan masing-masing.

2.4. Algortima dalam Strategi Penjadwalan


Adapun algoritma algoritma yang diterapkan dalam strategi penjadwalan
adalah sebagai berikut:

2.4.1. Algoritma dalam strategi Preemtive


2.4.1.1. Round Robin
Algoritma Round Robin merupakan:
Penjadwalan yang paling tua, sederhana, adil, banyak digunakan
algoritmanya dan mudah diimplementasikan
Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh
penjadwal berdasarkan lama waktu berjalannya proses (preempt
by time).
Penjadwalan tanpa prioritas
Berasumsi bahwa semua proses memiliki kepentingan yang sama,
sehingga tidak ada prioritas tertentu

Semua proses dianggap penting sehingga diberi sejumlah waktu oleh


pemroses yang disebut kwanta (quantum) atau time slice dimana proses
itu berjalan. Jika proses masih running sampai akhir quantum, maka CPU
akan mempercepat proses itu dan memberikannya ke proses lain.

Algoritma yang digunakan :

1. Jika kwanta 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


(selesainyaoperasi I/O), maka proses menjadi blocked dan
pemroses dialihkan ke proses lain.

3. Jika kwanta 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 kwanta belum habis dan proses selesai, maka ambil proses di
ujung depan antrian proses ready.

4. Jika kwanta 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 kwanta, yaitu :

Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn


arround time rendah.

Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak


sehingga menurunkan efisiensi proses.

Penilaian penjadwalan ini berdasarkan kriteria optimasi :


Adil
Adil bila dipandang dari persamaan pelayanan oleh pemroses.
Efisiensi
Cenderung efisien pada sistem interaktif.
Waktu tanggap
Memuaskan untuk sistem interaktif, tidak memadai untuk
sistem waktu nyata.
Turn around time
Cukup baik.
Throughtput
Cukup baik.
Penjadwalan ini :
a. Baik untuk sistem interactive-time sharing dimana kebanyakan waktu
dipergunakan menunggu kejadian eksternal.
Contoh : text editor, kebanyakan waktu program adalah untuk
menunggui keyboard, sehingga dapat dijalankan proses-proses lain.
b. Tidak cocok untuk sistem waktu nyata apalagi hard-real-time
applications

2.4.1.2. Shortest Remaining First

Merupakan :
Penjadwalan berprioritas.dinamis.
Preemptive untuk timesharing
Melengkapi SJF
Pada SRF, proses dengan sisa waktu jalan diestimasi terendah
dijalankan, termasuk proses-proses yang baru tiba.
Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
Pada SRF, proses yang sedang berjalan (running) dapat diambil alih
proses baru dengan sisa waktu jalan yang diestimasi lebih rendah.
Kelemahan :
Mempunyai overhead lebih besar dibanding SJF. SRF perlu
penyimpanan waktu layanan yang telah dihabiskan job dan kadang-
kadang harus menangani peralihan.
Tibanya proses-proses kecil akan segera dijalankan.
Job-job lebih lama berarti dengan lama dan variasi waktu tunggu
lebih lama dibanding pada SJF.
SRF perlu menyimpan waktu layanan yang telah dihabiskan ,
menambah overhead. Secara teoritis, SRF memberi waktu tunggu
minimum tetapi karena overhead peralihan, maka pada situasi tertentu
SFJ bisa memberi kinerja lebih baik dibanding SRF.

2.4.2. Algoritma dalam strategi Non-Preemtive


2.4.2.1. First In First Out (First Come First Serve)
Merupakan :
Penjadwalan tidak berprioritas.
FIFO adalah penjadwalan paling sederhana, yaitu :
Proses-proses diberi jatah waktu pemroses berdasarkan waktu
kedatangan.
Pada saat proses mendapat jatah waktu pemroses, proses dijalankan
sampai selesai.

Penilitian penjadwalan ini berdasarkan kriteria optimasi :


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 lama.
Efisiensi
Sangat efisien.
Waktu tanggap
Sangat jelek, tidak cocok untuk sistem interaktif apalagi untuk sistem
waktu nyata.
Turn around time
Jelek.
Throughtput
Jelek.
FIFO jarang digunakan secara mandiri, tetapi dikombinasikan dengan
skema lain, misalnya : Keputusan berdasarkan prioritas proses. Untuk proses-
pross berprioritassama diputuskan berdasarkan FIFO.
Penjadwalan ini :
a. Baik untuk sistem batch yang sangat jarang berinteraksi dengan
pemakai.
Contoh : aplikasi analisis numerik, maupun pembuatan tabel.
b. Sangat tidak baik (tidak berguna) untuk sistem interaktif, karena tidak
memberi waktu tanggap yang baik.
c. Tidak dapat digunakan untuk sistem waktu nyata (real-time
applications)
Contoh FIFO Scheduling :

2.4.2.2.Shortest Job First


Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai
diketahui sebelumnya. Mekanismenya adalah menjadwalkan proses dengan
waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan
efisiensi yang tinggi dan turn around time rendah dan penjadwalannya tak
berprioritas.
Contoh:
Terdapat empat proses (job) yaitu A,B,C,D dengan waktu jalannya
masing-masing adalah 8,4,4 dan 4 menit. Apabila proses-proses tersebut
dijalankan, maka turn around time untuk A adalah 8 menit, untuk B adalah 12,
untuk C adalah 16 dan untuk D adalah 20. Untuk menghitung rata-rata turn
around time seluruh proses adalah dengan menggunakan rumus :
( 4a + 3b + 2c + 1d ) / 4

Dengan menggunakan rumus, maka dapat dihitung turn around time-


nya sebagai berikut (belum memperhatikan shortest job first, lihat gambar a) :
= ( 4a + 3b + 2c + 1d ) / 4
= ( 4x8 + 3x4 + 2x4 + 1x4 ) / 4
= ( 32 + 12 + 8 + 4 ) / 4
= 56 / 4
= 14 menit
Apabila keempat proses tersebut menggunakan penjadwalan shortest
job first (lihatgambar b), maka turn around time untuk B adalah 4, untuk C
adalah 8, untuk Dadalah 12 dan untuk adalah 20, sehingga rata-rata turn
around timenya adalah sebagai berikut :
= ( 4a + 3b + 2c + 1d ) / 4
= ( 4x4 + 3x4 + 2x4 + 1x8 ) / 4
= ( 16 + 12 + 8 + 8 ) / 4
= 44 / 4
= 11 menit
Jelas bahwa a memberikan nilai kontribusi yang besar, kemudian b, c
dan d. Karena SJF selalu memperhatikan rata-rata waktu respon terkecil, maka
sangat baik untuk proses interaktif. Umumnya proses interaktif memiliki pola,
yaitu menunggu perintah, menjalankan perintah, menunggu perintah dan
menjalankan perintah,begitu seterusnya.
Masalah yang muncul adalah :
- Tidak mengetahui ukuran job saat job masuk.
Untuk mengetahui ukuran job adalah dengan membuat estimasi
berdasarkan kelakukan sebelumnya.
- Proses yang tidak datang bersamaan, sehingga penetapannya harus
dinamis.
Penjadwalan ini jarang digunakan, karena merupakan kajian teoritis
untuk pembandingan turn around time.
2.4.2.3.Priority Scheduling

Merupakan penjadwalan non preemptive, Memberikan perlakuan


istimewa terhadap pekerjaan penting:

Program dengan prioritas tertinggi diproses terlebih dahulu.


Tidak terputus sampai siklus CPU selesai atau penantian alami
terjadi.
Jika lebih dari dua job dengan prioritas yang sama ada di antrian ready,
maka prosesor dialokasikan ke layanan yang pertama datang (pertama datang
pertama kali dilayani dalam prioritas). Banyak metode penetapan prioritas
yang berbeda oleh administrator sistem atau oleh Processor Manager.

2.5. MultiProgramming, MultiProcessing, Distributed Processing dan


Multitasking
2.5.1. Multiprogramming
Multiprogramming adalah kegiatan menjalankan beberapa program pada
memori pada satu waktu. Untuk meningkatkan keseluruhan kemampuan dari sistem
komputer, para developer memperkenalkan konsep multiprogramming. Dengan
multiprogramming, beberapa tugas disimpan dalam memori dalam satu waktu; CPU
digunakan secara bergantian sehingga menambah utilisasi CPU dan mengurangi total
waktu yang dibutuhkan untuk menyelesaikan tugas-tugas tersebut.

Melayani banyak program yang tidak ada hubungannya satu sama lain dan
dijalankan sekaligus dalam satu komputer yang sama. Pelaksanaan instruksi yang
diterapkan adalah:

- Program dimuat ke dalam memori,

- Program dijalankan sampai mengakses perangkat I/O,

- Berpindah (switch) ke pekerjaan lain,

- Langkah tersebut berulang terus menerus,

- Untuk proses perpindahan (switching), dilaksanakan oleh software.

Contoh nya adalah menjalankan browser bersamaan dengan media player atau
programm pengolah gambar seperti photoshop.

Yang di maksud dengan multi programming di sini adalah CPU menjalankan


beberapa program sekaligus.
2.5.2. Multiprocessing
Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang
merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak.
Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem
komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk
mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-
prosesor tersebut.

Multiprocessing juga kadang merujuk kepada kemampuan eksekusi terhadap


beberapa proses perangkat lunak dalam sebuah sistem secara serentak, jika
dibandingkan dengan sebuah proses dalam satu waktu, meski istilah
multiprogramming lebih sesuai untuk konsep ini. Multiprocessing sering
diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU
sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak.
Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di
antaranya, atau tidak sama sekali.

Contoh nya adalah pada zaman sekarang banyak processor yang sudah
berteknologi dual core sampai quad core. ini bertujuan untuk hemat waktu.
Maksudnya adalah core dalam processor menjalankan tugasnya masing-masing.

2.5.3. Distributed Processing


Mengerjakan semua proses pengolahan data secara bersama antara komputer
pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui
jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga
mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi
digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami
kegagalan atau masalah yang lain akan mengambil alih tugasnya

2.5.4. Multitasking
Multitasking adalah pemrosesan beberapa tugas pada waktu yang bersamaan.
Sebagai contoh, jika seseorang sedang menyetir, bertelepon lewat ponsel, dan sambil
merokok secara bersamaan, maka orang tersebut melakukan multitasking.
Multitasking merupakan mekanisme kerja komputer. CPU komputer dapat
menangani beberapa proses dalam waktu yang sama secara akurat. Proses yang
dikerjakan tergantung pada instruksi yang diberikan oleh software komputer. Oleh
sebab itu, untuk memanfaatkan kemampuan CPU secara maksimal, software yang
digunakan juga harus memiliki kemampuan multitasking. Saat ini, berbagai software
sistem operasi sudah memiliki kemampuan multitasking. Itulah sebabnya, saat ini
Anda bisa browsing di halaman web SmitDev, chatting, sambil mendengarkan musik
secara bersamaan.
Contohnya adalah, dalam OS windows, pada saat kita membuka task manager,
terdapat task task yang sedang berjalan, di sini kita melihat bahwa seakan-akan
CPU menjalankan secara bersamaan, tetapi ternyata tidak.
Konsekuensi dari proses-proses yang berjalan secara konkuren pada suatu
sistem multitasking? Berikut sejumlah pengaruh yang mungkin terjadi antara proses-
proses yg berjalan bersamaan :
1. Proses tidak saling memengaruhi.

Ini terjadi pada proses-proses yang tidak saling berhubungan dan tdk saling
bekerja sama, kecuali dalam hal berbagi pakai processor. Contoh aplikasi MS.Word
dengan Media Player berjalan bersamaan

2. Proses saling memengaruhi secara tdk langsung.


Ini terjadi pada proses-proses yang tdk saling bekerja sama ttp mengakses
sumberdaya yang sama sehingga proses-proses tersebut saling mempengaruhi satu
sama lain. Contoh MS.Word dan Notepad sedang membuka suatu berkas yang sama.
3. Proses saling memengaruhi secara langsung.
Ini terjadi pada proses-proses yang saling bekerja sama utk mencapai suatu
tujuan khusus. Contoh jika kita membuka IE kita akan bekerja sama dengan web
server.
4. Timesharing
Time sharing juga disebut sebagai Multitasking, dimana pengertian ini bisa
disamakan dengan multiprogramming, hanya saja waktu prosesnya dibatasi. Waktu
maksimum yang digunakan CPU disebut quantum time. Keuntungan time sharing
adalah tingkat kebersamaannya menjadi tinggi. Time sharing memerlukan pengaturan
kerja input dan output. Secara normal, CPU sanggup memproses lebih dari satu data
dalam setiap detik. Dimana pada saat itu, input dan output device juga harus siap
untuk memberikan data ataupun menerima hasil proses secara cepat. Oleh karena itu
diperlukan adanya penjadwalan kerja yang baik. Banyak switched yang bisa bekerja
secara otomatis untuk mengatur semuanya dalam waktu yang bersamaan.
Contoh paling sederhana adalah pada saat terjadi jaringan antara client dengan
server
Sistem prosesor tunggal/single processor system
- Sebagian besar sistem menggunakan sistem prosesor tunggal.
- Mereka hanya melakukan satu proses pada waktu tertentu, dan melakukan
proses selanjutnya dalam antrian hanya setelah proses selesai.
- OS memonitor status mereka dan juga mengirimkan instruksi eksekusi
berikutnya.
- Ini mengurangi CPU dari penjadwalan disk dan tugas lainnya.
- Sangat cocok untuk komputer tujuan umum, karena tidak dapat menjalankan
banyak proses secara paralel.

Multi Processor system


- Juga dikenal sebagai sistem paralel atau erat digabungkan karena mereka dapat
menjalankan beberapa proses secara paralel satu sama lain secara efisien.
- Dua atau lebih prosesor akan saling berhubungan satu sama lain dengan
memori bersama, penyimpanan dan power supply.

Pada hari-hari ini daripada menggunakan sistem multi prosesor, orang


cenderung membeli prosesor tunggal dengan banyak core. Ini bisa lebih efisien karena
komunikasi on-chip internal lebih cepat daripada komunikasi antar prosesor yang
berbeda.
Prosesor multi-core juga menggunakan daya lebih sedikit dibandingkan
prosesor single core. Prosesor multi-core adalah komponen komputasi tunggal dengan
dua atau lebih unit pemrosesan aktual independen (disebut "core"), yaitu unit yang
membaca dan menjalankan instruksi program. [1] Instruksinya adalah instruksi CPU
biasa (seperti menambahkan, memindahkan data, dan cabang), namun beberapa core
dapat menjalankan banyak instruksi secara bersamaan, meningkatkan kecepatan
keseluruhan untuk program yang dapat disesuaikan dengan komputasi paralel. [2]
Pabrikan biasanya mengintegrasikan core ke satu sirkuit terpadu die (dikenal sebagai
chip multiprocessor atau CMP), atau ke beberapa kali mati dalam satu paket chip
tunggal. Prosesor multi-core mengimplementasikan multiprocessing dalam satu paket
fisik.

2.6. Masalah pada Multiple Process

Scheduling pada multiprocessor lebih rumit daripada pada single processor dimana
single processor hanya membahas homogeneous processor yaitu processor dengan fungsi
yang sama. Ada dua pendekatan :
a. Asymmetric Multiprocessing
Hanya ada satu processor master yang punya akses ke struktur data sistem.
Keputusan scheduling diambil oleh satu processor master. Processor lain hanya
mengeksekusi user code
b. Symmetric Multiprocessing (SMP)
Setiap processor menjadwalkan processnya sendiri (self scheduling) artinya
Semua process bisa jadi ada di satu queue yang sama atau masing-masing
processor punya queue sendiri

Kemudian untuk kita mengatasi multiple process atau multiple core yaitu perlu
adanya sinkronisasi, sehingga tidak ada masalah berikut :

2.6.1. Deadlock
Deadlock menurut bahasa adalah buntut atau kebuntuan, terkunci.
Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses
yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses
itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses
tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang
membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu
waktu.
Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel
digunakan oleh 2 proses. Analoginya seperti pada kondisi jalan raya dimana terjadi
kemacetan parah seperti yang terlihat pada contoh berikut ini:

Gambar di atas adalah contoh terjadinya deadlock pada dunia nyata. Pada
gambar jelas terlihat bahwa lalu lintas (persimpangan) terhenti dan terjadi antrian
pada empat arah datangnya mobil. Tidak ada mobil yang bisa melanjutkan perjalanan
dan hanya menunggu saja. Permasalahan ini dapat dipecahkan dengan cara salah satu
dari antrian tersebut mundur dan memberikan kesempatan antrian lain untuk berjalan
terlebih dahulu. Kasus seperti ini sangat potensial untuk terjadinya starvation.

Beberapa hal yang dapat membuat deadlock pada suatu persimpangan, yaitu:

o Terdapat satu jalur pada jalan.


o Mobil digambarkan sebagai proses yang sedang menuju sumber daya.
o Untuk mengatasinya beberapa mobil harus preempt (mundur).
o Sangat memungkinkan untuk terjadinya starvation (kondisi proses tak akan
mendapatkan sumber daya.

Penyebab pertama terjadinya deadlock tidak lain dan tidak bukan adalah
karena keterbatasan Resource yang ada, dengan kata lain Resouce lah yang menjadi
rebutan para Proses, seandainya saja Resource yang tersedia melimpah (tidak terbatas)
maka deadlock tidak akan terjadi. Selain itu penyebab lainya adalah manage yang
kurang baik dari Sistem Operasi.

2.6.1.1.Penanganan Deadlock
Strategi untuk menghadapi deadlock atau beberapa cara untuk
menanggulangi terjadinya deadlock, diantaranya adalah:
1. Mengabaikan masalah deadlock.
Untuk memastikan sistem tidak memasuki deadlock, sistem dapat
menggunakan pencegahan deadlock atau penghindaran deadlock.
Penghindaran deadlock membutuhkan informasi tentang sumber daya yang
mana yang akan suatu proses meminta dan berapa lama akan digunakan.
Dengan informasi tersebut dapat diputuskan apakah suatu proses harus
menunggu atau tidak. Hal ini disebabkan oleh keberadaan sumber daya,
apakah ia sedang digunakan oleh proses lain atau tidak. Metode ini lebih
dikenal dengan Algoritma Ostrich. Dalam algoritma ini dikatakan bahwa
untuk menghadapi Deadlock ialah dengan berpura-pura bahwa tidak ada
masalah apa pun. Hal ini seakanakan melakukan suatu hal yang fatal, tetapi
sistem operasi Unix menanggulangi Deadlock dengan cara ini dengan tidak
mendeteksi Deadlock dan membiarkannya secara otomatis mematikan
program sehingga seakan-akan tidak terjadi apa pun. Jadi jika terjadi
Deadlock, maka tabel akan penuh, sehingga proses yang menjalankan
proses melalui operator harus menunggu pada waktu tertentu dan mencoba
lagi.
2. Mendeteksi dan memperbaiki
Caranya ialah dengan cara mendeteksi jika terjadi deadlock pada
suatu proses maka dideteksi system mana yang terlibat di dalamnya. Setelah
diketahui sistem mana saja yang terlibat maka diadakan proses untuk
memperbaiki dan menjadikan system berjalan kembali. Jika sebuah sistem
tidak memastikan deadlock akan terjadi, dan juga tidak didukung dengan
pendeteksian deadlock serta pencegahannya, maka kita akan sampai pada
kondisi deadlock yang dapat berpengaruh terhadap performance system
karena sumber daya tidak dapat digunakan oleh proses sehingga proses-
proses yang lain juga terganggu. Akhirnya sistem akan berhenti dan harus
direstart.
Hal-hal yang terjadi dalam mendeteksi adanya Deadlock adalah:
a. Permintaan sumber daya dikabulkan selama memungkinkan.
b. Sistem operasi memeriksa adakah kondisi circular wait secara periodik.
c. Pemeriksaan adanya deadlock dapat dilakukan setiap ada sumber daya
yang hendak digunakan oleh sebuah proses.
d. Memeriksa dengan algoritma tertentu.

2.6.1.2.Penghindaran Deadlock
Algoritma Bankir Menurut Djikstra(1965) algoritma penjadwalan
dapat menghindari deadlock dan algoritma penjadwalan tersebut dikenal
dengan algoritma bankir. Algoritma ini dapat digambarkan, ada seorang bankir
yang akan meminjamkan kepada peminjam-peminjamnya. Setiap peminjam
memberikan batas pinjaman maksimum. Tentu saja bankir tahu bahwa
peminjam tidak akan meminjam dana maksimum secara langsung melainkan
bertahap. Bankir memprioritaskan kepada peminjam yang meminjam dana
lebih banyak, sedangkan yang lain disuruh menunggu hingga peminjam yang
lebih besar mengembalikan dananya, baru setelah itu ia meminjamkan kepada
peminjam yang lain. Jadi algoritma bankir disini mempertimbangkan apakah
permintaan proses sesuai dengan jumlah sumber daya yang ada dan sekaligus
memperkirakan jumlah sumber daya yang mungkin diminta lagi. Jangan
sampai ketika ada proses yang meminta sumber daya tetapi sumber dayanya
habis atau tidak ada lagi jika tidak maka akan terjadi deadlock.
Secara umum algoritma bankir dibagi menjadi 4 struktur data:

1. Tersedia: jumlah sumber daya yang tersedia


2. Alokasi: jumlah sumber daya yang dialokasikan untuk setiap proses
3. Maksimum: jumlah permintaan sumber daya oleh proses
4. Kebutuhan: maksimum-alokasi(sisa sumber daya yang dibutuhkan oleh
proses setelah dikurangi dengan yang dialokasikan)

2.6.2. Livelock
Dimana pada Livelock ini adalah kondisi yang hampir dapat dikatan mirip
dengan deadlock. Hanya saja livelock secara umum dapat dikatan bahwa proses tidak
berjalan. Livelock ini merupakan kasus khusus dalam source starvation.

Kondisi yang menggambarkan livelock ini adalah ketika dua orang bertemu di
sebuah koridor yang sempit dan masing-masing mencoba untuk bersikap sopan
dengan menggerakan badan ke samping untuk membiarkan lewat yang lain, tetapi
mereka akhirnya bergoyang dari sisi ke sisi lain tanpa membuat kemajuan karena
mereka berdua berulang kali pindah dengan cara yang sama pada waktu yang sama.
Livelock sendiri merupakan resiko dari beberapa algoritma yang mendeteksi
dan memulihkan dari deadlock. Jika lebih dari satu proses mengambil tindakan,
pendeteksian oleh algoritma berulang kali dapat memicu deadlock. Hal ini dapat
dihindari dengan memastikan bahwa hanya satu proses (dipilih secara acak atau
dengan prioritas) yang mengambil tindakan.

2.6.3. Starvation
Starvation adalah kondisi yang biasanya terjadi setelah deadlock. Proses yang
kekurangan resource (karena terjadi deadlock) tidak akan pernah mendapat resource
yang dibutuhkan sehingga mengalami starvation (kelaparan). Ilustrasi starvation
dengan deadlock seperti pada gambar di bawah ini.

Dalam kasus diatas, antrian di sebelah kiri menunggu antrian kanan untuk
mengosongkan jembatan (resource), begitu juga dengan antrian kanan. Akhirnya tidak
terjadi kemajuan dalam kerja dua antrian tersebut. Misal ada proses A mempunyai
resource X, proses B mempunyai resource Y. Kemudian kedua proses ini dijalankan
bersama proses A memerlukan resource Y dan proses B memerlukan resource X,
tetapi kedua proses tidak akan memberikan resource yang dimiliki sebelum proses
dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu.

Namun, starvation juga bisa terjadi tanpa deadlock. Hal ini ketika terdapat
kesalahan dalam sistem sehingga terjadi ketimpangan dalam pembagian resouce. Satu
proses selalu mendapat resource, sedangkan proses yang lain tidak pernah
mendapatkannya. Ilustrasi starvation tanpa deadlock di dunia nyata dapat dilihat di
bawah ini. Pada gambar di bawah ini.
Pada antrian kanan terjadi starvation karena resource (jembatan) selalu dipakai
oleh antrian kiri, dan antrian kanan tidak mendapatkan giliran. Jika dua proses ingin
mengakses satu sumber daya tunggal maka sistem operasi mengalokasikan untuk
salah satu proses dan mengharuskan proses lain menunggu. Proses yang ditolak
pengaksesan menjadi melambat. Jika terlalu parah maka proses di-blocked terus-
menerus sehingga tidak pernah mengakses sumber daya. Proses tidak pernah dapat
berakhir dengan suskses.

2.5.3.1. Algoritma Starvation

Starvation dapat terjadi pada proses penjadwalan yang menggunakan


prinsip proses yang paling cepat diselesaikan didahulukan, seperti pada
Shortest Job First (SJF) dan Penjadwalan Prioritas.

Logikanya, jika kita mempunyai banyak kebutuhan, kita akan


memilahnya mana yang didahulukan berdasarkan sesuatu. Setelah kita selesai
menyusunnya, ternyata ada kebutuhan lain yang datang (misalkan kebutuhan
A) dan ternyata kebutuhan itu mengalahkan salah satu kebutuhan kita.
Sebelum kebutuhan A terpenuhi, datang lagi kebutuhan lain yang mengalahkan
kebuthan awal. Jika hal ini terjadi secara terus menerus, maka ada kebuthan
awal kita yang tidak terpenuhi (starvation).

Contoh nyatanya, pada kehidupan mahasiswa. Seorang mahasiswa


telah memiliki 3 tugas dan ingin juga menonton film baru. Mahasiswa tersebut
mendahulukan menyelesaikan tugas dibandingkan menonton. Sebelum ketiga
tugas tersebut selesai, dosen lain memberinya tugas baru. Keesokan harinya
ada tugas dari asisten untuk praktikum berikutnya. Ketika tugas satu belum
selesai, sudah ada tugas lain dari dosen atau asisten. Hal ini terus berulang,
sehingga keinginan mahasiswa tersebut untuk menonton film baru bisa tidak
terlaksana atau tidak terpenuhi.

2.6.3.1.Mengatasi Starvation
Starvation dapat diatasi dengan pemrosesan dengan cara Round Robin.
Pada Round Robin, proses yang masuk akan dimasukkan ke dalam antrian
menurut kedatangan proses tersebut. Dalam penyelesainnya, suatu proses tidak
akan langsung selesai jika waktu yang dibutuhkan melebihi waktu kuantum
yang diberikan. Waktu kuantum adalah waktu yang diberikan untuk
menyelesaikan suatu proses. Ketika sutu proses telah mencapai batas waktu
kuantum, sisa dari proses tersebut dikembalikan ke antrian paling belakang
dan resource dipindahkan ke proses selanjutnya. Dengan cara ini, semua
proses yang mengantri, akan mendapatkan resource secara bergantian ( tidak
ada proses yang memonopoli resource ) sehingga semua proses dapat
diselesaikan.
Di contoh lalu lintas, terlihat bahwa kejadian deadlock yang
berlangsung secara terus-menerus dan tiada akhir dapat menyebabkan
terjadinya starvation. Akan tetapi, deadlock bukanlah satu-satunya penyebab
terjadinya starvation. Lalu lintas yang didominasi oleh kendaraan-kendaraan
dari satu arah pun dapat menyebabkan terjadinya starvation. Akibat yang
terjadi adalah kendaraan dari arah lain menjadi terus menunggu giliran untuk
berjalan hingga akhirnya mengalami starvation.
BAB III
PENUTUP
3.1. Kesimpulan

Penjadwalan proses yaitu kumpulan kebijaksanaan dan mekanisme di sistem operasi


yang berkaitan dengan urutan kerja yang dilakukan oleh sistem komputer. Penjadwalan
bertugas menentukan proses mana yang harus berjalan serta kapan dan berapa lama proses itu
berjalan. Kriteria untuk mengukur dan optimasi kerja penjadwalan yaitu : Adil, Efesiensi,
Waktu Tanggap, Turn Arround Time, dan Throughtput. Terdapat 3 tipe penjadwalan dalam
sistem operasi yaitu : Penjadwalan Jangka Pendek, Jangka Menengah, dan Jangka Panjang.
Macam-macam strategi penjadwalan dibagi menjadi 2 yaitu Penjadwalan Nonpreemptive dan
Penjadwalan Preemprive. Algoritma penjadwalan pun dibagi menjadi 2, untuk Algoritma
Penjadwalan Nonpreemptive adalah : FIFO dan SJF. Sedangakan untuk Algoritma
Penjadwalan Preemptive adalah : RR, SRF. Kemudian untuk masalah yang timbul dalam
Multiple Process adalah Deadlock, Livelock dan Starvation.
DAFTAR PUSTAKA

Aninom. Algoritma Penjadwalan Proses. Di akses di https://www.academia.edu/9271486/


Algoritma_Penjadwalan_Proses pada tanggal 17 April 2017

Anonim. Konsep Manajemen Proses. Di akses di https://jokosuselo.wordpress.com/sistem-


operasi/tugas-individu/tugas-2-konsep-manajemen-proses-di-sistem-operasi/ pada
tanggal 17 April 2017

Bob DuCharme. 2001. The Operating System Handbook or. Fake Your Way Through Minis
and Mainframes. Singapure: McGraw- Hill Book Co.

Masyarakat Digital Gotong Royong (MDGR). 2008. Diakses di


http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/BUKU/Si
stemOperasi-4.X-1/ch17s07.html pada tanggal 25 April 2017.

Octarida, Reza. 2011. BAB V (SISTEM OPERASI) PENJADWALAN PROSES. Diakses di


http://manajement-info.blogspot.co.id/2011/12/bab-v-sistem-operasi-penjadwalan-
proses.html pada tanggal 17 April 2017.

OpenCanvas. 2014. Operating Systems 3 - Process Manager Part 2. Diakses di


https://www.youtube.com/watch?v=7FRW4iGjLrc pada tanggal 14 April 2017

Septyani. 2011. Manajer Proses (Process Manager) pada Sistem Operasi. Di akses di
http://dwi-septy21.blogspot.co.id/2011/02/manajer-proses-process-manager-
pada.html pada tanggal 17 April 2017.

You might also like