"Kumpulan Materi Kuliah [2009080 Deden Wahiddin]"

Selasa, 10 Januari 2012

File Sistem ( Sistem Berkas )

File System Linux :

EXT2
File sistem EXT2 merupakan file sistem yang ampuh di linux. File sistem ini menjadi dasar dari segala distribusi linux. Pada EXT2, file data disimpan sebagai data blok. Data blok kiri mempunyai panjang
File sistem EXT2 merupakan file sistem yang ampuh di linux. File sistem ini menjadi dasar dari segala distribusi linux. Pada EXT2, file data disimpan sebagai data blok. Data blok kiri mempunyai panjang yang sama dan meskipun panjangnya bervariasi diantara EXT2 file sistem. Besar block tersebut ditentukan pada saat file sistem dibuat dengan perintah mk2fs. Jika besar block adalah 1024 bytes, maka file dengan besar 1025 bytes akan memakai 2 block. Pada sistem EXT2 ini mendefinisikan topologi file sistem dengan memberikan arti bahwa setiap file pada sistem diasosiasikan dengan struktur data inode. Sebuah inode menunjukan blok mana dalam suatu file tentang hak akses setiap file, waktu modifikasi, dan tipe file. Setiap file dalam EXT2 terdiri dari inode tunggal dan setiap inode memiliki nomoridentifikasi yang unik. Inode-inode file sistem disimpan dalam tabel inode. Direktori dalam EXT2 file sistem adalah khusus  yang mengandung pointer ke inode masing-masing isi direktori tersebut.

EXT3
Sistem file ini merupakan penyempurnaan dari sistem file EXT2. Dalam peningkatannya memiliki beberapa keuntungan, diantaranya ialah :
·   Setelah kegagalan sumber daya atau kerusakan sistem EXT2 harus memulai proses pengecekan e2fsck, proses ini membuang waktu dan proses booting jadi lama. Sedangkan EXT3 hanya dicek apabila ada kerusakan hardware seperti kerusakan hardisk. Waktu yang diperlukan EXT3 setelah terjadi kerusakan file, tidak tergantung pada ukuran file sistem atau banyaknya file.
·   Integritas data, pada file sistem ini menjamin adanya integritas data setelah terjadi kerusakan. EXT3 memungkinkan kita memilih jenis dan tipe dari proteksi data.
·     Kecepatan, dari pada menulis data lebih dari sekali, EXT3 memiliki troughput yang lebih besar dari EXT2 karena EXT3 memaksimalkan pergerakan head hardidsk.

EXT4
File sistem ini dirilis secara komplit dan stabil berawal dari kernel 2.6.28, jadi jika menggunakan linux dengan kernel 2.6.28 ini berarti sudah secara otomatis support ke EXT4. Jika kita masih menggunakan file sistem EXT3 dapat dikonversi ke EXT4 dengan beberapa langkah yang tidak terlalu rumit.


File System Windows
Sistem berkas pada sistem operasi Windows identik dengan kata FAT dan NTFS, seperti apa kedua jenis sistem berkas ini ?  kita ulas satu per satu ...

Windows sendiri memiliki 3 format untuk file sistemnya, diantaranya :
·         FAT 16
·         FAT 32
·         NTFS 

FAT 16
File sistem FAT 16 awalnya diperkenalkan oleh MS-DOS 1981. Awalnya sistem ini diciptakan untuk mengatur file di floopy drive atau yang biasa kenal dengan disket. FAT 16 mengalami beberapa kali perubahan, sehingga digunakan untuk mengatur file harddisk. Keuntungan FAT 16 adalah file sistem ini kompatibel hampir disemua sistem operasi, baik windows 95/98,ME, OS/2, linux dan bahkan UNIX. Namun masalah yang dimiliki  oleh sistem FAT 16 ini ialah mempunyai kapasitas tetap jumlah cluster dalam partisi, jadi semakin besar harddisk maka ukuran cluster akan semakin besar, artinya file sekecil apapun tetap akan memakan 16Kb dari harddisk. Kekurangan lain yang dimiliki sistem file FAT 16 ialah tidak mendukung kompresi, enkripsi dan kontrol akses dalam partisi.

