Jurnal Kedua (Disk Schedulling)

Embed Size (px)

DESCRIPTION

Penjadwalan DiskBagus Ali AkbarD1A.10.0016 Program Sarjana Sistem Informasi, Universitas Subang [email protected] structure is an important thing for the storage of information. Modern computer systems use disks as secondary storage media. First magnetic tape is used before the use of disk as a storage medium, the secondary has a slower access time than disk. Since the used disk, tape used for backup, to store information that is not often used, as a

Citation preview

Manajemen Disk dan Penjadwalan DiskBagus Ali AkbarD1A.10.0016 Program Sarjana Sistem Informasi, Universitas Subang [email protected]

AbstractDisk structure is an important thing for the storage of information. Modern computer systems use disks as secondary storage media. First magnetic tape is used before the use of disk as a storage medium, the secondary has a slower access time than disk. Since the used disk, tape used for backup, to store information that is not often used, as a medium for transferring information from one system to another, and to store data that is large enough for the systemdisk. Disk scheduling is one thing that is very important in achieving the efficiency of the hardware. For disk drives, the efficiency is affected by the speed of disk access time and the amount of bandwidth. Access time has two major components namely the search time and the time the disk rotation (rotational latency). Search time is the time it takes the disk arm to move the disk head to the cylinder containing the desired sector. Keywords: Disk structure, Magnetic tape, Disk scheduling, Disk rotation Abstrak Struktur disk merupakan suatu hal yang penting bagi penyimpanan informasi. Sistem komputer modern menggunakan Disk sebagai media penyimpanan sekunder. Dulu pita magnetik digunakan sebelum penggunaan disk sebagai media penyimpanan,sekunder yang memiliki waktu akses yang lebih lambat dari disk. Sejak digunakan disk, tape digunakan untuk backup, untuk menyimpan informasi yang tidak sering digunakan, sebagai media untuk memindahkan informasi dari satu sistem ke sistem lain, dan untuk menyimpan data yang cukup besar bagi sistem disk. Penjadwalan disk merupakan salah satu hal yang sangat penting dalam mencapai efisiensi perangkat keras. Bagi disk drives, efisiensi dipengaruhi oleh kecepatan waktu akses dan besarnya disk bandwith. Waktu akses memiliki dua komponen utama yaitu waktu pencarian dan waktu rotasi disk( rotational latency). Waktu pencarian adalah waktu yang dibutuhkan disk arm untuk menggerakkan head ke bagian silinder disk yang mengandung sektor yang diinginkan. Kata Kunci: Struktur disk, Pita magnetik, Penjadwalan disk, Rotasi disk

1

1. PendahuluanPenjadwalan disk merupakan salah satu hal yang sangat penting dalam mencapai efisiensi perangkat keras. Bagi disk drives, efisiensi dipengaruhi oleh kecepatan waktu akses dan besarnya disk bandwith. Waktu akses memiliki dua komponen utama yaitu waktu pencarian dan waktu rotasi disk( rotational latency). Waktu pencarian adalah waktu yang dibutuhkan disk arm untuk menggerakkan head ke bagian silinder disk yang mengandung sektor yang diinginkan. Waktu rotasi disk adalah waktu tambahan yang dibutuhkan untuk menunggu perputaran disk agar head dapat berada di atas sektor yang diinginkan. Disk bandwith adalah total jumlah bytes yang ditransfer dibagi dengan total waktu dari awal permintaan transfer sampai transfer selesai. Kita bisa meningkatkan waktu akses dan bandwidth dengan menjadwalkan permintaan dari I/O dalam urutan tertentu. Sejak digunakan disk, tape digunakan untuk backup, untuk menyimpan informasi yang tidak sering digunakan, sebagai media untuk memindahkan informasi dari satu sistem ke sistem lain, dan untuk menyimpan data yang cukup besar bagi sistem disk. Sistem operasi bertanggung jawab dalam hal efisiensi hardware untuk disk drive berarti dalam hal kecepatan akses dan bandwith disk. Waktu akses secara umum terbagi ke dalam: Seek time yaitu waktu disk untuk menggerakkan head ke silinder untuk mencapai sektor yang diinginkan. Rotational latency waktu tunggu disk untuk berputar mengelilingi sektor ke head disk. Meminimalkan seek time Disk bandwidth adalah total jumlah byte yang ditransfer, dibagi dalam totoal waktu antara permintaan pertama untuk dilayani hingga selesai transfer. [2] [3]

