this blog for share with my friend and my lecturer.. please critique if there is an error.. i'm just someone who is still learning.. this blog also contains my duties to the lecturer..

Monday, May 10, 2010

PENJADWALAN PROSES..


PEMBAHASAN PENJADWALAN PROSES
Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme disistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.

Adapun penjadwalan bertugas memutuskan :
a. Proses yang harus berjalan
b. Kapan dan selama berapa lama proses itu berjalan

Sasaran utama penjadwalan proses adalah optimasi kinerja menurut kriteria tertentu, yaitu:
            - adil
            - efisiensi
            - waktu tanggap (response time)
            - turn arround time
            - throughput

Adil
Proses-proses diperlakukan sama yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tidak kebagian layanan pemroses.

Efisiensi
-Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
-Sasaran penjadwalan : menjaga agar pemroses tetap  dalam keadaan sibuk sehingga efisiensi
 mencapai maksimum.
-Sibuk : pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi
 program pemakai dan SO

Waktu tanggap (Response Time)
Waktu tanggap pada sistem interaktif
Adalah waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan sampai hasil pertama muncul dilayar (terminal) => disebut terminal response time
Waktu tanggap pada sistem waktu nyata (real-time)
Adalah waktu dari saat kejadian (internal ataueksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi => disebut event response time

 Turn Arround time
-Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses
 Diselesaikan  sistem.
-Waktu yang dimaksud adalah waktu yang dihabiskan didalam sistem.

Turn Arround Time = waktu eksekusi + waktu menunggu

Sasaran penjadwalan adalah meminimalkan turn arround time.

 Throughput
-Adalah jumlah kerja atau jumlah job yang dapat  diselesaikan dalam satu unit waktu.
-Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu.
-Lebih tinggi angka throughput = lebih banyak kerja yang dilakukan sistem.

 Ada 2 strategi penjadwalan:
• Penjadwalan non preemptive
• Penjadwalan preemptive

Penjadwalan nonpreemptive : Proses yang sedang berjalan tidak dapat disela . Sekali proses berada di status running sedang berjalan ), maka proses tersebut akan dieksekusi terus sampai proses berhenti dan CPU tidak dapat diambil alih oleh proses yang lain disela. (berjalan),
lain.

Penjadwalan preemptive : Proses yang sedang berjalan dapat diinterupsi dan dipindah ke status ready oleh sistem operasi sehingga CPU dapat diambil alih proses yang lain
lain.

Tipe Penjadwalan
Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
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 prosesaktif.
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.
Sasaran penjadwalan berdasarkan tipe-tipe penjadwalan :

a. Memaksimumkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapkan.
b. Mengendalikan transisi dari suspended to ready (keadaan suspend ke ready) dari proses-
   proses swapping.
c. Memberi keseimbangan job-job campuran.



tiga istilah yang digunakan pada penjadwalan proses
1. antrian
sejumlah proses yang menunggu menggunakan prosesor dan akan diproses sesuai dengan urutan antrian proses. Proses berada dalam memori utama

2. prioritas
mendahului pada antrian proses, jika proses itu berada dibagian belakang antrian, maka dengan pemberian prioritas, proses itu lanngsung berada dibagian paling depan pada antrian itu sambil menunggu sampai kerja prosesor selesai.
Contoh penjadwalan dengan menggunakan prioritas:
Proses
Waktu
Prioritas
Kedatangan
P1
6
4
0
P2
8
1
0
P3
7
3
0
P4
3
2
0


P2
P4
P3
P1
0                                         8               11                            18                        24
- waktu tunggu : P1=18, P2=0, P3=11, P4=8
- waktu tunggu rata-rata : (18+0+11+8)/4=9.25

3. prempsi
mendahului pada antrian proses, jika proses itu berada dibagian belakang antrian, maka dengan pemberian prempsi proses itu langsung berada dibagian paling depan pada antrian itu bahkan akan memberhentikan kerja prosesor untuk mengerjakan proses yang prempsi tersebut.
Perhitungan pada kerja prosesor
lama proses (t) adlah lama waktu yang diperlukan untuk mengolah proses itu didalam prosesor.
Lama tanggap (T) adlah waktu yang diperlukan untuk proses sejak mulai sampai selesai diolah oleh prosesor.