FAT 32
File sistem FAT 32 awalnya mulai dikenal pada sistem windows 95 SP2, dan merupakan pengembangan lebih dari FAT 16. Sistem file ini mempunyai kemampuan menampung jumlah cluster yang lebih besar dalam partisi. Selain itu juga mengembangkan kemampuan harddisk menjadi lebih baik dibanding FAT 16. Namum FAT 32 ini memiliki kelemahan yang tidak dimiliki FAT 16 yaitu terbatasnya operating sistem yang bisa mengenal FAT 32. Tidak seperti FAT 16 yang bisa dikenal oleh hampir semua operating sistem.

NTFS
File sistem NTFS awalnya digunakan pada windows NT dan merupakan file sistem yang benar-benar berbeda dibanding teknologi FAT. NTFS menawarkan security yang lebih baik, kompresi file, cluster dan bahkan support enkripsi data.
Umumnya file sistem in tidak kompatibel dengan operating sistem lain yang terinstall dikomputer yang sama (Double OS) bahkan juga tidak terdetek apabila kita melakukan start up boot menggunakan floopy. Untuk itu sangat disarankan untuk menyediakan partisi yang kecil saja yang menggunakan file sistem FAT di awal partisi. Partisi ini dapat digunakan untuk menyimpan recovery tool apabila mendapat masalah.

Selasa, 03 Januari 2012

Virtual Memory ( Algoritma )


1. Algoritma Penggantian Page Acak
Mekanisme algoritma : Setiap terjadi page fault, page yang diganti dipilih secara acak. Teknik ini tidak memakai informasi apapun dalam menentukan page yang diganti. Semua page di memori utama mempunyai bobot sama untuk dipilih. Teknik ini dapat memilih sembarang page, termasuk page yang sedang diacu (page yang seharusnya tidak diganti, pilihan terburuk). Teknik ini sangat buruk, percobaan menunjukkan algoritma acak menimbulkan rate terjadinya page fault yang sangat tinggi.

2. Algoritma FIFO ( First In First Out )
Algoritma ini adalah algoritma yang paling sederhana. Prinsip dari algoritma ini adalah seperti prinsip antrian (antrian tak berprioritas), halaman yang masuk lebih dulu maka akan keluar lebih dulu juga. Algoritma ini menggunakan struktur data stack. Apabila tidak ada frame kosong saat terjadi page fault, maka korban yang dipilih adalah frame yang berada di stack paling bawah, yaitu halaman yang berada paling lama berada di memori. Dengan hanya informasi mengenai lama berada di memori, maka algoritma ini dapat memindahkan page yang sering digunakan. Boleh jadi page itu berada terus di memori karena selalu digunakan. Page itu karena mengikuti pola antrian berdasar lamanya berada di memori menjadi elemen terdepan, diganti, dan segera harus masuk kembali ke memori sehingga terjadi page fault kembali.

3. Algoritma Optimal
Algoritma ini adalah algoritma yang paling optimal sesuai namanya. Prinsip dari algoritma ini adalah mengganti halaman yang tidak akan terpakai lagi dalam waktu lama, sehingga efisiensi pergantian halaman meningkat (page fault yang terjadi berkurang) dan terbebas dari anomali Belady. Strategi ini akan menghasilkan jumlah page-fault paling sedikit. Algoritma ini memiliki page fault rate paling rendah di antara semua algoritma di semua kasus. Akan tetapi, optimal belum berarti sempurna karena algoritma ini ternyata sangat sulit untuk diterapkan. Sistem tidak dapat mengetahui halaman-halaman mana saja yang akan digunakan berikutnya. Pendekatan ini dapat dilakukan dengan simulasi. Tapi simulasi hanya spesifik untuk suatu program. Bila yang terbaik tak dimungkinkan, maka yang perlu dilakukan adalah berusaha mendekatinya. Algoritma penggantian page diusahakan kinerjanya mendekati optimal. Tiap algoritma penggantian page mengumpulkan dan memakai informasi untuk menentukan page yang diganti sehingga mendekati optimal.