disk. Waktu pencarian adalah waktu yang dibutuhkan disk arm untuk menggerakkan head ke bagian silinder disk yang mengandung sektor yang diinginkan. Waktu rotasi disk adalah waktu tambahan yang dibutuhkan untuk menunggu rotasi atau perputaran disk, sehingga sektor yang diinginkan dapat dibaca oleh head. Pengertian Bandwidth adalah total jumlah bytes yang ditransfer dibagi dengan total waktu antara permintaan pertama sampai seluruh bytes selesai ditransfer. Untuk meningkatkan kecepatan akses dan bandwidth, kita dapat melakukan penjadualan pelayanan atas permintaan I/O dengan urutan yang tepat. Sebagaimana kita ketahui, jika suatu proses membutuhkan pelayanan I/O dari atau menuju disk, maka proses tersebut akan melakukan system call ke sistem operasi. Permintaan tersebut membawa informasiinformasi antara lain: 1. Apakah operasi input atau output. 2. Alamat disk untuk proses tersebut. 3. Alamat memori untuk proses tersebut 4. Jumlah bytes yang akan ditransfer Jika disk drive beserta controller tersedia untuk proses tersebut, maka proses akan dapat dilayani dengan segera. Jika ternyata disk drive dan controller tidak tersedia atau sedang sibuk melayani proses lain,maka semua permintaan yang memerlukan pelayanan disk tersebut akan diletakkan pada suatu antrian penundaan permintaan untuk disk tersebut. Dengan demikian, jika suatu permintaan telah dilayani, maka sistem operasi memilih permintaan tertunda dari antrian yang selanjutnya akan dilayani. [1]

1.1. Latar Belakang MasalahSalah satu tanggung jawab sistem operasi adalah menggunakan hardware dengan efisien. Khusus untuk disk drives, efisiensi yang dimaksudkan di sini adalah dalam hal waktu akses yang cepat dan aspek bandwidth disk. Waktu akses memiliki dua komponen utama yaitu waktu pencarian dan waktu rotasi

1.2. PenelitianDisk menyediakan penyimpanan sekunder bagi sistem komputer modern. Magnetic tape sebelumnya digunakan sebagai media penyimpanan sekunder, tetapi waktu aksesnya lebih lambat dari disk. Oleh karena itu, sekarang tape digunakan terutama untuk2

backup, untuk penyimpanan informasi yang tidak sering, sebagai media untuk mentransfer infromasi dari satu sistem ke sistem yang lain, dan untuk menyimpan sejumlah data yang terlalu besar untuk sistem disk. Disk drive modern dialamatkan sebagai suatu array satu dimensi yang besar dari blok lojik, dimana blok lojik merupakan unit terkecil dari transfer. Ukuran dari blok lojik biasanya adalah 512 bytes, walau pun sejumlah disk dapat diformat di level rendah (low level formatted) untuk memilih sebuah ukuran blok lojik yang berbeda, misalnya 1024 bytes.Array satu dimensi dari blok lojik dipetakan ke bagian dari disk secara sekuensial. Sektor 0 adalah sektor pertama dari trek pertama di silinder paling luar (outermost cylinder). Pemetaan kemudian memproses secara berurutan trek tersebut, kemudian melalui trek selanjutnya di silinder tersebut, dan kemudian sisa silinder dari yang paling luar sampai yang paling dalam. [1]

mempunyai 40 persen sektor lebih banyak daripada trek di zona paling dalam. Nomor sektor per trek telah meningkat seiring dengan peningkatan teknologi disk, dan adalah lazim untuk mempunyai lebih dari 100 sektor per trek di zona yang lebih luar dari disk. Dengan analogi yang sama, nomor silinder per disk telah meningkat, dan sejumlah ribuan silinder adalah tak biasa. [1]

2. MetodologiMetodologi yang digunakan pembuatan tulisan ini adalah: dalam

1.3. Dasar TeoriDengan menggunakan pemetaan, kita dapat minimal dalam teori mengubah sebuah nomor blok logikal ke sebuah alamat disk yang bergaya lama (old-style disk address) yang terdiri atas sebuah nomor silinder, sebuah nomor trek di silinder tersebut, dan sebuah nomor sektor di trek tersebut. Dalam prakteknya, adalah sulit untuk melakukan translasi ini, dengan 2 alasan. Pertama, kebanyakan disk memiliki sejumlah sektor yang rusak, tetapi pemetaan menyembunyikan hal ini dengan mensubstitusikan dengan sektor yang dibutuhkan dari mana-mana di dalam disk. Kedua, jumlah dari sektor per trek tidaklah konstan. Semakin jauh sebuah trek dari tengah disk, semakin besar panjangnya, dan juga semakin banyak sektor yang dipunyainya. Oleh karena itu, disk modern diatur menjadi zona-zona silinder. Nomor sektor per trek adalah konstan dalam sebuah zona. Tetapi seiring kita berpindah dari zona dalam ke zona luar, nomor sektor per trek bertambah. Trek di zona paling luar tipikalnya

a. Rumusan masalah, digunakan untuk mendefinisikan masalah yang terjadi pada metode manajemen disk . Berikut ini permasalahan atau pertanyaan yang timbul pada Manajemen disk dan Penjadwalan disk, antara lain: Kapan penjadwalan tersebut dapat berjalan efektif. Hal-hal apa saja yang sering muncul ketika penjadwalan tersebut tidak berjalan Banyak penjadwalan disk yang sangat efektif digunakan. b. Studi literatur, yang digunakan bertujuan untuk membandingkan Penjadwalan disk yang telah ada sebelumnya maupun yang sedang dibahas. Informasi diperoleh dari berbagai sumber seperti internet, jurnal, buku, maupun artikel yang sesuai dengan bahasan materi.

