STRUKTUR MEDIA PENYIMPAN SEKUNDER


Ada dua jenis penyimpanan sekunder yang utama adalah berurutan dan akses langsung:


1.Penyimpanan Berurutan (SASD)
2.Penyimpanan Akses Langsung (DASD)


Penyimpanan Berurutan (SASD)

Penyimpanan berurutan (sequential storage) adalah suatu organisasi atau penyusunan data di suatu medium penyimpanan yang terdiri dari satu catatan mengikuti satu catatan lain ke urutan tertentu. Misalnya, catatan pegawai disusun dalam urutan nomor pegawai. Bila sistem penyimpanannya berurutan yang digunakan, data pertama harus diproses pertama,
kedua diproses kedua, dan seterusnya sampai akhir file itu tercapai. Sebagian media penyimpanan komputer hanya dapat memproses data yang disusun secara berurutan. Pita magnetik adalah contohnya.

Penyimpanan Akses Langsung (DASD)

Penyimpanan akses langsung (direct access storage) adalah suatu cara mengorganisasikan data yang memungkinkan semua catatan ditulis dan dibaca tanpa pencarian secara berurutan atau secara acak. Unit perangkat keras yang memungkinkan hal ini disebut direct accsess storage divice (DASD). DASD memiliki mekanisme membaca dan menulis yang dapat diarahkan ke lokasi manapun dalam medium penyimpanan. Walau beberapa teknologi DASD telah dibuat, yang paling populer adalah piringan magnetic.


struktur media penyimpanan sekunder, Pertama-tama kita mendeskripsikan algoritma head-scheduling  yang bertugas mengurutkan kerja dari setiap disk I/O untuk meningkatkan kinerja secara keseluruhan. Setelah itu kita akan membahas disk formatting  dan managemen dari blok boot, blok-blok yang rusak (bad blok), dan daerah swap space. Kita akhiri dengan rangkuman dari reabilitas disk dan implementasi media penyimpanan yang stabil dan aman.


1.  Struktur Disk

