Minggu, 15 Januari 2012

Sistem Berkas pada UNIX (dan turunannya)

Ada beberapa direktori yang umum terdapat dalam instalasi UNIX:
1. Direktori /root.
2. Direktori /bin.
3. Direktori /dev.
4. Direktori /etc.
5. Direktori /lib.
6. Direktori /sbin.
7. Direktori /usr.
8. Direktori /var.
Macam-macam Sistem Berkas di UNIX
 1. EXT2.
             2. EXT3.
             3. JFS (Journaling File System).
             4. ReiserFS.

Sistem Berkas pada Windows

Direktori yang secara otomatis dibuat dalam instalasi Windows adalah:
            1. Direktori C:\WINDOWS
            2. Direktori C:\Program Files
            3. Direktori C:\My Document

Perbandingan Kecepatan Pembacaan Berkas antara Windows dan UNIX

Sistem berkas UNIX berbeda dengan sistem berkas Windows (DOS).
  • Sistem berkas UNIX lebih hebat dan mudah diatur daripada Windows (DOS).
  • Penamaan dalam UNIX dan Windows berbeda.Karena sistem Windows ingin memudahkan pengguna maka sistem mereka mengubah nama menjadi nama yang lebih mudah bagi para pengguna.
o   Contohnya adalah nama folder dalam adalah perubahan daridirectory yang masih digunakan oleh UNIX. Penggunaan back slash (\) digunakan untuk memisahkan direktori-direktori dalam Windows, tetapi hal ini tidak ada dalam UNIX.
 
  • Sistem UNIX menggunakan case sensitive, yang artinya nama suatu berkas yang sama jika dibaca, tetapi penulisan namanya berbeda dalam hal ada satu file yang menggunakan huruf kapital dalam penamaan dan satu tidak akan berbeda dalam UNIX.
o   Contohnya ada berkas bernama berkasdaku.txt dan BerkasDaku.txt, jika dibaca nama berkasnya sama tetapi dalam UNIX ini merupakan dua berkas yang jauh berbeda. Jika berkas-berkas ini berada di sistem Windows, mereka menunjuk ke berkas yang sama yang berarti Windows tidakcase sensitive.
  • Hal lain yang membedakan sistem berkas UNIX dengan Windows adalah UNIX tidak menggunakan drive letter seperti C:, D: dalam Windows. Tetapi semua partisi dan drive ekstra di mount didalam sub-direktori di bawah direktori root. Jadi pengguna tidak harus bingung di drive lettermana suatu berkas berada sehingga seluruh sistem seperti satu sistem berkas yang berurutan dari direktori root menurun secara hierarki.

Sistem Berkas Pada Windows dan Linux

Sistem Berkas Pada OS windows sistem berkas di windows adalah FAT , FAT atau FAT File system  merupakan sebuah sistem berkas menggunakan struktur tabel alokasi berkas yang menggunakan struktur tabel alokasi berkas sebagai cara dirinya beroperasi.

 Beberapa macam FAT


FAT 16 
sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16-bit, sehingga dapat menyimpan hingga 216 unit alokasi (65536 buah) . sistem berkas ini memiliki batas kapasitas hingga ukuran 4gigabyte saja. ukuran unit alokasi yang digunakan oleh FAT16 tergantung pada kapasitas partisi yang hendak diformat : jika partisinya kurang dari 16 MB, maka windows akan menggunakan  sistem berkas FAT12 , jika partisinya lebih besar dari 16 MB , maka windows akan menggunakan sistem berkas FAT16.
 
 AT 32 
versi sistem berkas FAT yang paling baru , yang dikenalkan ketika Microsoft merilis windows 95 OEM Service Release 2 (windows 95 OSR2) karena menggunakan tabel alokasi berkas yang besar (32-bit), FAT 32 secara teoritis mampu mengalamati hingga 232 unit alokasi (4294967296 buah ), meskipun demikian, dalam implementasi jumlah unit alokasi yang dapat dialamati oleh FAT32 adalah 228(268435456 buah).

Ø NTFS
 
 

Selasa, 03 Januari 2012

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.

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.

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.

Analisis Algoritma Penggantian Page Acak

Apasih Algoritma Penggantian Page Acak itu, dan kapan terjadinya ?

Algoritma penggantian page acak ialah page yang dikeluarkan untuk memberi tempat yang baru ditentukan secara acak tanpa kriteria tertentu.