3. Pembahasan 3.1. Penjadwalan DiskDisk (hard disk) adalah tempat penyimpanan data yang didalamnya terdiri dari kumpulan cakram-cakram magnetik. Disk dapat memiliki kapasitas yang sangat besar. Disk juga memiliki waktu akses yang cukup cepat jika dibandingkan dengan magnetic tape. Disk memiliki disk arm yang bertugas untuk3

bergerak dari satu silinder ke silinder yang lain. Di ujung disk arm terdapat head, fungsi head adalah membaca data pada sector yang berada diatas/bawahnya. Penjadwalan disk merupakan salah satu hal yang sangat penting dalam mencapai efisiensi perangkat keras. Bagi disk drives, efisiensi dipengaruhi oleh kecepatan waktu akses dan besarnya disk bandwith. Waktu akses memiliki dua komponen utama yaitu waktu pencarian dan waktu rotasi disk( rotational latency). Waktu pencarian adalah waktu yang dibutuhkan disk arm untuk menggerakkan head ke bagian silinder disk yang mengandung sektor yang diinginkan. Waktu rotasi disk adalah waktu tambahan yang dibutuhkan untuk menunggu perputaran disk agar head dapat berada di atas sektor yang diinginkan. Disk bandwith adalah total jumlah bytes yang ditransfer dibagi dengan total waktu dari awal permintaan transfer sampai transfer selesai. Kita bisa meningkatkan waktu akses dan bandwidth dengan menjadwalkan permintaan dari I/O dalam urutan tertentu. Apabila suatu proses membutuhkan pelayanan I/O dari atau menuju disk, maka proses tersebut akan melakukan system call ke sistem operasi. Permintaan tersebut membawa beberapa informasi, antara lain: 1. 2. 3. 4. Apakah operasi input atau output. Alamat disk untuk proses tersebut. Alamat memori untuk proses tersebut Jumlah bytes yang akan ditransfer

Karena waktu seek lebih tinggi satu orde dibanding waktu rotasi, maka kebanyakan algoritma penjadwalan berkonsentrasi meminimumkan seek kumpulan atau antrian permintaan layanan disk. Meminimumkan latency biasanya berdampak kecil pada kinerja seluruh sistem. Penjadwalan disk melibatkan pemeriksaan terhadap permintaan-permintaan yang belum dilayani untuk menentukan cara paling efisien melayani permintaan-permintaan. Penjadwal disk memeriksa hubungan posisi diantara permintaan-permintaan. Antrian permintaan disusun kembali sehingga permintaanpermintaan akan dilayani dengan pergerakan mekanis minimum. Beberapa kriteria penjadwalan disk, yaitu : o Throughput, yaitu berusaha memaksimumkan. o Waktu tanggap rata-rata, nilai ini diusahakan minimum. o Variansi waktu tanggap, diusahakan minimum. Disk Performance Parameters Seek time Waktu yang dibutuhkan disk arm untuk menempatkan head berada pada silinder yang dituju. Rotational Latency Waktu yang dibutuhkan untuk mengakses suatu bagian terte Waktu yang dibutuhkan disk untuk berputar agar sektor yang ingin diakses berada di bawah/atas head. Access Time ntu di dalam disk, yaitu: Seek time + Rotational Latency. Bandwidth Jumlah bytes yang dapat ditransfer oleh disk per satuan waktu (biasanya detik). Time to get data Waktu total dari permintaan terhadap disk sampai permintaan terhadap disk tersebut dipenuhi, yaitu: Acces time + Transfer time. Cache of Disk Tempat penyimpanan sementara untuk data yang keluar/masuk dari disk. Semakin besar ukuran cache akan semakin baik. Beberapa aspek yang termasuk aspek penting dalam Manajemen Disk : 1. Format Disk4

Pelayanan akan dilayani pada suatu proses apabila disk drive beserta pengendali tersedia untuk proses tersebut. Apabila disk drive dan pengendali sedang sibuk melayani proses lain, maka semua permintaan yang memerlukan pelayanan disk tersebut akan diletakkan pada suatu antrian permintaan untuk disk tersebut. Dengan demikian, jika suatu permintaan telah dilayani, maka sistem operasi melayani permintaan dari antrian berikutnya. Terdapat dua tipe penjadwalan disk, yaitu : 1. Optimasi seek. 2. Optimasi rotasi (rotational latency).