Teknik penjadwalan prosesor
1. kategori penjadwalan prosesor
- tanpa prioritas tanpa prempsi
- dengan prioritas tanpa prempsi
- tanpa prioritas dengan prempsi
- dengan prioritas dengan prempsi

2. Teknik penjadwalan prosesor
- penjadwalan satu tingkat
- penjadwalan multi tingkat

3. teknik penjadwalan satu tingkat
- jika terdapat N proses serentak, serta setiap proses memiliki lama tanggap sebesar T, maka
  rerata lama tanggap Tr adalah

Tr = (jumlah Ti) / N

- waktu sia-sia (T-t), waktu yang terbuang dalam antrian atau selama terkena prempsi
- rasio tanggap (Rt), perbandingan diantara lama proses terhadap lama tanggap
- rasio pinalti (Rp), perbandingan diantara lama tanggap terhadap lama proses

Rt = t          dan          Rp  = T
       T                                   t


1. Algoritma Penjadwalan Pertama tiba pertama dilayani (PTPD/ FCFS/FIFO)

Penjadwalan tanpa prioritas tanpa prempsi, Proses yang tiba lebih dahulu akan dilayani lebih dahulu, jika tiba pada waktu yang bersamaan akan dilayani sesuai dengan urutan pada antrian.


Nama Proses
Saat Tiba
Lama Proses
A
0
4
B
1
7
C
3
3
D
7
8






Tabel PTPD
Nama Proses
Saat Tiba
Lama Proses
Saat Mulai
Saat Rampung
Lama Tanggap
A
0
4
0
4
4
B
1
7
4
11
10
C
3
3
11
14
11
D
7
8
14
22
15

S Ti
40
Tr
10












2. Algoritma penjadwalan proses terpendek dipertamakan (PTD/SJF/SJN)

Penjadwalan dengan prioritas tanpa prempsi
Terdapat 2 langkah :
Penentuan berdasarkan pendeknya proses yang dilayani. Jika proses yang terpendek tersebut belum tiba maka prosesor akan melayani proses yang telah tiba sampai proses tersebut selesai.

Nama Proses
Saat  Tiba
Lama Proses
A
0
5
B
3
7
C
5
2
D
6
4

Tabel PTD

Nama Proses
Saat
Tiba
Lama Proses
Saat Mulai
Saat Rampung
Lama Tanggap
A
0
5
0
5
5
B
3
7
11
18
15
C
5
2
5
7
2
D
6
4
7
11
5



Jumlah
27
Rerata
6,75



Barisan proses
saat
0
1
2
3
4
5
6
7
8
9
10

barisan
    A
 A
A
A
A
A
A
C
C
D
D



























saat
10
11
12
13
14
15
16
17
18
19
20

barisan
    D
B
B
B
B
B
B
    B






























3. algoritma penjadwalan proses terpendek dipertamakan prempsi (PTDP/PSPN/SRT)

Penjadwalan dengan prioritas dengan prempsi Beberapa ketentuan :
- Prioritas berdasarkan pendeknya sisa proses
- Diperhatikan saat proses tiba atau saat proses selesai
- Menghitung lama sisa proses dari semua proses yang ada
- Jika proses dengan sisa proses yang lebih pendek dari proses yang sedang dikerjakan, maka atas dasar prempsi proses yang sedang dikerjakan akan dikeluarkan dari prosesor

Tabel proses PTDP

Nama Proses
Saat Tiba
Lama Proses
A
0
7
B
2
3
C
4
9
D
5
4


Barisan proses
                A                      B           C         D
saat
0
1
2
3
4
5
6
7
8
9
10

barisan
  A
 A
 B
 B
 B
 D
 D
 D
 D
 A



























sisa      A=5     A=5     A=5
           
                        B=2     B=1     B=0
                                    C=9     C=9
                                          D=4

saat
10
11
12
13
14
15
16
17
18
19
20

barisan
  A
 A
A
 A
C
 C
 C
C
 C
 C




























saat
20
21
22
23
24
25
26
27
28
29
30