Dalam penggunaannya algoritma page acak ini tidak memekai informasi apapun dalam menentukan page yang diganti. semua page dimemori utama mempunyai bobot yang sama untuk dipakai.

Dengan menggunakan algoritma ini dapat memilih sembarang page.

Kekurangan dari algoritma page acak ini sendiri ialah bisa menimbulakan rate terjadinya page error yang seringa akan terjadi.

Analisis Algoritma Penggantian Page LRU

Algoritma Penggantian Page LRU

LRU sendiri merupakan kepanjangan dari Least Recently Used

Algoritma Penggantian Page LRU merupakan algoritma penggantian isi chache, yaitu apabila chache penuh dan diperlukan penyimpanan entri baru, maka entri yang paling jarang digunakan akan dihapus dan diganti dengan entri baru.

Ada beberapa cara untuk mengimplementasikan algoritma LRU, tetapi yang cukup terkenal ada 2 yaitu, Counter dan Stack.

1. Dengan cara 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 dihalaman tersebut bertambah 1.

2. Dengan cara Stack
Cara ini dilakukan dengan menggunakan stack yang menandakan halaman-halaman yang berada dimemori. setiap kali suatu halaman diakses, akan diletakan dibagian paling atas stack. Apabila ada halaman yang perlu diganti, maka halaman yang berada dibagian paling bawah stack akan diganti sehingga setiap kali halam baru akan diakses tidak perlu mencari kembali halaman yang akan diganti.

Penjelasan tentang Algoritma Banker, Algoritma Safty & Algoritma Ostrich

Apa sih Algoritma Banker, Algoritma Safty & Algoritma Ostrich itu . . . ?

Ketiga kata-kata diatas merupakan beberapa algoritma yang sering dipakai dalam penanganan Deadlock.

Deadlock . . . .?
Apa sih Deadlock itu . . . . ?

Sebelum saya membahas mengenai ketiga algoritma tersebut, saya akan membahas terlebih dahulu apa sih yang dinamakan Deadlock itu.

Deadlock ialah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Deadlock terjadi karena beberapa proses itu saling menunggu dan tidak terjadi kemajuan dalam stiap prosesnya (proses berbenturan).

Penjelasan yang lebih mudah tentang Deadlock ialah dimana ketika kita sedang menggunkan PC ataupun laptop trus tiba-tiba kondisi monitor menjadi NG-bleng ataupun Ng-heng.

Nah masalah Deadlock itu dapat diatasi dengan ketiga algiritma diatas (Algoritma Banker, Algoritma Safty & Algoritma Ostrich).

Penjelasan dari masing-masing algoritma tersebut,

1). Algoritma Banker
Algoritma Banker merupakan bentuk penjadualan yang dilakukan prosesor untuk mencegah terjadinya deadlock. yang dilalukan algoritma banker jika terjadinya deadlock ialah dengan memutuskan apakah menyetujui atau menunda permintaan suatu proses. misalkan pada suatu proses pasti akan meminta beberapa memory dan register pada system untuk dapat melakukan proses. maka pencegahannya prosesor akan menyediakan memory dan register yang akan dibutuhkan, juga akan menetapkan batas max yang akan diberikan .

2). Algoritma Safty
Algoritma Safety merupakan suatu bentuk algoritma yang mana selalu menginginkan kondisi system dalam keadaan aman. karena pencegahan yang dilakuka oleh algoritma safety ialah dengan menanyakan suatu proses apakah proses sudah dalam keadaan selesai atau belum dengan membandingkan waktu proses dan lamanya eksekusi proses dan melihat apakah kondisi system dalam keadaan aman atau deadlock.

3). Algoritma Ostrich
Dalam algoritma ostrich ini dijelaskan bahwa untuk menangani deadlock ialah dengan berpura-pura bahwa tidak ada masalah apapun. hal ini seakan-akan melakukan hal yang patal, tetapi sistem operasi unix menanggulangi deadlock dengan cara ini dengan tidak mendeteksi deadlock dan membiarkannya secara otomatis mematikan program, sehingga seakan-akan tidak terjadi apapun. jadi jika terjadi deadlock, maka tabel akan penuh, sehingga proses yang menjalankan proses harus menunggu pada waktu tertentu dan mencoba lagi.