Disk adalah salah satu tempat penyimpanan data. Sebelum sebuah disk dapat digunakan, disk harus dibagi-bagi dalam beberapa sektor. Sektor-sektor ini yang kemudian akan dibaca oleh pengendali. Pembentukan sektor-sektor ini disebut low level formatting atau physical formatting. Low level formatting juga akan mengisi disk dgn beberapa struktur data penting seperti header dan trailer. Header dan trailer mempunyai informasi seperti nomor sektor, dan Error Correcting Code (ECC). ECC ini berfungsi sebagai correcting code karena mempunyai kemampuan untuk mendeteksi bit yang salah, menghitung nilai yang benar dan kemudian mengubahnya. Ketika proses penulisan, ECC di-update dengan menghitung bit di area data. Pada proses pembacaan, ECC dihitung ulang dan dicocokan dengan nilai ECC yang tersimpan saat penulisan. Jika nilainya berbeda maka dipastikan ada sektor yang terkorup. Agar dapat menyimpan data, OS harus menyimpan struktur datanya dalam disk tersebut. Proses itu dilakukan dalam dua tahap, yaitu partisi dan logical formatting. Partisi akan membagi disk menjadi beberapa silinder yang dapat diperlakukan secara independen. Logical formatting akan membentuk sistem berkas disertai pemetaan disk. Terkadang sistem berkas ini dirasakan menggangu proses alokasi suatu data, sehingga diadakan sistem partisi lain yang tidak mengikutkan pembentukan sistem berkas, disebut raw disk . 2. Boot Block

memori dan kemudian loncat ke initial address untuk memulai eksekusi OS. Untuk alasan praktis, bootstrap sering dibuat berbentuk kecil ( tiny loader) dan diletakan di ROM, yang kemudian akan men- load full bootstrap dari disk bagian disk yang disebut boot block. Perubahan menjadi bentuk simple ini bertujuan jika diadakan perubahan pada bootstrap, maka struktur ROM tidak perlu dirubah semuanya. 3. Bad Block

Bad block adalah satu atau lebih sektor yang cacat atau rusak. Kerusakan ini bisa diakibatkan karena kerentanan disk jika sering dipindah-pindah atau kemasukan benda asing. Dalam disk sederhana seperti IDE controller, bad block akan ditangani secara manual seperti dengan perintah format pada MS-DOS yang akan mencari bad block dan menulis nilai spesial ke FAT entry agar tidak mengalokasikan branch routine ke blok tersebut. SCSI mengatasi bad block dengan cara yang lebih baik. Daftar bad block-nya dipertahankan oleh controller pada saat low level formatting, dan terus diperbarui selama disk itu digunakan. Low level formatting akan memindahkan bad sector itu ke tempat lain yang kosong dengan algoritma sector sparing atau forwarding. Sector sparing dijalankan dengan ECC mendeteksi bad sector dan melaporkannya ke OS, sehingga saat sistem dijalankan sekali lagi, controller akan menggantikan bad sector tersebut dengan sektor kosong. algoritma lain yang sering digunakan adalah sector slipping. Ketika sebuah bad sector terdeteksi, sistem akan mengopi semua isi sektor ke sektor selanjutnya secara bertahap satu-satu sampai ditemukan sektor kosong. Misal bad sector di sektor 7, maka isinya akan dipindahkan ke sektor 8, isi sektor 8 dipindahakan ke 9 dan seterusnya. [2] [4] [7]

Saat sebuah komputer dijalankan, sistem akan mencari sebuah initial program yang akan memulai segala sesuatunya. Initial program-nya ( initial bootstrap) bersifat sederhana dan akan menginisialisasi seluruh aspek yang diperlukan bagi komputer untuk beroperasi dengan baik seperti CPU registers, controller, dan yang terakhir adalah Sistem Operasinya. Pada kebanyakan komputer, bootstrap disimpan di ROM ( read only memory) karena letaknya yang tetap dan dapat langsung dieksekusi ketika pertama kali listrik dijalankan. Letak bootstrap di ROM juga menguntungkan karena sifatnya yang read only memungkinkan dia untuk tidak terinfeksi virus. Untuk melakukan tugasnya, bootstrap mencari kernel di disk dan me-load kernel ke

3.2. Struktur Disk

Struktur disk merupakan suatu hal yang penting bagi penyimpanan informasi. Sistem komputer modern menggunakan Disk sebagai5

media penyimpanan sekunder. Dulu pita magnetik digunakan sebelum penggunaan disk sebagai media penyimpanan,sekunder yang memiliki waktu akses yang lebih lambat dari disk. Sejak digunakan disk, tape digunakan untuk backup, untuk menyimpan informasi yang tidak sering digunakan, sebagai media untuk memindahkan informasi dari satu sistem ke sistem lain, dan untuk menyimpan data yang cukup besar bagi sistem disk. Bentuk penulisan Disk drive modern adalah array blok logika satu dimensi yang besar. Blok logika merupakan satuan unit terkecil dari transfer. Ukuran blok logika umumnya sebesar 512 bytes walaupun disk dapat diformat di level rendah (low level formatted ) sehingga ukuran blok logika bisa ditentukan, misalnya 1024 bytes. a. b. Secara fisik, disk cakram magnetis terdiri atas cakram yang tersusun secara vertikal. Kedua sisi atas bawah pada masingmasing cakram dapat ditulis data kecuali pada permukaan cakram paling atas dan paling bawah. Memiliki struktur 3 dimensi: o o o d. Silinder Track Sector