Disk 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 untuk backup, untuk penyimpanan informasi yang tidak sering, sebagai mediauntuk 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 levelrendah (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 secarasekuensial. Sektor 0 adalah sector 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 dariyang paling luar sampai yang paling dalam.Dengan menggunakan pemetaan, kita dapat minimal dalam teori mengubahsebuah nomor blok logical 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 sulituntuk melakukan translasi ini, dengan 2 alasan. Pertama, kebanyakan disk memilikisejumlah sektor yang rusak, tetapi pemetaan menyembunyikan hal ini denganmensubstitusikan dengan sektor yang dibutuhkan dari mana-mana di dalam disk.Kedua, jumlah dari sektor per trek tidaklah konstan. Semakin jauh sebuah trek daritengah disk, semakin besar panjangnya, dan juga semakin banyak sektor yangdipunyainya. Oleh karena itu, disk modern diatur menjadi zona-zona silinder. Nomor sektor per trek adalah konstan dalam sebuah zona. Tetapi seiring kita berpindah darizona dalam ke zona luar, nomor sektor per trek bertambah. Trek di zona paling luar tipikalnya mempunyai 40 persen sector lebih banyak daripada trek di zona palingdalam. Nomor sektor per trek telah meningkat seiring dengan peningkatan teknologidisk, dan adalah lazim untuk mempunyai lebih dari 100 sektor per trek di zona yanglebih luar dari disk. Dengan analogi yang sama, nomor silinder per disk telahmeningkat, dan sejumlah ribuan silinder adalah tak biasa.

2.    Penjadualan Disk

Salah satu tanggung jawab sistem operasi adalah menggunakan hardware dengan efisien. Khusus untuk disk drives, efisiensi yang dimaksudkan di sini adalahdalam hal waktu akses yang cepat dan aspek bandwidth disk. Waktu akses memilikidua komponen utama yaitu waktu pencarian dan waktu rotasi disk. Waktu pencarianadalah waktu yang dibutuhkan disk arm untuk menggerakkan head ke bagian silinder disk  yang mengandung sektor yang diinginkan. Waktu rotasi disk adalah waktutambahan yang dibutuhkan untuk menunggu rotasi atau perputaran disk, sehinggasektor yang diinginkan dapat dibaca oleh head. Pengertian Bandwidth adalah total jumlah Bytes yang ditransfer dibagi dengan total waktu antara permintaan pertamasampai 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 informasi-informasi antara lain:

1.Apakah operasiinput atau output.
2.Alamatdisk  untuk proses tersebut.
3.Alamat memori untuk proses tersebut
4.Jumlahbytes yang akan ditransfer

 Jika disk drive beserta controller tersedia untuk proses tersebut, maka proses akandapat dilayani dengan segera. Jika ternyata disk drive dan controller  tidak tersedia atausedang sibuk melayani proses lain, maka semua permintaan yang memerlukan pelayanan disk tersebut akan diletakkan pada suatu antrian penundaan permintaanuntuk  disk  tersebut. Dengan demikian, jika suatu permintaan telah dilayani, makasistem operasi memilih permintaan tertunda dari antrian yang selanjutnya akandilayani.

 2.1  Penjadualan FCFS

Bentuk paling sederhana dalam penjadualan disk  adalah dengan sistem antrian(queue) atau First Come First Served (FCFS). Algoritma ini secara intrinsik bersifatadil, tetapi secara umum algoritma ini pada kenyataannya tidak memberikan pelayananyang paling cepat. Sebagai contoh, antrian permintaan pelayanan disk untuk proses I/O pada blok dalam silinder adalah sebagai berikut: 98, 183, 37, 122, 14, 124, 65, 67. Jika head pada awalnya berada pada 53, maka head akan bergerak dulu dari 53 ke 98,kemudian 183, 37, 122, 14, 124, 65, dan terakhir 67, dengan total pergerakan head sebesar 640 silinder.Permasalahan dengan menggunakan penjadualan jenis ini dapat diilustrasikandengan pergerakan dari 122 ke 14 dan kembali lagi ke 124. Jika permintaan terhadapsilinder 37 dan 14 dapat dikerjakan/ dilayani secara bersamaan, baik sebelum mau punsetelah permintaan 122 dan 124, maka pergerakan total head dapat dikurangi secarasignifikan, sehingga dengan demikian pendayagunaan akan meningkat.

2.2 Penjadualan SSTF

Sangat beralasan jika kita menutup semua pelayanan pada posisi head saat ini,sebelum menggerakkan head ke tempat lain yang jauh untuk melayani suatu permintaan. Asumsi ini mendasari algoritma penjadualan kita yang kedua yaitu shortest-seek-time-first 
(SSTF). Algoritma ini memilih permintaan dengan berdasarkanwaktu pencarian atau  seek time  paling minimum dari posisi head saat itu. Karenawaktu pencarian meningkat seiring dengan jumlah silinder yang dilewati oleh
head ,maka SSTF memilih permintaan yang paling dekat posisinya di disk 
terhadap posisi head saat itu.Perhatikan contoh antrian permintaan yang kita sajikan pada penjadualanFCFS, permintaan paling dekat dengan posisi head saat itu (53) adalah silinder 65. Jikakita penuhi permintaan 65, maka yang terdekat berikutnya adalah silinder 67. Dari 67,silinder 37 letaknya lebih dekat ke 67 dibandingkan silinder 98, jadi 37 dilayaniduluan. Selanjutnya, dilanjutkan ke silinder 14, 98, 122, 124, dan terakhir adalah 183.Metode penjadualan ini hanya menghasilkan total pergerakan
head sebesar 236 silinder - kira-kira sepertiga dari yang dihasilkan penjadualan FCFS. Algoritma SSTF inimemberikan peningkatan yang cukup signifikan dalam hal pendayagunaan atauperformance
sistem.Penjadualan SSTF merupakan salah satu bentuk dari penjadualan shortest-job- first (SJF), dan karena itu maka penjadualan SSTF juga dapat mengakibatkan starvation pada suatu saat tertentu. Kita ketahui bahwa permintaan dapat datang kapansaja. Anggap kita memiliki dua permintaan dalam antrian, yaitu untuk silinder 14 dan186. Selama melayani permintaan 14, kita anggap ada permintaan baru yang letaknyadekat dengan 14. Karena letaknya lebih dekat ke 14, maka permintaan ini akan dilayanidulu sementara permintaan 186 menunggu gilirannya. Jika kemudian berdatangan lagi permintaan-permintaan yang letaknya lebih dekat dengan permintaan terakhir yangdilayani jika dibandingkan dengan 186, maka permintaan 186 bisa saja menunggusangat lama. Kemudian jika ada lagi permintaan yang lebih jauh dari 186, maka jugaakan menunggu sangat lama untuk dapat dilayani.Walaupun algoritma SSTF secara substansial meningkat jika dibandingkandengan FCFS, tetapi algoritma SSTF ini tidak optimal. Seperti contoh diatas, kita dapatmenggerakkan head dari 53 ke 37, walau pun bukan yang paling dekat, kemudian ke14, sebelum menuju 65, 67, 98, 122, dan 183. Strategi ini dapat mengurangi totalgerakan head menjadi 208 silinder.


2.3. Penjadualan SCAN

Pada algoritma SCAN, pergerakan disk arm dimulai dari salah satu ujung disk, kemudian bergerak menuju ujung yang lain sambil melayani permintaan setiap kalimengunjungi masing-masing silinder. Jika telah sampai di ujung disk, maka disk arm bergerak berlawanan arah, kemudian mulai lagi melayani permintaan-permintaan yangmuncul. Dalam hal ini disk arm bergerak bolak-balik melalui disk. Kita akan menggunakan contoh yang sudah dibarikan diatas. Sebelummelakukan SCAN untuk melayani permintaan-permintaan 98, 183, 37, 122, 14, 124,65, dan 67, kita harus mengetahui terlebih dahulu pergerakan head sebagai langkahawal dari 53. Jika disk arm  bergerak menuju 0, maka head
akan melayani 37 dankemudian 14. Pada silinder 0, disk arm akan bergerak berlawanan arah dan bergerak menuju ujung lain dari disk untuk melayani permintaan 65, 67, 98, 122, 124, dan 183.Jika permintaan terletak tepat pada head saat itu, maka akan dilayani terlebih dahulu,sedangkan permintaan yang dating tepat dibelakang head harus menunggu dulu head mencapai ujung disk, berbalik arah, baru kemudian dilayani.Algoritma SCAN ini disebut juga algoritma lift/ elevator, karena kelakuan disk arm sama seperti elevator dalam suatu gedung, melayani dulu orang-orang yang akannaik ke atas, baru kemudian berbalik arah untuk melayani orang-orang yang inginturun ke bawah.Kelemahan algoritma ini adalah jika banyak permintaan terletak pada salah satuujung disk, sedangkan permintaan yang akan dilayani sesuai arah arm disk  jumlahnyasedikit atau tidak ada, maka mengapa permintaan yang banyak dan terdapat pada ujungyang berlawanan arah dengan gerakan disk arm saat itu tidak dilayani duluan? Ide iniakan mendasari algoritma penjadualan berikut yang akan kita bahas.

2.4 Penjadualan C-SCAN

Circular-SCAN adalah varian dari algoritma SCAN yang sengaja didesainuntuk menyediakan waktu tunggu yang sama. Seperti halnya SCAN, C-SCAN akan menggerakkan head  dari satu ujung disk ke ujung lainnya sambil melayani permintaanyang terdapat selama pergerakan tersebut. Tetapi pada saat head tiba pada salah satuujung, maka head  tidak berbalik arah dan melayani permintaan-permintaan, melainkanakan kembali ke ujung
disk  asal pergerakannya. Jika head mulai dari ujung 0, makasetelah tiba di ujung disk yang lainnya, maka head tidak akan berbalik arah menujuujung 0, tetapi langsung bergerak ulang dari 0 ke ujung satunya lagi.

2.5 Penjadualan LOOK

Perhatikan bahwa SCAN dan C-SCAN menggerakkan disk arm melewati lebar seluruh disk. Pada kenyataanya algoritma ini tidak diimplementasikan demikian(pergerakan melewati lebar seluruh
disk). Pada umumnya,arm disk  bergerak paling jauh hanya pada permintaan terakhir pada masing-masin arah pergerakannya.Kemudian langsung berbalik arah tanpa harus menuju ujung disk. Versi SCAN dan C-SCAN yang berprilaku seperti ini disebut LOOK SCAN dan LOOK C-SCAN, karenaalgoritma ini melihat dulu permintaan-permintaan sebelum melanjutkan arah pergerakannya.

2.6 Pemilihan Algoritma

Penjadualan Disk Dari algoritma-algoritma diatas, bagaimanakah kita memilih algoritma terbaik yang akan digunakan ? SSTF lebih umum dan memiliki prilaku yang lazim kita temui.SCAN dan C-SCAN memperlihatkan kemampuan yang lebih baik bagi sistem yangmenempatkan beban pekerjaan yang berat kepada disk, karena algoritma tersebutmemiliki masalah  starvation yang paling sedikit. Untuk antrian permintaan tertentu,mungkin saja kita dapat mendefinisikan urutan akses dan pengambilan data dari disk yang optimal, tapi proses komputasi membutuhkan penjadualan optimal yang tidak kitadapatkan pada SSTF atau SCAN.Dengan algoritma penjadualan yang mana pun, kinerja sistem sangattergantung pada jumlah dan tipe permintaan. Sebagai contoh, misalnya kita hanyamemiliki satu permintaan, maka semua algoritma penjadualan akan dipaksa bertindak sama, karena algoritma-algoritma tersebut hanya punya satu pilihan dari manamenggerakkan disk head: semuanya berprilaku seperti algoritma penjadualan FCFS. Perlu diperhatikan pula bahwa pelayanan permintaan disk dapat dipengaruhi pula oleh metode alokasi file. Sebuah program yang membaca alokasi file secara terusmenerus mungkin akan membuat beberapa permintaan yang berdekatan pada disk,menyebabkan pergerakan head menjadi terbatas. File yang memiliki link atau indeks,dilain pihak, mungkin juga memasukkan blok-blok yang tersebar luas pada disk ,menyebabkan pergerakan head yang sangat besar.Lokasi blok-blok indeks dan directory  juga tidak kalah penting. Karena fileharus dibuka sebelum digunakan, proses pembukaan file membutuhkan pencarian padastruktur directory, dengan demikian directory akan sering diakses. Kita anggap catatan directory berada pada awal silinder, sedangkan data file berada pada silinder terakhir.Pada kasus ini, disk head harus bergerak melewati sepanjang lebar disk. Membuattempat penyimpanan sementara dari blok-blok indeks dan
Directory ke dalam memoridapat membantu mengurangi pergerakan disk arm, khususnya untuk permintaanmembaca disk .Karena kerumitan inilah, maka algoritma penjadualan disk harus ditulis dalammodul terpisah dari system operasi, jadi dapat saling mengganti dengan algoritma lain jika diperlukan. Baik SSTF mau pun LOOK keduanya merupakan pilihan yang palingmasuk akal sebagai algoritma yang paling dasar.



3.    Managemen Disk

Sistem operasi juga bertanggung jawab atas beberapa aspek dari managemendisk.Di sini kita akan membahas inisialisasi disk, booting dari disk, danrecovery /pemulihan dari blok-blok yang rusak (bad-blok).

3.1 Memformat Disk

Sebuah disk magnetik yang baru sebenarnya hanyalah sebuah Slate kosongyang berupa piringan magnetik untuk menyimpan sesuatu. Sebelum disk tersebut dapat menyimpan data, harus dilakukan proses low-level formatting / physical formatting ,yaitu membagi disk menjadi beberapa sektor dan mengisinya dengan struktur datatertentu (biasanya header, area data, dan trailer) agar dapat dibaca dan ditulis oleh disk controller. Salah satu informasi yang dibutuhkan oleh disk controller adalah error-correcting code (ECC). Disebut seperti itu karena jika terdapat satu atau dua bit datayang corrupt, controller dapat mengidentifikasi bit mana yang berubah danmengoreksi nya. Proses ini otomatis dilakukan oleh controller setiap membaca ataumenulis pada disk.  Low-level formatting  berfungsi agar pihak manufaktur dapat mengetes disk danmenginisialisasi mapping dari lojikal nomor blok ke pendeteksi sektor kosong.Semakin besar ukuran sektor yang diformat, semakin sedikit sektor yang dapat diisi pada masing-masing track dan semakin sedikit header dan trailer yang ditulis padasetiap track. Hal ini berarti ruang yang dapat digunakan untuk data semakin besar.Agar disk dapat menggunakan suatu berkas, sistem operasi membutuhkanuntuk menyimpan struktur datanya pada disk. Langkah pertama adalah membagi disk menjadi satu/ lebih silinder( partition), sehingga sistem operasi dapatmemperlakukannya sebagai disk yang terpisah. Langkah kedua adalah logicalformatting, atau membuat sistem berkas. Pada langkah ini, sistem operasi menyimpanstruktur data yang telah diinisialisasi ke disk. Raw I/O adalah array  pada blok lojikal yang memiliki kemampuan untuk menggunakan suatu partisi disk tanpa struktur data dari sistem berkas. Dengan partisi raw ini, untuk beberapa aplikasi tertentu akan lebih efisien dari segi penyimpanan.Tetapi kebanyakan aplikasi akan berjalan lebih baik dengan servis sistem berkas biasa.

3.2 Boot Block

Ketika pertama kali menjalankan komputer, dibutuhkan program yang sudandiinisialisasi, yaitu bootstrap. Yang diinisialisasi adalah segala aspek sistem, dari CPU register sampai device controller dan isi dari main memory, kemudian menjalankansistem operasi. Untuk itu bootstrap mencari kernel system operasi pada disk, me-load -nya ke memori, dan menggunakan alamat yang telah diinisialisasi untuk mulaimenjalankan sistem operasi.Hampir semua komputer menyimpan bootstrap pada Read-Only Memory(ROM). Alas annya karena ROM tidak membutuhkan inisialisasi dan berada padalokasi yang tetap dimana prosesor tetap dapat mengeksekusinya ketika komputer barudinyalakan/ di-reset. Kelebihan lainnya karena ROM read-only, ia tidak dapat terkenavirus. Tetapi masalah yang timbul adalah jika kita mengubah kodebootstrap berartimengubah
Chip ROM juga. Untuk mengatasinya, sistem menyimpan bootstrap loader di ROM, yang hanya berfungsi untuk memasukkan seluruh program bootstrap daridisk. Boot blocks adalah suatu partisi untuk menyimpan seluruh program bootstrap Boot disk atau  system disk adalah disk yang memiliki partisi boot

3.3 Bad Blocks

Bad blocksadalah satu/lebih sektor yang rusak pada suatu disk. Pada disk sederhana, bad blocks diatasi secara manual. Untuk disk yang lebih kompleks sepertidisk SCSI, bad blocks diatasi dengan sector sparing atau  forwarding, yaitu controller dapat mengganti sektor yang rusak dengan sebuah sektor yang terpisah. Alternatif lainnya adalah mengganti sektor tersebut dengan cara sector slipping .Mengganti blok yang rusak bukan sepenuhnya merupakan proses yangotomatis, karena data-data yang tersimpan sebelum nya akan terhapus.
4.    Penanganan Swap-Space Penanganan ( management)

swap-space (tempat pertukaran; tetapi karena istilah swap-space sudah umum dipakai, maka untuk seterusnya kita tetap memakai istilah swap-space ) adalah salah satu dari low-level task pada sebuah sistem operasi. MemoriVirtual menggunakan disk space sebagai perpanjangan (atau spacetambahan) darimemori utama. Karena kecepatan akses disk lebih lambat daripada kecepatan aksesmemori, menggunakan swap-space akan mengurangi performa sistem secarasignifikan. Tujuan utama dari perancangan dan implementasi  swap-space adalah untuk menghasilkan kinerja memori virtual yang optimal. Dalam sub-bab ini, kita akanmembicarakan bagaimana swap-space digunakan, dimana letak swap-space
pada disk,dan bagaimana penanganan swap-space.

4.1 Penggunaan Swap-Space

Penggunaan swap-space pada berbagai macam sistem operasi berbeda-beda,tergantung pada algoritma memory management  yang diimplementasikan. Sebagaicontoh, sistem yang mengimplementasikan
swapping mungkin akan menggunakan swap-space untuk menyimpan (dan mengerjakan) sebuah proses, termasuk segmenkode dan datanya. Sistem yang menggunakan paging hanya akan menyimpan page (atau "halaman " proses) yang sudah dikeluarkan dari memori utama. Besarnya swap- space yang dibutuhkan sebuah sistem bermacam-macam, tergantung dari banyaknya physical memory (RAM, seperti EDO DRAM, SDRAM, RD RAM), memori virtualyang disimpan di  swap-space, dan caranya memori virtual digunakan. Besarnya bervariasi, antara beberapa megabytes sampai ratusan megabytes atau lebih.Beberapa sistem operasi, seperti UNIX, menggunakan swap-space sebanyak yang diperlukan. Swap-space ini biasanya disimpan dalam beberapa disk yang terpisah, jadi beban yang diterima oleh sistem I/O dari paging dan swapping  bisa didistribusikanke berbagai I/O device pada sistem.Harap dicatat bahwa menyediakan swap-space yang berlebih lebih amandaripada kekurangan swap-space, karena bila kekurangan maka ada kemungkinansistem terpaksa menghentikan sebuah atau lebih proses atau bahkan membuat sistemmenjadi crash. Swap-space yang berlebih memang membuang disk space yangsebenarnya bisa digunakan untuk menyimpan berkas (file), tapi setidaknya tidak menimbulkan resiko yang lain.

4.2 Lokasi Swap-Space

Ada dua tempat dimana swap-space bisa berada: swap-space bisa diletakkan pada partisi yang sama dengan sistem operasi, atau pada partisi yang berbeda. Apabila swap-space yang dipakai hanya berupa sebuah berkas yang besar di dalam sistem berkas, maka sistem berkas yang dipakai bisa digunakan untuk membuat, menamakan,dan mengalokasikan tempat swap-space. Maka dari itu, pendekatan seperti ini mudahuntuk diimplementasikan. Sayangnya, juga tidak efisien. Menelusuri struktur direktoridan struktur data alokasi disk memakan waktu, dan berpotensi untuk mengakses disk lebih banyak dari yang diperlukan. Fragmentasi eksternal bisa membuat swapping lebih lama dengan memaksakan pencarian sekaligus banyak (multiple seeks) ketikasedang membaca atau menulis sebuah proses. Kita bisa meningkatkan performadengan meng-cache informasi lokasi blok pada physical memory, dan denganmenggunakan aplikasi khusus untuk mengalokasikan blok-blok yang contiguous (tidak terputus) untuk berkas
 swap-nya, dengan waktu tambahan untuk menelusuri struktur data
 file-system masih tetap ada.Metode yang lebih umum adalah untuk membuat swap-space di partisi yangterpisah. Tidak ada system file atau struktur direktori di dalam partisi ini. Justru sebuah swap-space storage manager yang terpisah digunakan untuk mengalokasikan danmelepaskan blok-blok yang digunakan. Manager ini menggunakan algoritma yangdioptimalkan untuk kecepatan, daripada efisiensi tempat. Fragmentasi internalmungkin akan meningkat, tetapi ini bisa diterima karena data dalam swap-space biasanya umurnya lebih singkat daripada data-data di sistem  file, dan swap area-nyadiakses lebih sering. Pendekatan ini membuat besar  swap-space yang tetap selagimempartisi disk. Menambah jumlah swap-space bisa dilakukan hanya me laluimempartisi ulang disk  (dimana juga termasuk memindahkan atau menghancurkan danmengembalikan partisi  file-system lainnya dari backup), atau dengan menambahkan swap-space di tempat lain.Beberapa sistem operasi cukup fleksibel dan bisa swapping  baik di partisimentah (raw, belum di-format) dan di file-system. Contohnya Solaris 2. Policy danimplementasinya terpisah, sehingga administrator mesinnya (komputernya) bisamemutus kan mana yang akan digunakan. Pertimbangannya adalah antara kemu dahanalokasi dan pengelolaan  file-system , dan performa dari swapping  pada partisi yang raw.

4.3 Pengelolaan Swap-Space

Untuk mengilustrasikan metode-metode yang digunakan untuk mengelola swap-space, kita sekarang akan mengikuti evolusi dari
swapping dan paging  padaGNU/ Linux. GNU/ Linux memulai dengan implemen tasi swapping yang menyalinseluruh proses antara daerah disk yang
contiguous (tidak terputus) dan memori. UNIX berevolusi menjadi kombinasi dari
 swapping dan paging dengan tersedianya hardware untuk paging .Dalam 4.3 BSD, swap-space dialokasikan untuk proses ketika sebuah prosesdimulai. Tempat yang cukup disediakan untuk menampung program, yang juga dikenalsebagai halaman-halaman teks (text pages) atau segmen teks, dan segmen data dari proses itu. Alokasi dini tempat yang dibutuhkan dengan cara seperti ini umumnyamencegah sebuah proses untuk kehabisan swap-space selagi proses itu dikerjakan.Ketika proses mulai, teks di dalamnya di page dari file system. Halaman-halaman( pages ) ini akan ditaruh diswap bila perlu, dan dibaca kembali darisana, jadi sistem file akan diakses sekali untuk setiap text page.Halaman-halaman dari segmen datadibaca dari sistem file, atau dibuat (bila belum sebelumnya), dan ditaruh di swap space dan di page kembali bila perlu. Satu contoh optimisasi (sebagai contoh, ketika dua pengguna menggunakan editor yang sama) adalah proses-proses dengan text page yangidentik membagi halaman-halaman (pages) ini, baik di memori mau pun di swap- space. Dua peta swap untuk setiap proses digunakan oleh kernel untuk melacak  penggunaan swap-space. Segmen teks besarnya tetap, maka swap space yangdialokasikan sebesar 512K setiap potong (chunks), kecuali untuk potongan terakhir,yang menyimpan sisa halaman-halaman (pages) tadi, dengan kenaikan (increments) sebesar 1K.Peta swap dari Segmen data lebih rumit, karena segmen data bisa mem besar setiap saat. Petanya sendiri besarnya tetap, tapi menyimpan a lamat-alamat swap untuk  blok-blok yang besarnya bervariasi. Misalkan ada index i, dengan besar maksimun 2megabytes. Data struktur ini ditunjukkan oleh gambar 12.1.(Besar minimum dan maksimum blok bervariasi, dan bisa diubah ketika me-reboot sistem.) Ketika sebuah proses mencoba untuk memperbesar segmen datanyamelebihi blok yang dialokasikan di tempat swap, sistem operasi mengalokasikan blok lain lagi, dua kali besarnya yang pertama. Skema ini menyebab kan proses-proses yangkecil menggunakan blok-blok kecil. Ini juga meminimalisir fragmentasi. Blok-blok dari proses yang besar bisa di temukan dengan cepat, dan peta swap tetap kecil.Pada Solaris 1 (SunOS 4), para pembuatnya membuat perubahan pada me todestandar UNIX untuk meningkatkan efisiensi dan untuk mencermin kan perubahanteknologi. Ketika sebuah proses berjalan, halaman-hala man (pages) dari segmen teksdibawa kembali dari sistem berkas, diak ses di memori utama, dan dibuang biladiputuskan untuk di-pageout. A kan lebih efisien untuk membaca ulang sebuahhalaman (page) dari sistem berkas daripada menaruhnya di swap-space danmembacanya ulang dari sana. Lebih banyak lagi perubahan pada Solaris 2. Perubahanterbesar ada lah Solaris 2 mengalokasikan swap-space hanya ketika sebuah halaman(page) dipaksa keluar dari memori, daripada ketika halaman (page) dari memori virtual pertama kali dibuat. Perubahan ini memberikan per forma yang lebih baik padakomputer-komputer modern, yang sudah mem punyai memori lebih banyak dari pada komputer-komputer dengan sistem yang sudah lama, dan lebih jarang melakukan paging.

5.    Keandalan Disk 
Disk memiliki resiko untuk mengalami kerusakan. Kerusakan ini dapat berakibat turunnya performa atau pun hilangnya data. Meski pun terdapat backup data,tetap saja ada kemungkinan data yang hilang karena adanya perubahan setelah terakhir kali data dibackup. Karenanya reliabilitas dari suatu disk harus dapat terusditingkatkan.Berikut adalah beberapa macam penyebab terjadinya hilangnya data:

1.Ketidaksengajaan dalam menghapus.Bisa saja pengguna secara tidak sengaja menghapus suatu berkas, hal ini dapatdicegah seminimal mungkin dengan cara melakukan backup data secarareguler.
2.Hilangnya tenaga listrik Hilangnya tenaga listrik dapat mengakibatkan adanya corrupt data.
3.Blok rusak pada disk.Rusaknya blok pada disk dapat saja disebabkan dari umur disk tersebut. Seiringdengan waktu, banyaknya blok pada disk yang rusak dapat terus terakumulasi.Blok yang rusak pada disk, tidak akan dapat dibaca.
4.Rusaknya Disk.Bisa saja karena suatu kejadian disk rusak total. Sebagai contoh, dapat saja disk  jatuh atau pun ditendang ketika sedang dibawa.
5. System Corrupt.Ketika komputer sedang dijalankan, bisa saja terjadi OS error, program error ,dan lain sebagainya. Hal ini tentu saja dapat menyebabkan hilangnya data.

Berbagai macam cara dilakukan untuk meningkatkan kinerja dan jugareliabilitas dari disk. Biasanya ntuk meningkatkan kinerja, dilibatkan banyak disk sebagai satu unit penyimpanan. Tiap-tiap blok data ipecah ke dalam beberapa subblok,dan dibagi-bagi ke dalam disk-disk tersebut. Ketika mengirim data isk-disk tersebut bekerja secara pararel. Ditambah dengan sinkronisasi pada rotasi masing-masing disk,aka kinerja dari disk dapat ditingkatkan. Cara ini dikenal sebagai RAID (Redundant  Array of ndependent Disks). Selain masalah kinerja RAID juga dapat meningkatkanreabilitas dari disk dengan alan melakukan redundansi data.Salah satu cara yang digunakan pada RAID adalah dengan mirroring atau  shadowing, yaitu dengan embuat duplikasi dari tiap-tiap disk. Pada cara ini, berartidiperlukan media penyimpanan yang dua ali lebih besar daripada ukuran datasebenarnya. Akan tetapi, dengan cara ini pengaksesan disk yang ilakukan untuk membaca dapat ditingkatkan dua kali lipat. Hal ini dikarenakan setengah dariermintaan membaca dapat dikirim ke masing-masing disk. Cara lain yang digunakan pada RAID adalah lock interleaved parity. Pada cara ini, digunakan sebagian kecil daridisk untuk penyimpanan parity block. Sebagai contoh, dimisalkan terdapat 10 disk  pada array. Karenanya setiap 9 data block 
yang disimpan pada array, 1 parityblock juga akan disimpan. Bila terjadi kerusakan pada salah satublock  pada disk makadengan adanya informasi pada parity block  ini, ditambah dengan data block lainnya,diharapkan kerusakan pada disk tersebut dapat ditanggulangi, sehingga tidak ada datayang hilang.Penggunaan parity block ini juga akan menurunkan kinerja sama seperti halnya pada mirroring . Pada parity block ini, tiap kalisubblock data ditulis, akan terjadi perhitungan dan penulisan ulang pada parity block .
6.    Implementasi Stable-Storage
Pada bagian sebelumnya (sinkronisasi proses), kita sudah membicarakanmengenai write-ahead log, yang membutuhkan ketersediaan sebuah storage yangstabil. Berdasarkan definisi, informasi yang berada di dalam stable storage tidak akan pernah hilang. Untuk mengimplementasikan storage seperti itu, kita perlu mereplikasiinformasi yang dibutuhkan ke banyak peralatan storage (biasanya disk-disk) denganfailure modes yang independen. Kita perlu mengkoordinasikan penulisan update-update dalam sebuah cara yang menjamin bila terjadi kegagalan selagi meng-updatetidak akan membuat semua kopi yang ada menjadi rusak, dan bila sedang recover darisebuah kegagalan, kita bisa memaksa semua kopi yang ada ke dalam keadaan yang bernilai benar dan konsisten, bahkan bila ada kegagalan lain yang terjadi ketika sedangrecovery. Untuk selanjutnya, kita akan membahas bagaimana kita bisa mencapaikebutuhan kita.Sebuah
disk write menyebabkan satu dari tiga kemungkinan:

1.Successful completion Data disimpan dengan benar di dalam disk.
2. Partial failure Kegagalan terjadi di tengah-tengah transfer, menyebabkan hanya bebe rapasektor yang diisi dengan data yang baru, dan sektor yang diisi ketika terjadikegagalan menjadi rusak.
3.Total failure Kegagalan terjadi sebelum disk write dimulai, jadi data yang sebe lumnya ada pada disk masih tetap ada.Kita memerlukan, kapan pun sebuah kegagalan terjadi ketika sedang me nuliske sebuah blok, system akan mendeteksinya dan memanggil sebuah prosedur recoveryuntuk me-restore blok tersebut ke sebuah keadaan yang konsisten.

Untuk melakukanitu, sistem harus menangani dua blok physical untuk setiap blok logical.Sebuah operasi output dieksekusi seperti berikut:

1.Tulis informasinya ke blok physical yang pertama.
2.Ketika penulisan pertama berhasil, tulis informasi yang sama ke blok physicalyang kedua.
3.Operasi dikatakan berhasil hanya jika penulisan kedua berhasil.

Pada saat recovery dari sebuah kegagalan, setiap pasang blok physi caldiperiksa. Jika keduanya sama dan tidak terdeteksi adanya kesa lahan, tetapi berbedadalam isi, maka kita mengganti isi dari blok yang pertama dengan isi dari blok yangkedua. Prosedur recovery se perti ini memastikan bahwa sebuah penulisan ke stable storage akan sukses atau tidak ada perubahan sama sekali.Kita bisa menambah fungsi prosedur ini dengan mudah untuk memboleh kan penggunaan dari kopi yang banyak dari setiap blok pada stable storage. Meski punsejumlah besar kopi semakin mengurangi kemungkinan untuk terjadinya sebuahkegagalan, maka biasanya wajar untuk men simulasi stable storage hanya dengan dua kopi. Data di dalam stable storage dijamin aman kecualisebuah kegagalan menghancurkan semua kopi yang ada.

Penulis : asbar pratama ~ Sebuah blog yang menyediakan berbagai macam informasi

Artikel STRUKTUR MEDIA PENYIMPAN SEKUNDER ini dipublish oleh asbar pratama pada hari Sabtu, 29 Desember 2012. Semoga artikel ini dapat bermanfaat.Terimakasih atas kunjungan Anda silahkan tinggalkan komentar.sudah ada 0 komentar: di postingan STRUKTUR MEDIA PENYIMPAN SEKUNDER
 

0 komentar:

Posting Komentar

Popular Posts