4. Algoritma LRU (Least Recently Used)
Dikarenakan algoritma optimal sangat sulit dalam pengimplementasiannya, maka dibuatlah algoritma lain yang performance-nya mendekati algoritma optimal dengan sedikit cost yang lebih besar. Algoritma ini mengganti halaman yang paling lama tidak dibutuhkan. Asumsinya, halaman yang sudah lama tidak digunakan sudah tidak dibutuhkan lagi dan kemungkinan besar, halaman yang baru di-load akan digunakan kembali.
Sama seperti algoritma optimal, algoritma LRU tidak mengalami anomali Belady. Algoritma ini memakai linked list untuk mendata halaman mana yang paling lama tidak terpakai. Linked list inilah yang membuat cost membesar, karena harus meng-update linked list tiap saat ada halaman yang di akses. Halaman yang berada di linked list paling depan adalah halaman yang baru saja digunakan. Semakin lama tidak dipakai, halaman akan berada semakin belakang dan di posisi terakhir adalah halaman yang paling lama tidak digunakan dan siap untuk di-swap.

Implementasi LRU
Ada beberapa cara untuk mengimplementasikan algoritma LRU. Tetapi, yang cukup terkenal ada 2, yaitu counter dan stack. Contoh algoritma di atas menggunakan stack.
Counter . Cara ini dilakukan dengan menggunakan counter atau logical clock. Setiap halaman memiliki nilai yang pada awalnya diinisialisasi dengan 0. Ketika mengakses ke suatu halaman baru, nilai pada clock di halaman tersebut akan bertambah 1. Semakin sering halaman itu diakses, semakin besar pula nilai counter-nya dan sebaliknya. Untuk melakukan hal itu dibutuhkan extra write ke memori. Selain berisi halaman-halaman yang sedang di-load, memori juga berisi tentang counter masing-masing halaman. Halaman yang diganti adalah halaman yang memiliki nilai clock terkecil, yaitu halaman yang paling jarang diakses. Kekurangan dari cara ini adalah memerlukan dukungan tambahan counter pada hardware.
Stack. Cara ini dilakukan dengan menggunakan stack yang menandakan halaman-halaman yang berada di memori. Setiap kali suatu halaman diakses, akan diletakkan di bagian paling atas stack. Apabila ada halaman yang perlu diganti, maka halaman yang berada di bagian paling bawah stack akan diganti sehingga setiap kali halaman baru diakses tidak perlu mencari kembali halaman yang akan diganti. Dibandingkan pengimplementasian dengan counter, cost untuk mengimplementasikan algoritma LRU dengan menggunakan stack akan lebih mahal karena seluruh isi stack harus di-update setiap kali mengakses halaman, sedangkan dengan counter, yang dirubah hanya counter halaman yang sedang diakses, tidak perlu mengubah counter dari semua halaman yang ada.

5. Algoritma Penggantian Page NRU (Not-Recently Used)
Mekanisme algoritmanya :
Pada algoritma ini, page diberi dua bit mencatat status page, bit R dan M, yaitu
Bit R   : referenced (menyatakan page sedang diacu)
Bit R = 1 berarti sedang diacu
Bit R = 0 berarti tidak sedang diacu
Bit M  : modified (menyatakan page telah dimodifikasi)
Bit M = 1 berarti dimodifikasi
Bit M = 0 berarti tidak dimodifikasi
Dengan 2 bit, maka page-page dikelompokkan menjadi 4 kelas page, yaitu
Kelas 0 : Tidak sedang diacu, belum dimodifikasi (R=0, M=0)
Kelas 1 : Tidak sedang diacu, telah dimodifikasi (R=0, M=1)
Kelas 2 : Sedang diacu, belum dimodifikasi (R=1, M=0)
Kelas 3 : Sedang diacu, telah dimodifikasi (R=1, M=1)
Memilih mengganti page kelas bernomor terendah (bila terdapat page-page di kelas itu) secara acak. Bila kelas tersebut kosong maka dipilih page di kelas lebih tinggi, dan seterusnya.
Algoritma ini mengasumsikan kelas-kelas bernomor lebih rendah akan baru akan digunakan kembali dalam waktu relatif lama.
Algoritma ini mudah dipahami dan diimplementasikan. Implementasi algoritma ini sangat efisien karena tak banyak langkah dalam pemilihan page. Algoritma ini memang tidak optimal, tapi dalam kondisi-kondisi normal telah memadai.