Gambar 1 Struktur Storage 1

c.

Gambar 2 Struktur Storage 2

Setiap sisi cakram terdiri atas alur melingkar atau track. o makin ke dalam sisi cakram , alurnya makin kecil

e. f. g.

Setiap track terbagi lebih lanjut atas sector. Setiap sector terdiri atas sejumlah byte yang sama besarnya Pada setiap sisi cakram terdapat head pembaca. o head-head pembaca ini bergerak secara radial secara bersamaanGambar 3 Drive Physical and Logical Organization

h.

Cakram-cakram berputar pada sumbu pusatnya

6

Array adalah blok logika satu dimensi yang dipetakan ke sektor dari disk secara sekuensial. Sektor 0 merupakan sektor pertama dari track pertama yang terletak di silinder paling luar ( outermost cylinder). Proses pemetaan dilakukan secara berurut dari Sektor 0, lalu ke seluruh track dari silinder tersebut, lalu ke seluruh silinder mulai dari silinder terluar sampai silinder terdalam. Kita dapat mengubah sebuah nomor blok logika dengan pemetaan menjadi sebuah alamat disk yang terdiri atas nomor silinder, nomor track di silinder tersebut, dan nomor sektor dari track tersebut. Dalam prakteknya, sulit untuk menerapkan pengubahan tersebut karena ada dua alasan. Pertama, kebanyakan disk memiliki sejumlah sektor yang rusak, tetapi pemetaan menyembunyikan hal ini dengan mensubstitusikan dengan sektor lain yang diambil dari suatu tempat di disk. Kedua, jumlah dari sektor tidak track tidak konstan. Pada media yang menggunakan ketentuan CLV ( Constant Linear Velocity) kepadatan bit tiap track sama, jadi semakin jauh sebuah track dari tengah disk, semakin besar panjangnya, dan juga semakin banyak sektor yang dimilikinya. Trek di zona terluar memiliki 40% sektor lebih banyak dibandingkan dengan track di zona terdalam. Untuk menjamin aliran data yang sama, sebuah drive menaikan kecepatan putarannya ketika disk head bergerak dari zona luar ke zona dalam. Metode ini digunakan dalam CDROM dan DVD-ROM. Metode lain yang digunakan agar rotasi tetap konstan dan aliran data juga konstan dikenal dengan metode CAV ( Constant Angular Velocity). CAV memungkinkan aliran data yang konstan karena kepadatan bit dari zona terdalam ke zona terluar semakin berkurang, sehingga dengan kecepatan rotasi yang konstan diperoleh aliran data yang konstan.

Gambar 4 Geometri fisik suatu disk dengan 2 zona dan Kemungkinan geometri virtual untuk disk ini

Gambar 5 Penjadwalan disk

Gambar 6 Struktur perekaman pada CD atau CD ROM

Gambar 7 Layout data lojik pada CD-ROM [2] [5] [6]

7

3.3. Penjadwalan FCFS (First-Come FirstServed)Penjadwalan disk FCFS melayani permintaan sesuai dengan antrian dari banyak proses yang meminta layanan. Secara umum algoritma FCFS ini sangat adil walaupun ada kelemahan dalam algoritma ini dalam hal kecepatannya yang lambat. Sebagai contoh, antrian permintaan pelayanan disk untuk proses I/O pada blok dalam silinder adalah sebagai berikut: 10, 45, 37, 56, 60, 25, 78, 48, 88, 70, 5, 20. Jika head pada awalnya berada pada 50, maka head akan bergerak dulu dari 50 ke 10, kemudian 45, 37, 56, 60, 25, 78, 48, 88, 70, 5 dan terakhir 20, dengan total pergerakan head sebesar 362 silinder. Dari contoh diatas, kita dapat melihat permasalahan dengan menggunakan penjadwalan jenis ini yaitu pergerakan dari 78 ke 48 dan kembali lagi ke 88. Jika permintaan terhadap silinder 88 dapat dilayani setelah permintaan 78, setelah selesai baru melayani permintaan 48, maka pergerakan total head dapat dikurangi, sehingga dengan demikian pendayagunaan akan meningkat.