barisan
C
 C
 C





































Tabel PTPD

Nama Proses
Saat
Tiba
Lama Proses
Saat Mulai
Saat Rampung
Lama Tanggap
A
0
7
0
14
14
B
2
3
2
5
3
C
4
9
14
23
19
D
5
4
5
9
4







Jumlah
40
Rerata
10




4. Algoritma Penjadwalan Ratio Pinalti Tertinggi

Dipertamakan (RPTD/ HPRN)
Penjadwalan dengan prioritas tanpa prempsi Ketentuan :
Prioritas berdasarkan besarnya nilai ratio pinalti
Rumus ratio pinalti = Rp = ( s + t ) / t
s = waktu sia-sia (Saat selesai – Saat tiba)
t = lama proses

Tetap mendahulukan proses terpendek, namun prioritas proses panjang akan turut meningkat melalui peningkatan ratio pinaltinya.
Algoritma ini untuk mengatasi kelemahan pada algoritma PTD
Pada algoritma PTD, jika proses pendek terus berdatangan maka proses panjang akan terbengkalai.      Pada algoritma RPTD, lama tunggu akan meningkatkan prioritas sehingga pada suatu saat proses panjang memperoleh prioritas. Makin lama menunggu, makin besar Rsehingga makin tinggi prioritas

Contoh:
Nama proses
Saat tiba
Lama proses
A
0
4
B
1
2
C
2
5
D
3
8
E
4
4

STEP 1
Nama proses
Tiba selama
Ratio penalti
B
3
(3+2)/2=2.5
C
2
(2+5)/5=1.2
D
1
(1+8)/8=1.125
E
0
(0+4)/4=1


STEP 2
Nama proses
Tiba selama
Ratio penalti
C
4
(4+5)/5=1.8
D
3
(3+8)/8=1.375
E
2
(2+4)/4=1.5


STEP 3
Nama proses
Tiba selama
Ratio penalti
D
8
(8+8)/8=2
E
7
(7+4)/4=2.75

TABEL RPTD

Nama Proses
Saat
Tiba
Lama Proses
Saat Mulai
Saat Rampung
Lama Tanggap
A
0
4
0
4
4
B
1
2
4
6
5
C
2
5
6
11
9
D
3
8
15
23
20
E
4
4
11
15
11

Jumlah
49
Rerata
9.8

Barisan proses
saat
0
1
2
3
4
5
6
7
8
9
10


barisan
    A
  A
  A
   A
   B
  B
C
C
C
C



























saat
10
11
12
13
14
15
16
17
18
19
20


barisan
    C
  E
  E
   E
   E
  D
D
D
D
D



























saat
20
21
22
23
24
25
26
27
28
29
30


barisan
    D
  D
  D


































5. Algoritma Penjadwalan Putar Gelang (Roun Robin/ Time Slice)

Penjadwalan tanpa prioritas dengan prempsi Beberapa ketentuan :
- Kuantum waktu , waktu yang digunakan oleh prosesor untuk melayani setiap proses
- Prosesor akan melayani setiap proses berdasarkan antrian
- Prosesor akan melayani sesuai dengan Kuantum waktu yang sudah ditentukan.

Contoh:
Tabel proses putar gelang
Nama proses
Saat tiba
Lama proses
A
0
5
B
2
3
C
5
7
D
6
1
E
7
6

Kuantum ¹ 3


Barisan proses
saat
0
1
2
3
4
5
6
7
8
9
10


barisan
    A
  A
  A
B
B
B
A
A
C
D



























saat
10
11
12
13
14
15
16
17
18
19
20


barisan
    E
  E
  C
   C
   C
  E
E
E
C
C



























saat
20
21
22
23
24
25
26
27
28
29
30


barisan
    C
  E
 





































Tabel putar gelang

Nama Proses
Saat
Tiba
Lama Proses
Saat Mulai
Saat Rampung
Lama Tanggap
A
0
5
0
8
8
B
2
3
3
6
4
C
5
7
8
21
16
D
6
1
9
10
4
E
7
6
10
22
15

Jumlah
47
Rerata
9.6
 

0 comments:

Followers