seiring dengan jumlah silinder yang dilewati oleh head, maka SSTF memilih permintaan yang paling dekat posisinya di disk terhadap posisi head terakhir. Pergerakan dari contoh diatas yaitu 50 ke 48, lalu ke 45, 37, 25, 20, 10, 5, 56, 60, 70, 78, 88. Perhatikan contoh antrian permintaan yang kita sajikan pada penjadwalan FCFS, permintaan paling dekat dengan posisi head saat itu (50) adalah silinder 48. Jika kita penuhi permintaan 48, maka yang terdekat berikutnya adalah silinder 45. Dari 45, silinder 37 letaknya lebih dekat ke 45 dibandingkan silinder 56,jadi 37 dilayani duluan. Selanjutnya, dilanjutkan ke silinder 25, 20, 10, 5, 56, 60, 70, 78 dan terakhir adalah 88. Metode penjadwalan ini hanya menghasilkan total pergerakan head sebesar 128 silinder -- kira-kira sepertiga dari yang dihasilkan penjadwalan FCFS. Algoritma SSTF ini memberikan peningkatan yang cukup signifikan dalam hal pendayagunaan atau kinerja sistem. Penjadwalan SSTF merupakan salah satu bentuk dari penjadwalan shortest-job-first (SJF), dan karena itu maka penjadwalan SSTF juga dapat mengakibatkan starvation pada suatu saat tertentu. Hal ini dapat terjadi bila ada permintaan untuk mengakses bagian yang berada di silinder terdalam. Jika kemudian berdatangan lagi permintaan-permintaan yang letaknya lebih dekat dengan permintaan terakhir yang dilayani maka permintaan dari silinder terluar akan menunggu lama dan sebaliknya. Walaupun algoritma SSTF jauh lebih cepat dibandingkan dengan FCFS, namun untuk keadilan layanan SSTF lebih buruk dari penjadwalan FCFS.

Gambar 8 Penjadwalan FCFS [2]

3.4. Penjadwalan

SSTF

(Shortest-Seek-

Gambar 9 Penjadwalan SSTF [2]

Time-First)Shortest-Seek-Time-First (SSTF) merupakan algoritma yang melayani permintaan berdasarkan waktu pencarian atau waktu pencarian paling kecil dari posisi head terakhir. Karena waktu pencarian meningkat

3.5. Penjadwalan SCANPada algoritma ini disk arm bergerak menuju ke silinder paling ujung dari disk, kemudian setelah sampai di silinder paling ujung, disk arm akan berbalik arah geraknya8

menuju ke silinder paling ujung lainnya. Algoritma SCAN disebut juga Algoritma lift/ elevator karena algoritma ini cara kerjanya sama seperti algoritma yang umum dipakai oleh lift untuk melayani penggunanya, yaitu lift akan melayani orang-orang yang akan naik ke atas dulu, setelah sampai di lantai tertinggi, baru lift akan berbalik arah geraknya untuk melayani orang-orang yang akan turun. Dalam pergerakannya yang seperti lift itu, disk arm hanya bisa melayani permintaan-permintaan yang berada di depan arah geraknya terlebih dahulu. Bila ada permintaan yang berada di belakang arah geraknya, permintaan tersebut harus menunggu sampai disk arm mencapai salah satu silinder paling ujung dari disk, kemudian berbalik arah geraknya untuk melayani permintaan tersebut. Contoh : (lihat gambar 8) Jika disk head sedang berada di silinder 50, dan sedang bergerak menuju silinder 99, maka permintaan yang bisa dilayani berikutnya adalah yang terdekat dengan silinder 50, tetapi masih berada di depan arah geraknya, yaitu: silinder 56. Begitu seterusnya disk arm melayani permintaan yang berada di depannya sampai disk arm mencapai silinder 99 dan berbalik arah gerak menuju ke silinder 0. Maka setelah disk arm berbalik arah gerak, permintaan di silinder 45 baru bisa dilayani. Keunggulan dari algoritma SCAN adalah total pergerakan disk arm memiliki batas atas, yaitu 2 kali dari jumlah total silinder pada disk. Tetapi di samping itu masih ada beberapa kelemahan yang dimiliki oleh algoritma ini. Dari contoh di gambar 8 terlihat salah satu kelemahan algoritma SCAN: permintaan di silinder 88 sebenarnya sudah merupakan permintaan yang paling ujung, tetapi disk arm harus bergerak sampai silinder 99 dulu, baru kemudian bisa berbalik arah geraknya. Bukankah hal seperti itu sangat tidak efisien? Mengapa disk arm tidak langsung berbalik arah geraknya sesudah sampai di silinder 88? Kelemahan ini akan dijawab oleh algoritma LOOK yang akan dibahas pada subbab berikutnya. Kelemahan lain dari algoritma SCAN yaitu bisa menyebabkan terjadinya starvation. Begitu disk arm berbalik arah geraknya dari silinder 99, maka silinder yang berada dekat di depan arah gerak disk arm baru saja dilayani, sedangkan silinder-silinder yang dekat dengan silinder 0 sudah lama menunggu untuk dilayani. Bila kemudian bermunculan permintaan-

permintaan baru yang dekat dengan silinder 99 lagi, maka permintaan-permintaan baru itulah yang akan dilayani, sehingga permintaanpermintaan yang dekat dengan silinder 0 akan semakin "lapar". Karena kelemahan yang kedua inilah muncul modifikasi dari algoritma SCAN, yaitu C-SCAN yang akan kita bahas berikutnya.

Gambar 10 Penjadwalan SCAN [2]

3.6. Penjadwalan C-SCANAlgoritma Circular SCAN (C-SCAN) merupakan hasil modifikasi algoritma SCAN untuk mengurangi kemungkinan starvation yang bisa terjadi pada SCAN. Perbedaan CSCAN dengan SCAN hanya pada bagaimana pergerakan disk arm setelah sampai ke salah satu silinder paling ujung. Pada algoritma SCAN, disk arm akan berbalik arah menuju ke silinder paling ujung yang lain sambil tetap melayani permintaan yang berada di depan arah pergerakan disk arm, sedangkan pada algoritma C-SCAN sesudah mencapai silinder paling ujung, maka disk arm akan bergerak cepat ke silinder paling ujung lainnya tanpa melayani permintaan. Contoh: (lihat gambar 9) Setelah sampai di silinder 99, disk arm akan bergerak dengan cepat ke silinder 0 tanpa melayani permintaan selama dalam perjalanannya. Kemudian setelah sampai di silinder 0, baru disk arm akan bergerak ke arah silinder 99 lagi sambil melayani permintaan. Dengan pergerakan yang seperti demikian, seolah-olah disk arm hanya bergerak 1 arah dalam melayani permintaan. Tetapi dalam algoritma C-SCAN masih terkandung9

kelemahan yang juga dimiliki oleh algoritma SCAN, yaitu disk arm harus sampai di silinder 99 atau silinder 0 terlebih dahulu sebelum bisa berbalik arah. Untuk itulah dibuat algoritma LOOK yang akan kita bahas berikutnya.

Gambar 12 Penjadwalan LOOK [2]

3.8.

Penjadwalan Round Robin (RR)Round robin adalah sebuah susunan

Gambar 11 Penjadwalan C-SCAN [2]

yang memilih semua elemen pada grup seperti beberapa perintah rasional, biasanya dari atas sampai ke bawah sebuah daftar/susunan dan

3.7. Penjadwalan LOOKSesuai dengan namanya, algoritma ini seolah-olah seperti bisa "melihat". Algoritma ini memperbaiki kelemahan SCAN dan CSCAN dengan cara melihat apakah di depan arah pergerakannya masih ada permintaan lagi atau tidak. Bila tidak ada lagi permintaan di depannya, disk arm bisa langsung berbalik arah geraknya. Penjadwalan LOOK seperti SCAN yang lebih "pintar". Contoh: (lihat gambar 10) Ketika disk head sudah selesai melayani permintaan di silinder 88, algoritma ini akan "melihat" bahwa ternyata di depan arah pegerakannya sudah tidak ada lagi permintaan yang harus dilayani. Oleh karena itu disk arm bisa langsung berbalik arah geraknya sehingga permintaan yang menunggu untuk dilayani bisa mendapatkan pelayanan lebih cepat. Kelemahan algoritma ini sama seperti kelemahan algoritma SCAN bahwa bisa terjadi starvation untuk situasi yang sama pula dengan yang menyebabkan terjadinya starvationpada algoritma SCAN. Oleh karena itulah dibuat lagi suatu algoritma yang lebih baik untuk memperbaiki algoritma ini, yaitu: C-LOOK.

kembali lagi keatas dan begitu seterusnya. Dapat diandaikan bahwa round robin seperti mengambil giliran (taking turns). Dalam cara kerja komputer, satu metode memiliki beberapa proses program yang berbeda dalam mengambil giliran, dengan menggunakan

sumber daya komputer ke batas proses setiap jangka waktu pendek tertentu, kemudian membatalkan/menghentikan proses yang

sedang berjalan kepada proses yang mendapat giliran berikutnya. Biasa diartikan sebagai proses Penjadwalan Round Robin. Dapat dianalogikan dimana semua seperti robin atau turnamen olahraga,

round tim

menyusun/mengatur para giliran pemain mereka

mengambil/memainkan

bermain. Yang akan menghasilkan pemenang dari turnamen yang telah diselenggarakan.

10

Penjadwalan ini : a. Baik untuk sistem interactive-time sharing dimana kebanyakan waktu dipergunakan

P 1

P 2

P 3

P 1

P 2

P 3

P 1

P 2

P 3

P 2

Waktu tunggu: P1=0+2+2=4, P2=1+2+2+1=6 P3=2+2+2=6 Waktu tunggu rata-rata: (4+6+6)/3=5.33 [8]

menunggu kejadian eksternal. Contoh : text editor, kebanyakan waktu program adalah untuk menunggu keyboard, sehingga dapat dijalankan proses-proses lain. b. Tidak cocok untuk sistem waktu nyata apalagi hard-real-time applications. Jadi kesimpulan yang dapat ditambahkan dari round robin adalah: Tiap proses memperoleh alokasi waktu CPU dlm kuantum waktu, biasanya 10-100 ms y Setelah kuantum waktu lewat, proses

3.9. Penjadwalan SJF (Shorts Job First)Salah satu algoritma yang lain adalah Shortest Job First. Algoritma ini berkaitan dengan waktu setiap proses. Ketika CPU bebas proses yang mempunyai waktu terpendek untuk menyelesaikannya mendapat prioritas. Seandainya dua proses atau lebih mempunyai waktu yang sama maka FCFS algoritma digunakan untuk menyelsaikan masalah tersebut. Ada dua skema dalam SJFS ini yaitu: 1. nonpremptive ketika CPU memberikan kepada proses itu tidak bisa ditunda hingga selesai. 2. premptive bila sebuah proses datang dengan waktu prose lebih rendah dibandingkan dengan waktu proses yang sedang dieksekusi oleh CPU maka proses yang waktunya lebih rendah mendapatkan prioritas. Skema ini disebut juga Short - Remaining Time First (SRTF). SJF algoritma mungkin adalah yang paling optimal, karena ia memberikan rata-rata minimum waiting untuk kumpulan dari proses yang mengantri. Dengan mengeksekusi waktu yang paling pendek baru yang paling lama. Akibatnya rata-rata waktu mnenuggu menurun. Hal yang sulit dengan SJF algoritma adalah mengethaui waku dari proses berikutnya. Untuk penjadual long term (lama) di sistem batch, kita bisa menggunakan panjang batas waktu proses yang user sebutkan ketika dia mengirim pekerjaan. Oleh karena itu sjf sering digunakan di penjadual long term. Walau pun SJF optimal tetapi ia tidak bisa digunakan untuk penjadual CPU short term. Tidak ada jalan untuk mengetahui panjang dari CPU burst berikutnya. Salah satu cara untuk mengimplementasikannya adalah11

y

dipreempted dan dimasukkan ke belakang antrian ready y Jika ada n proses pada antrian ready dan kuantum waktu=q, maka: Pada gilirannya tiap proses memperoleh 1/n waktu CPU selama q Tidak ada proses yg menunuggu lebih dari (n1)q unit waktu Performansi: q besar FIFO q kecil overhead untuk context switch sangat besar Contoh 1 : Proses P1 P2 P3 Durasi 3 4 3 Urutan 1 2 3 Kedatangan 0 0 0

y

Asumsi : kuantum waktu = 1 unit ; P1, P2, dan P3 tidak pernah diblokir

dengan memprediksikan berikutnya. Contoh 2 Shortest Job First Process P1 P2 P3 P4 [9] [10] Arrival Time 0,0 2,0 4,0 5,0

CPU

burst

Burst Time 7 4 1 4 [3]Smknperkapalan http://smknperkapalan.net/ebook/view.php?file=Siste m_Operasi/Sistem_Operasi_Teori2/Penjadwalan+dis k.doc Diakses pada 31 Desember 2011 [4] Sistem Operasi: Bahan Kuliah IKI-20230 http://bebas.ui.ac.id/v06/Kuliah/SistemOperasi/2003/ 47/produk/SistemOperasi/c75.html Diakses pada 30 Desember 2011 [5] Kur2003 http://kur2003.if.itb.ac.id/file/CNIF3191-Disk.pdf Diakses pada 31 Desember 2011 [6] Materi Kuliah dan Praktikum http://lecturer.eepisits.edu/~isbat/materikuliah/Modul %20Praktikum/Prak%20OS/manajemen-disk.ppt Diakses pada 1 Januari 2012 [7] Penjadualan Disk | Muchad http://muchad.com/penjadualan-disk.html Diakses pada 1 Januari 2012 [8] Teknobiomisterologi, Menampilkan segala

4. KesimpulanApabila suatu proses membutuhkan pelayanan I/O dari atau menuju disk, maka proses tersebut akan melakukan system call ke sistem operasi. Permintaan tersebut membawa beberapa informasi, antara lain: A. B. C. D. Apakah operasi input atau output. Alamat disk untuk proses tersebut. Alamat memori untuk proses tersebut Jumlah bytes yang akan ditransfer

Pelayanan akan dilayani pada suatu proses apabila disk drive beserta pengendali tersedia untuk proses tersebut. Apabila disk drive dan pengendali sedang sibuk melayani proses lain, maka semua permintaan yang memerlukan pelayanan disk tersebut akan diletakkan pada suatu antrian permintaan untuk disk tersebut. Dengan demikian, jika suatu permintaan telah dilayani, maka sistem operasi melayani permintaan dari antrian berikutnya.

5. Daftar Pustaka[1].PengetahuanKita http://expolusion.blogspot.com/2010/02/memaha mi-struktur-disk-penjadualan-disk.html Diakses pada 30 Desember 2011 [2] Sistem Operasi: Bahan Kuliah IKI-20230 http://sapi.vlsm.org/bebas/v06/Kuliah/SistemOper asi/2003/49/produk/SistemOperasi/c74.html Diakses pada 30 Desember 2011

perkembangan dunia teknologi, dunia biologi, dunia misteri serta semua keanehan-keanehan di dunia ini.http://bikhorion.blogspot.com/2010/05/penjadwalanround-robin.html Diakses pada 2 Januari 2012 [9] Bebas,vlsm http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BU KU/SistemOperasi-4.X-1/ch14s03.html Diakses pada 2 Januari 2012 [10] Rani Puspita Zone http://10108144rani.blogspot.com/2011/04/algotirma-penjadwalanshortest-job.html Diakses pada 2 Januari 2012

12