Selasa, 21 Desember 2010

SISTEM BERKAS

ALOKASI BLOK SISTEM BERKAS

A Pendahuluan

Untuk kebutuhan efisiensi dalam pertukaran data antara memori dengan disk, disk membagi ruang tempat penyimpanannya menjadi blok-blok. Hal ini berarti jumlah data yang mengalir antara keduanya dapat dihitung dengan satuan blok. Satu blok terdiri dari satu atau beberapa sektor. Suatu berkas yang disimpan di dalam disk mengisi blok-blok ini sehingga berkas tersebut terpotong-potong menjadi bagian-bagian yang sesuai dengan ukuran satu blok.

Dengan adanya pembagian ruang di disk menjadi blok-blok seperti ini maka timbul permasalahan tentang pengalokasian blok-blok tersebut. Tujuan dari penyelesaian masalah ini adalah agar kapasitas disk dapat diutilisasikan dengan sebaik-baiknya dan berkas-berkas dapat diakses dengan cepat. Dalam bab ini akan dibahas beberapa metoda-metoda pengalokasian blok sistem berkas yang sering digunakan oleh beberapa sistem operasi. Setelah itu kita akan membahas hal-hal lain yang juga berkenaan dengan konsep blok ini.

B Metode Alokasi

Kegunaan penyimpanan sekunder yang utama adalah menyimpan berkas-berkas yang kita buat, karena sifat disk akan mempertahankan berkas walaupun tidak ada arus listrik. Oleh karena itu, agar kita dapat mengakses berkas-berkas dengan cepat dan memaksimalisasikan ruang yang ada di disk tersebut, maka lahirlah metode-metode untuk mengalokasikan berkas ke disk. Metode-metode yang akan dibahas lebih lanjut dalam buku ini adalah contiguous allocation, linked allocation, dan indexed allocation. Metode-metode tersebut memiliki beberapa kelebihan dan juga kekurangan. Biasanya sistem operasi memilih satu dari metode diatas untuk mengatur keseluruhan berkas.

(1) Contiguous Allocation/ Alokasi Secara Berdampingan

Metoda pengalokasian berurutan akan menempatkan satu berkas ke dalam blok-blok yang bersebelahan (Gambar 42.1, “Alokasi Berkesinambungan”). Penempatan dalam blok-blok yang bersebelahan berarti sektor-sektor yang digunakan juga pada posisi yang bersebelahan. Adapun kasus di mana sektor-sektor dalam satu lintasan sudah habis terpakai sehingga sektor selanjutnya yang dapat digunakan berada di lintasan yang berbeda. Namun dalam kasus ini, lintasan baru yang digunakan tersebut terletak di sebelah lintasan sebelumnya sehingga perpindahan head yang diperlukan hanyalah sedikit (Gambar 42.2, “Kondisi Disk”).

Keuntungan lain dari alokasi berurutan adalah ia menunjang pengaksesan bagian tengah berkas secara langsung (direct access). Apabila suatu berkas dimulai dengan blok posisi b dan panjang berkas tersebut adalah p maka blok di posisi b + i dengan i <>

Setiap metoda pengalokasian mendefinisikan suatu berkas dengan cara yang berbeda. Suatu berkas dalam metoda ini didefinisikan atas alamat di mana blok awal berkas tersebut berada dan blok akhir berkas. Sebagai contoh, berkas dengan alamat 2 dan panjang 5 berarti berkas tersebut menempati blok mulai posisi ke-2 hingga blok di posisi ke-6.

Pengalokasian blok sistem berkas seperti ini akan menimbulkan kesulitan dalam mencari ruang kosong dari beberapa ruang yang tersedia untuk kebutuhan berkas baru. Untuk mengatasinya, ada dua cara yang biasa dilakukan, yaitu best fit dan first fit seperti yang telah dijelaskan dalam bab Alokasi Memori Berkesinambungan. Walaupun diantara keduanya tidak ada yang dapat dikatakan solusi terbaik tetapi algoritma first fit bekerja paling cepat.

Kedua algoritma di atas memiliki kelemahan yang disebut dengan fragmentasi eksternal. Setelah berkas-berkas ditulis kemudian dihapus dari disk, maka ruang yang tersedia di disk menjadi bagian-bagian kecil yang tersebar. Apabila potongan-potongan ruang ini tidak ada yang bisa memuat suatu berkas baru maka terjadilah masalah fragmentasi eksternal ini. Untuk mengatasi hal ini, ada beberapa metoda seperti yang pernah digunakan oleh komputer mikro pada masa lalu. Pada masa itu, tempat penyimpanan yang populer adalah floppy disk. Untuk mengatasi berkurangnya utilisasi ruang disk akibat fragmentasi eksternal, maka secara berkala dilakukan pemadatan isi disk. Operasi ini terdiri dari tahap pemindahan isi suatu floppy disk ke tempat penyimpanan sementara (floppy disk lain atau tape) sehingga floppy disk yang pertama menjadi kosong. Selanjutnya, proses diteruskan dengan tahap penulisan kembali floppy disk tersebut dengan isi dari tempat penyimpanan sementara tadi. Hasil yang didapatkan adalah satu floppy disk yang blok-bloknya terisi secara berkesinambungan.

Walaupun cara ini berhasil dan pernah dilakukan pada zaman dahulu, tetapi pemraktekannya pada hard disk dihindari. Hard disk biasanya memuat data yang jauh lebih banyak dari floppy disk. Operasi pemadatan di atas apabila dilakukan pada hard disk maka akan membutuhkan waktu berjam-jam atau mungkin sampai berminggu-minggu. Selain itu tempat penyimpanan sementara yang dibutuhkan pasti sangat besar dan mahal.

Permasalahan lain dari metoda alokasi ini adalah menentukan ruang yang dibutuhkan untuk berkas baru. Ketika suatu berkas akan dibuat maka ruang yang dapat menampung berkas tersebut harus dapat diperkirakan sebelumnya. Jika tidak, maka berkas tersebut mungkin tidak bisa diperbesar. Hal ini karena blok-blok setelah blok data berkas yang terakhir dapat sudah teralokasikan untuk berkas lain. Dalam memperkirakan ukuran berkas dibutuhkan perhitungan yang matang. Suatu berkas bisa saja berkembang menjadi sangat besar sehingga pada awalnya perlu dialokasikan ruang yang besar pula.

Untuk mengatasi permasalahan di atas, maka pengalokasian ruang untuk suatu berkas bisa langsung dalam jumlah yang besar. Dengan demikian, bisa jadi ruang yang ternyata terpakai hanya sebagian kecil saja dan sisanya dibiarkan terlantar. Kasus seperti ini di mana suatu ruang besar yang telah disediakan ternyata hanya terpakai sebagian disebut dengan fragmentasi internal.

Untuk menghindari kekurangan dari metoda pengalokasian ini, sebagian sistem operasi menggunakan metoda pengalokasian berkesinambungan yang dimodifikasi. Perbedaannya dengan metoda yang biasa adalah metoda yang dimodifikasi ini memungkinkan ruang tambahan - yang juga berupa blok-blok yang berkesinambungan - ditambahkan ke ruang yang pertama kali disediakan apabila ruang ini ternyata tidak cukup untuk menampung suatu berkas. Antara ruang yang satu dengan yang lain dihubungkan dengan suatu penghubung sehingga bisa saja ruang tambahan tersebut tidak berada di sebelah ruang yang pertama kali disediakan. Fragmentasi internal masih bisa terjadi apabila blok-blok tambahan ini terlalu besar dan fragmentasi eksternal dapat terjadi karena penambahan dan penghapusan ruang tambahan ini.

(2) Linked Allocation (Alokasi Secara Berangkai)

Metoda alokasi dengan penghubung blok memungkinkan blok-blok yang akan dialokasikan untuk suatu berkas tidak berada dalam posisi yang bersebelahan. Bisa saja suatu berkas menempati blok-blok yang berada di posisi ke-10, lalu ke-2, lalu ke-67 dst. Hal ini dimungkinkan karena setiap blok yang dialokasikan untuk suatu berkas memuat informasi tentang blok selanjutnya sehingga membentuk satu kesatuan (Gambar 42.3, “Alokasi dengan penghubung blok”). Penghubung ini juga memerlukan ruang dalam blok, sehingga pada metoda alokasi ini, ruang yang dapat diisi dengan data berkas dalam satu blok menjadi lebih sedikit dibandingkan metoda alokasi berkesinambungan.

Untuk mendefinisikan suatu berkas, pada direktori tempat berkas tersebut berada, terdapat penghubung ke awal dan akhir blok dari berkas yang dimaksud. Sebagai contoh, misalkan blok awal berkas A berada di posisi ke-10 dan akhirnya di posisi ke-2. Pada direktori tempat berkas A berada akan terdapat informasi tentang berkas A yang bagian awalnya menempati blok ke-10 dan bagian akhirnya berada di blok ke-2.

Untuk membentuk berkas baru, proses awal yang diperlukan adalah menambah daftar berkas ke dalam direktori. Apabila penghubung di blok awal berkas ini diberi nilai nihil maka berkas yang terbentuk adalah berkas kosong. Untuk menambahkan isi berkas maka pencarian blok yang tidak terpakai akan dilakukan dengan menggunakan manajemen ruang kosong (dibahas Bagian 42.3, “Manajemen Ruang Kosong”). Setelah ditemukan, maka penghubung di blok awal berkas akan menunjuk ke blok ini. Selanjutnya blok yang baru ini akan diisi dengan data berkas. Dalam proses pembacaan berkas, operasi yang dilakukan adalah mengakses blok-blok dengan mengikuti penghubung dalam blok-blok tersebut.

Dengan menggunakan metoda alokasi ini maka permasalahan fragmentasi eksternal tidak akan ditemukan. Untuk membentuk berkas pun tidak perlu untuk menyebutkan jumlah blok yang diperlukan. Hal ini berarti berkas-berkas bisa bertambah besar dengan mudah.

Metoda pengalokasian blok seperti ini tidak memungkinkan berkas dibaca tanpa menggunakan cara yang sekuensial. Tidak seperti metoda alokasi sebelumnya, apabila bagian awal suatu berkas berada di blok b dan panjang berkas adalah p, maka blok di posisi b + i dengan i <>

Seperti yang telah dijelaskan sebelumnya, penghubung blok memerlukan ruang tersendiri di dalam blok sehingga data-data berkas yang bisa termuat dalam satu blok akan berukuran lebih kecil dari ukuran blok itu sendiri (Gambar 42.5, “Ruang Blok Dialokasikan Penghubung”). Untuk lebih meningkatkan utilitas disk biasanya berkas-berkas dimasukan ke dalam sekumpulan blok yang disebut cluster dan sistem berkas bekerja berdasarkan cluster, bukan blok. Satu cluster terdiri dari dua atau lebih blok yang berkesinambungan. Antara satu cluster dengan cluster berikutnya yang teralokasikan untuk suatu berkas terdapat penghubung.

Namun, berbeda dengan metoda alokasi yang biasa, penghubung ini cukup berada di blok terakhir dari setiap cluster (Gambar 42.6, “Cluster”). Dengan menggunakan cluster maka persentase antara ruang yang dibutuhkan untuk penghubung dengan ruang yang benar-benar terpakai untuk data berkas menjadi berkurang. Selain itu, karena jumlah sektor yang terkumpul dalam satu cluster lebih besar dari satu blok saja maka waktu pembacaan suatu berkas mulai dari awal sampai akhir menjadi lebih cepat. Hal ini dikarenakan banyak potongan-potongan berkas berada di sektor yang berkesinambungan sehingga kemungkinan sektor yang akan dibaca berada di lintasan lain menjadi berkurang.

Salah satu varian dari metoda alokasi dengan penggunaan penghubung adalah metoda dengan penggunaan tabel alokasi berkas (FAT). Dengan metoda ini maka di setiap bagian awal partisi disk terdapat satu tabel yang berisi diantaranya daftar indeks blok yang berada dalam partisi tersebut, informasi terpakai atau tidaknya blok-blok ini, dan keterhubungan satu blok dengan blok lainnya. Daftar nama berkas-berkas dan blok awal dari masing-masing berkas masih dimiliki oleh setiap direktori dalam partisi tersebut. FAT hanya menggantikan penghubung yang dalam metoda alokasi dengan penghubung biasa dimiliki oleh masing-masing blok. Dengan FAT, hubungan satu blok dengan blok lain sehingga membentuk suatu berkas secara utuh termuat sebagai isi tabel tersebut (Gambar 42.7, “Penggunaan FAT”). Sebagai contoh, apabila blok dengan indeks 10 terhubung dengan blok indeks 6 maka di dalam tabel FAT terdapat informasi bahwa blok 10 berkorespondensi dengan blok 6. Pemetaan ini terus berlangsung hingga blok akhir berkas sehingga akan terbentuk suatu berkas secara utuh. Perbedaan lain dari alokasi dengan penghubung biasa adalah dalammendefinisikan akhir dari berkas. Dalam metoda ini, untuk menandakan suatu blok merup akan akhir dari berkas maka dalam FAT blok yang dimaksud diberikan informasi end-of-file, sedangkan pada metoda yang biasa informasi ini termuat dalam direktori.

Pada metoda dengan penggunaan FAT, blok-blok yang belum terpakai ditandai dengan nilai 0. Hal ini menguntungkan apabila suatu berkas hendak diperbesar karena pencarian blok yang dapat dipakai untuk menampung data tambahan berkas menjadi mudah. Pencarian cukup dengan memeriksa FAT lalu menggunakan blok bertanda nilai 0 yang pertama kali ditemukan.

Dengan menggunakan FAT maka direct access ke suatu berkas dapat didukung. Hal ini karena semua bagian dari berkas dapat diketahui posisinya termuat dalam dua pusat informasi. Pusat informasi yang dimaksud adalah dalam setiap direktori untuk informasi blok awal berkas dan FAT untuk informasi blok-blok yang dialokasikan untuk berkas tersebut.

(3) Indexed Allocation (Alokasi Dengan Indeks)

Di bagian sebelumnya telah dijelaskan keuntungan dari penggunaan alokasi dengan penghubung blok. Namun metoda ini mempunyai kelemahan karena tidak mendukung pengaksesan secara langsung (direct access). Telah dijelasakan juga bahwa permasalahan ini dapat diatasi dengan adanya FAT. Metoda alokasi lain yang juga mempunyai semua kelebihan metoda dengan penggunaan FAT adalah alokasi dengan pengindeksan. Ide dasar dari metoda alokasi ini mengumpulkan semua penghubung blok ke dalam satu lokasi yaitu blok indeks.

Dalam metoda ini setiap berkas mempunyai blok indeks sendiri yaitu berupa array yang berisi alamat blok-blok yang dialokasikan untuk berkas ini. Isi array dengan indeks ke-i adalah alamat blok ke-i dari berkas yang memiliki array tersebut. Alamat blok indeks itu sendiri terdapat di direktori tempat ia berada (Gambar 42.8, “Pengalokasikan dengan Indeks”). Cara seperti ini mendukung direct access dari berkas karena blok ke-n bisa langsung diakses karena alamatnya termuat di blok indeks.

Alokasi dengan Pengindeksan tidak akan menimbulkan fragmentasi eksternal karena setiap blok yang belum digunakan dapat dialokasikan untuk berkas baru atau untuk perbesaran berkas yang sudah ada. Walaupun begitu, metoda ini mempunyai kekurangan yang disebabkan karena pasti dibutuhkannya minimal satu blok indeks. Perhatikan bahwa blok indeks merupakan blok tersendiri sehingga apabila suatu berkas dapat ditempatkan ke dalam dua blok maka ia membutuhkan satu blok tambahan yaitu blok indeks. Dalam blok indeks ini dapat dipastikan banyak ruang yang tidak tepakai.

Topik di atas menimbulkan pertanyaan tentang seberapa besar seharusnya ukuran blok indeks. Karena jumlah berkas dalam disk biasanya banyak dan masing-masing berkas membutuhkan blok indeks maka ukuran blok indeks harus sekecil mungkin agar penggunaan ruang disk menjadi efisien. Walaupun begitu, apabila ukurannya terlalu kecil maka blok indeks tidak bisa memuat informasi indeks blok dari berkas yang berukuran besar. Selain itu, mekanisme indeks blok juga harus mendukung konsep-konsep berikut:

Skema terhubung: satu blok indeks bisa terhubung ke blok indeks blok lainnya. Skema seperti ini bisa mendukung berkas yang berukuran besar karena semua informasi alamat blok yang dialokasikan untuknya bisa termuat dalam sejumlah blok indeks. Cara yang dapat digunakan adalah apabila satu blok indeks tidak mencukupi maka salah satu penghubung di blok indeks tersebut akan menunjuk ke blok indeks tambahan (Gambar 42.9, “Skema Terhubung”). Blok indeks juga digunakan untuk menginformasikan blok-blok mana saja yang dialokasikan untuk berkas tersebut.

Pengindeksan bertingkat: blok indeks di tingkat pertama berisi penghubung ke blok-blok indeks di tingkat kedua. Baru di tingkat kedua inilah indeks blok-blok berkas termuat (Gambar 42.10, “Pengindeksan bertingkat”). Jumlah tingkatan bisa lebih besar dari dua. Untuk mengakses suatu blok berkas, sistem operasi menggunakan blok indeks tingkat pertama lalu kedua dst sampai tingkat terbawah yang akan menunjuk blok berkas yang diharapkan.

Skema gabungan: blok indeks terbagi-bagi menjadi bagian-bagian yang menunjuk ke blok-blok yang berbeda jenis. Blok seperti ini dalam BSD UNIX disebut inode. Ruang dalam inode terbagi menjadi delapan bagian (Gambar 42.11, “Skema Gabungan”). Empat bagian pertama berisi informasi tentang berkas yang memiliki inode tersebut dan tentang inode itu sendiri. Bagian inode yang kelima langsung menunjuk ke blok data berkas. Bagian dari inode yang menunjuk ke ke blok data berkas ini disebut direct blocks. Perhatikan bahwa direct blocks adalah merupakan bagian dari ruang inode, bukan blok data berkas yang ditunjuknya. Bagian keenam dari inode menunjuk ke blok indeks tingkat kedua, lalu blok indeks tingkat kedua tersebut menunjuk ke blok data berkas. Bagian dari inode yang disebutkan di atas disebut single indirect blocks. Bagian ketujuh menunjuk ke blok indeks tingkat kedua, lalu blok indeks ini menunjuk ke blok indeks tingkat ketiga, lalu blok indeks tingkat ketiga ini menunjuk ke blok data berkas. Bagian ketujuh ini disebut juga dengan double indirect blocks. Bagian terakhir hampir sama dengan bagian sebelumnya hanya saja masing-masing blok indeks akan menunjuk blok-blok indeks dengan tingkat di bawahnya sampai tingkatan keempat. Blok indeks tingkat keempat inilah yang akan menunjuk ke blok data berkas. Bagian inode yang terakhir ini disebut juga dengan triple indirect blocks.

Perhatikan bahwa metoda alokasi dengan pengindeksan dapat mengakibatkan banyaknya pergerakan head disk ketika membaca berkas. Hal ini dikarenakan posisi blok indeks dengan blok-blok berkas dapat saling berjauhan. Dengan banyaknya pergerakan head disk maka waktu yang dibutuhkan ketika proses pengaksesan berkas menjadi lama. Hal ini dapat dikurangi apabila blok indeks ditaruh di dalam memori cache sehingga pergerakan head disk hanya ditujukan untuk membaca blok-blok berkas saja.

Metode yang satu ini memecahkan masalah fragmentasi eksternal dari metode contiguous allocation dan ruang yang cuma-cuma untuk petunjuk pada metode linked allocation, dengan cara menyatukan semua petunjuk kedalam blok indeks yang dimiliki oleh setiap berkas. Jadi, direktori hanya menyimpan alamat dari blok indeks tersebut, dan blok indeks tersebut yang menyimpan alamat dimana blok-blok berkas berada. Untuk berkas yang baru dibuat, maka blok indeksnya di set dengan null.

Metode ini mendukung pengaksesan secara langsung, bila kita ingin mengakses blok ke-i, maka kita hanya mencari isi dari blok indeks tersebut yang ke-i untuk dapatkan alamat blok tersebut. Metode indexed allocation tidak menyia-nyiakan ruang disk untuk petunjuk, karena dibandingkan dengan metode linked allocation, maka metode ini lebih efektif, kecuali bila satu berkas tersebut hanya memerlukan satu atau dua blok saja.

Metode ini juga memiliki masalah. Masalah itu timbul disaat berkas berkembang menjadi besar dan blok indeks tidak dapat menampung petunjuk-petunjuknya itu dalam satu blok. Salah satu mekanisme dibawah ini dapat dipakai untuk memecahkan masalah yang tersebut. Mekanisme-mekanisme itu adalah:

-Linked scheme.

Untuk mengatasi petunjuk untuk berkas yang berukuran besar mekanisme ini menggunakan tempat terakhir dari blok indeks untuk alamat ke blok indeks selanjutnya. Jadi, bila berkas kita masih berukuran kecil, maka isi dari tempat yang terakhir dari blok indeks berkas tersebut adalah null. Namun, bila berkas tersebut berkas besar, maka tempat terakhir itu berisikan alamat untuk ke blok indeks selanjutnya, dan begitu seterusnya.

-Indeks bertingkat.

Pada mekanisme ini blok indeks itu bertingkat-tingkat, blok indeks pada tingkat pertama akan menunjukkan blok-blok indeks pada tingkat kedua, dan blok indeks pada tingkat kedua menunjukkan alamat-alamat dari blok berkas, tapi bila dibutuhkan dapat dilanjutkan kelevel ketiga dan keempat tergantung dengan ukuran berkas tersebut. Untuk blok indeks 2 level dengan ukuran blok 4.096 byte dan petunjuk yang berukuran 4 byte, dapat mengalokasikan berkas hingga 4 GB, yaitu 1.048.576 blok berkas.

-Combined scheme.

Mekanisme ini menggabungkan direct block dan indirect block. Direct block akan langsung menunjukkan alamat dari blok berkas, tetapi pada indirect block akan menunjukkan blok indeks terlebih dahulu seperti dalam mekanisme indeks bertingkat. Single indirect block akan menunjukkan ke blok indeks yang akan menunjukkan alamat dari blok berkas, double indirect block akan menunjukkan suatu blok yang bersifat sama dengan blok indeks 2 level, dan triple indirect block akan menunjukkan blok indeks 3 level. Dimisalkan ada 15 petunjuk dari mekanisme ini, 12 pertama dari petunjuk tersebut adalah direct block, jadi bila ukuran blok 4 byte berarti berkas yang dapat diakses secara langsung didukung sampai ukurannya 48 KB. 3 petunjuk berikutnya adalah indirect block yang berurutan dari single indirect block sampai triple indirect block. Yang hanya mendukung 32 bit petunjuk berkas berarti akan hanya mencapai 4 GB, namun yang mendukung 64 bit petunjuk berkas dapat mengalokasikan berkas berukuran sampai satuan terabyte.

C Kinerja Sistem Berkas

Keefisiensian penyimpanan dan waktu akses blok data adalah kriteria yang penting dalam memilih metode yang cocok untuk sistem operasi untuk mengimplementasikan sesuatu. Sebelum memilih sebuah metode alokasi, kita butuh untuk menentukan bagaimana sistem ini akan digunakan.

Untuk beberapa tipe akses, contiguous allocation membutuhkan hanya satu akses untuk mendapatkan sebuah blok disk. Sejak kita dapat dengan mudah menyimpan alamat inisial dari sebuah berkas di memori, kita dapat menghitung alamat disk dari blok ke-i (atau blok selanjutnya) dengan cepat dan membacanya dengan langsung.

Untuk linked allocation, kita juga dapat menyimpan alamat dari blok selanjutnya di memori dan membacanya dengan langsung. Metode ini bagus untuk akses secara berurutan; untuk akses langsung, bagaimana pun, sebuah akses menuju blok ke-i harus membutuhkan pembacaan disk ke-i. Masalah ini menunjukkan mengapa alokasi yang berurutan tidak digunakan untuk aplikasi yang membutuhkan akses langsung.

Sebagai hasilnya, beberapa sistem mendukung berkas-barkas yang diakses langsung dengan menggunakan contiguous allocation dan yang diakses berurutan dengan linked allocation. Di dalam kasus ini, sistem operasi harus mempunyai struktur data yang tepat dan algoritma untuk mendukung kedua metode alokasi.

Indexed allocation lebih komplek. Jika blok indeks sudah ada dimemori, akses dapat dibuat secara langsung. Bagaimana pun, menyimpan blok indeks tersebut di memori membutuhkan tempat yang dapat ditolerir. Dengan begitu, kinerja dari indexed allocation tergantung dari struktur indeks, ukuran file, dan posisi dari blok yang diinginkan.

Beberapa sistem menggabungkan contiguous allocation dengan indexed allocation dengan menggunakan contiguous allocation untuk berkas-berkas yang kecil (diatas tiga atau empat berkas), dan secara otomatis mengganti ke indexed allocation jika berkas bertambah besar.

D Manajemen Ruang Kosong

Semenjak hanya tersedia tempat yang terbatas pada disk maka sangat berguna untuk menggunakan kembali tempat dari berkas yang dihapus untuk berkas baru, jika dimungkinkan, karena pada media yang sekali tulis (media optik) hanya dimungkinkan sekali menulis dan menggunakannyanya kembali secara fisik tidak mungkin. Untuk mencatat tempat kosong pada disk, sistem mempunyai daftar tempat kosong (free space list). Daftar ini menyimpan semua blok disk yang kosong yang tidak dialokasikan pada sebuah berkas atau direktori. Untuk membuat berkas baru, sistem mencari ke daftar tersebut untuk mencarikan tempat kosong yang di butuhkan, lalu tempat tersebut dihilangkan dari daftar. Ketika berkas dihapus, alamat berkas tadi ditambahkan pada daftar.

(1) Menggunakan Bit Vektor

Seringnya daftar ruang kosong diimplementasikan sebagai bit map atau bit vektor. Tiap blok direpresentasikan sebagai 1 bit. Jika blok tersebut kosong maka isi bitnya 1 dan jika bloknya sedang dialokasikan maka isi bitnya 0. Sebagai contoh sebuah disk dimana blok 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 17, 18, 25, 26 dan 27 adalah kosong, dan sisanya dialokasikan. Bit mapnya akan seperti berikut:

001111001111110001100000011100000...

Keuntungan utama dari pendekatan ini adalah relatif sederhana dan efisien untuk mencari blok pertama yang kosong atau berturut-turut n blok yang kosong pada disk. Banyak komputer yang menyediakan instruksi manipulasi bit yang dapat digunakan secara efektif untuk tujuan ini. Sebagai contohnya, dari keluarga prosesor Intel dimulai dari 80386 dan keluarga Motorola dimulai dari 68020 (prosesor yang ada di PC dan Macintosh) mempunyai instruksi yang mengembalikan jarak di word dari bit pertama dengan nilai 1. Sistem operasi Apple Macintosh menggunakan metode bit vektor untuk mengalokasikan tempat pada disk. Dalam hal ini perangkat keras mendukung perangkat lunak tetapi bit vektor tidak efisien kecuali seluruh vektor disimpan dalam memori utama (dan ditulis di disk untuk kebutuhan pemulihan). Menyimpan dalam memori utama dimungkinkan untuk disk yang kecil pada mikro komputer, tetapi tidak untuk disk yang besar. Sebuah disk 1,3 GB dengan 512-byte blok akan membutuhkan bit map sebesar 332K untuk mencatat blok yang kosong.

(2) Linked List

Pendekatan lain adalah untuk menghubungkan semua blok yang kosong, menyimpan pointer ke blok pertama yang kosong di tempat yang khusus pada disk dan menyimpannya di memori. Blok pertama ini menyimpan pointer ke blok kosong berikutnya dan seterusnya. Pada contoh sebelumnya kita akan menyimpan pointer ke blok ke 2 sebagai blok kosong pertama, blok 2 akan menyimpan pointer ke blok 3, yang akan menunjuk ke blok 4 dan seterusnya. Bagaimana pun metode ini tidak efisien karena untuk traverse daftar tesebut kita perlu membaca tiap blok yang membutuhkan waktu I/O. Untungnya traverse ini tidak sering digunakan. Umumnya, sistem operasi membutuhkan blok kosong untuk mengalokasikan blok tersebut ke berkas, maka blok pertama pada daftar ruang kosong digunakan.

(3) Grouping

Modifikasi lainnya adalah dengan menyimpan alamat dari n blok kosong pada blok kosong pertama. Pada n-1 pertama dari blok-blok ini adalah kosong. Blok terakhir menyimpan alamat n blok kosong lainnya dan seterusnya. Keuntungannya dari implementasi seperti ini adalah alamat dari blok kosong yang besar sekali dapat ditemukan dengan cepat, tidak seperti pendekatan standar linked-list.

(4) Counting

Pendekatan lain adalah dengan mengambil keuntungan dari fakta bahwa beberapa blok yang berkesinambungan akan dialokasikan atau dibebaskan secara simultan. Maka dari itu dari pada menyimpan daftar dari banyak alamat disk, kita dapat menyimpan alamat dari blok kosong pertama dan jumlah dari blok kosong yang berkesinambungan yang mengikuti blok kosong pertama. Tiap isi dari daftar menyimpan alamat disk dan penghitung (counter). Meski pun setiap isi membutuhkan tempat lebih tetapi secara keseluruhan daftar akan lebih pendek, selama count lebih dari satu.

E Implementasi Direktori

Pemilihan dalam algoritma alokasi direktori dan manajemen direktori mempunyai efek yang besar dalam efisiensi, performa, dan kehandalan dari sistem berkas.

· Linear List

Metode paling sederhana dalam mengimplementasikan sebuah direktori adalah dengan menggunakan linear list dari nama berkas dengan penunjuk ke blok data. Linear list dari direktori memerlukan pencarian searah untuk mencari suatu direktori didalamnya. Metode sederhana untuk di program tetapi memakan waktu lama ketika dieksekusi. Untuk membuat berkas baru kita harus mencari di dalam direktori untuk meyakinkan bahwa tidak ada berkas yang bernama sama. Lalu kita tambahkan sebuah berkas baru pada akhir direktori. Untuk menghapus sebuah berkas, kita mencari berkas tersebut dalam direktori, lalu melepaskan tempat yang dialokasikan untuknya. Untuk menggunakan kembali suatu berkas dalam direktori kita dapat melakukan beberapa hal. Kita dapat menandai berkas tersebut sebagai tidak terpakai (dengan menamainya secara khusus, seperti nama yang kosong, atau bit terpakai atau tidak yang ditambahkan pada berkas), atau kita dapat menambahkannya pada daftar direktori bebas. Alternatif lainnya kita dapat menyalin ke tempat yang dikosongkan pada direktori. Kita juga bisa menggunakan linked list untuk mengurangi waktu untuk menghapus berkas. Kelemahan dari linear list ini adalah percarian searah untuk mencari sebuah berkas. Direktori yang berisi informasi sering digunakan, implementasi yang lambat pada cara aksesnya akan menjadi perhatian pengguna.

Faktanya, banyak sistem operasi mengimplementasikan ’software cache’ untuk menyimpan informasi yang paling sering digunakan. Penggunaan ’cache’ menghindari pembacaan informasi berulang-ulang pada disk. Daftar yang telah diurutkan memperbolehkan pencarian biner dan mengurangi waktu rata-rata pencarian. Bagaimana pun juga penjagaan agar daftar tetap terurut dapat merumitkan operasi pembuatan dan penghapusan berkas, karena kita perlu memindahkan sejumlah direktori untuk mengurutkannya. Tree yang lebih lengkap dapat membantu seperti B-tree. Keuntungan dari daftar yang terurut adalah kita dapatkan daftar direktori yang terurut tanpa pengurutan yang terpisah.

· Hash Table

Struktur data lainnya yang juga digunakan untuk direktori berkas adalah hash table. Dalam metode ini linear list menyimpan direktori, tetapi struktur data hash juga digunakan. Hash table mengambil nilai yang dihitung dari nama berkas dan mengembalikan sebuah penunjuk ke nama berkas yang ada di-linear list. Maka dari itu dapat memotong banyak biaya pencarian direktori. Memasukkan dan menghapus berkas juga lebih mudah dan cepat. Meski demikian beberapa aturan harus dibuat untuk mencegah tabrakan, situasi dimana dua nama berkas pada hash mempunyai tempat yang sama. Kesulitan utama dalam hash table adalah ukuran tetap dari hash table dan ketergantungan dari fungsi hash dengan ukuran hash table. Sebagai contoh, misalkan kita membuat suatu linear-probing hash table yang dapat menampung 64 data.

Fungsi hash mengubah nama berkas menjadi nilai dari 0 sampai 63. Jika kita membuat berkas ke 65 maka ukuran tabel hash harus diperbesar sampai misalnya 128 dan kita membutuhkan suatu fungsi hash yang baru yang dapat memetakan nama berkas dari jangkauan 0 sampai 127, dan kita harus mengatur data direktori yang sudah ada agar memenuhi fungsi hash yang baru. Sebagai alternatif dapat digunakan chained-overflow hash table, setiap hash table mempunyai daftar yang terkait (linked list) dari pada nilai individual dan kita dapat mengatasi tabrakan dengan menambah tempat pada daftar terkait tersebut. Pencarian dapat menjadi lambat, karena pencarian nama memerlukan tahap pencarian pada daftar terkait. Tetapi operasi ini lebih cepat dari pada pencarian linear terhadap seluruh direktori.

F Efisiensi dan Unjuk Kerja

Setelah kita membahas alokasi blok dan pilihan manajemen direktori maka dapat dibayangkan bagaimana efek mereka dalam keefisiensian dan unjuk kerja penggunaan disk. Hal ini dikarenakan disk selalu menjadi "bottle-neck" dalam unjuk kerja sistem.

(1) Efisiensi

Disk dapat digunakan secara efisien tergantung dari teknik alokasi disk serta algoritma pembentukan direktori yang digunakan. Contoh, pada UNIX, direktori berkas dialokasikan terlebih dahulu pada partisi. Walau pun disk yang kosong pun terdapat beberapa persen dari ruangnya digunakan untuk direktori tersebut. Unjuk kerja sistem berkas meningkat akibata dari pengalokasian awal dan penyebaran direktori ini pada partisi. Sistem berkas UNIX melakukan ini agar blok-blok data berkas selalu dekat dengan blok direktori berkas sehingga waktu pencariannya berkurang.

Ada pula keefesiensian pada ukuran penunjuk yang digunakan untuk mengakses data. Masalahnya dalam memilih ukuran penunjuk adalah merencanakan efek dari perubahan teknologi. Masalah ini diantisipasi dengan menginisialisasi terlebih dahulu sistem berkasnya dengan alasan keefisiensian.

Pada awal, banyak struktur data dengan panjang yang sudah ditentu kan dan dialokasi pada ketika sistem dijalankan. Ketika tabel proses penuh maka tidak ada proses lain yang dapat dibuat. Begitu juga dengan tabel berkas ketika penuh, tidak ada berkas yang dapat dibuka. Hal ini menyebabkan sistem gagal melayani permintaan pengguna. Ukuran tabel-tabel ini dapat ditingkatkan hanya dengan mengkompilasi ulang kernel dan boot ulang sistemnya. Tetapi sejak dikeluarkannya Solaris 2, hampir setiap struktur kernel dialokasikan secara dinamis sehingga menghapus batasan buatan pada unjuk kerja sistem.

(2) Kinerja

Ketika metode dasar disk telah dipilih, maka masih ada beberapa cara untuk meningkatkan unjuk kerja. Salah satunya adalah dengan mengguna kan cache, yang merupakan memori lokal pada pengendali disk, dimana cache cukup besar untuk menampung seluruh track pada satu waktu. Beberapa sistem mengatur seksi terpisah dari memori utama untuk disk-cache, yang diasumsikan bahwa blok-blok disimpan karena mereka akan digunakan dalam waktu dekat. Ada juga sistem yang menggunakan memori fisik yang tidak digunakan sebagai penyangga yang dibagi atas sistem halaman (paging) dan sistem disk-blok cache. Suatu sistem melakukan banyak operasi I/O akan menggunakan sebagian banyak memorinya sebagai blok cache, dimana suatu sistem mengeksekusi banyak program akan menggunakan sebagian besar memori-nya untuk ruang halaman.

Beberapa sistem mengoptimalkan disk-cache nya dengan menggunakan berbagai macam algoritma penempatan ulang (replacement algorithms), tergantung dari macam tipe akses dari berkas. Pada akses yang sekuen sial dapat dioptimasi dengan teknik yang dikenal dengan nama free-behind dan read-ahead. Free-behind memindahkan sebuah blok dari penyangga secepatnya ketika blok berikutnya diminta. Hal ini dilakukan karena blok sebelumnya tidak lagi digunakan sehingga akan membuang ruang yang ada di penyangga. Sedangkan dengan read ahead, blok yang diminta dan beberapa blok berikutnya dibaca dan ditempatkan pada cache. Hal ini dilakukan karena kemungkinan blok-blok berikutnya akan diminta setelah blok yang sedang diproses. Hal ini juga mem beri dampak pada waktu yang digunakan akan lebih cepat.

Metode yang lain adalah dengan membagi suatu seksi dari memori untuk disk virtual atau RAM disk. Pada RAM disk terdapat operasi-operasi standar yang terdapat pada disk, tetapi semua operasi tersebut terjadi di dalam suatu seksi memori, bukan pada disk. Tetapi, RAM disk hanya berguna untuk penyimpanan sementara, karena jika komputer di boot ulang atau listrik mati maka isi dalam RAM disk akan terhapus.

Perbedaan antara RAM disk dan disk cache adalah dalam masalah siapa yang mengendalikan disk tersebut. RAM disk dikendalikan oleh peng guna sepenuhnya, sedangkan disk cache dikendalikan oleh sistem operasi.

G Recovery

Karena semua direktori dan berkas disimpan di dalam memori utama dan disk, maka kita perlu memastikan bahwa kegagalan pada sistem tidak menyebabkan hilangnya data atau data menjadi tidak konsiten.

i) Pemeriksaan Rutin

Informasi direktori pada memori utama pada umumnya lebih up to date daripada informasi yang terdapat di disk dikarenakan penulisan dari informasi direktori cached ke disk tidak langsung terjadi pada saat setelah peng-update-an terjadi. Consistency checker membandingkan data yang terdapat di struktur direktori dengan blok-blok data pada disk, dan mencoba memperbaiki semua ketidak konsistensian yang terjadi akibat crash-nya komputer. Algoritma pengalokasian dan management ruang kosong menentukan tipe dari masalah yang ditemukan oleh checker dan seberapa sukses dalam memperbaiki masalah-masalah tersebut.

ii) Back Up and Restore

Karena kadang-kadang magnetik disk gagal, kita harus memastikan bahwa datanya tidak hilang selamanya. Karena itu, kita menggunakan program sistem untuk mem-back up data dari disk ke alat penyimpanan yang lain seperti floopy disk, magnetic tape, atau optical disk. Pengembalian berkas-berkas yang hilang hanya masalah menempatkan lagi data dari back up data yang telah dilakukan.

Untuk meminimalisir penyalinan, kita dapat menggunakan informasi dari setiap masukan direktori berkas. Umpamanya, jika program back up mengetahui bahwa back up terakhir dari berkas sudah selesai dan penulisan terakhir pada berkas dalam direktori menandakan berkas tidak terjadi perubahan maka berkas tidak harus disalin lagi. Penjadualan back up yang umum sebagai berikut:

• Hari 1: Salin ke tempat penyimpanan back up semua berkas dari disk, disebut sebuah full backup.

• Hari 2: Salin ke tempat penyimpanan lain semua berkas yang berubah sejak hari 1, disebut incremental backup.

• Hari 3: Salin ke tempat peyimpanan lain semua berkas yang berubah sejak hari 2.

• Hari N: salin ke tempat penyimpanan lain semua berkas yang berubah sejak hari N-1, lalu kembali ke hari 1.

Keuntungan dari siklus backup ini adalah kita dapat menempatkan kembali berkas mana pun yang tidak sengaja terhapus pada waktu siklus dengan mendapatkannya dari back up hari sebelumnya. Panjang dari siklus disetujui antara banyaknya tempat penyimpanan backup yang diperlukan dan jumlah hari kebelakang dari penempatan kembali dapat dilakukan.

Ada juga kebiasaan untuk mem-backup keseluruhan dari waktu ke waktu untuk disimpan selamanya daripada media backupnya digunakan kembali. Ada bagusnya menyimpan backup-backup permanent ini di lokasi yang jauh dari backup yang biasa, untuk menghindari kecelakaan seperti kebakaran dan lain-lain. Dan jangan menggunakan kembali media backup terlalu lama karena media tersebut akan rusak jika terlalu sering digunakan kembali.

BAB II

MACAM-MACAM SISTEM BERKAS

A. Sistem Berkas Pada Windows

a. Direktori dan Berkas

Sistem operasi Windows merupakan sistem operasi yang telah dikenal luas. Sistem operasi ini sangat memudahkan para penggunanya dengan membuat struktur direktori yang sangat user-friendly. Para pengguna Windows tidak akan menemui kesulitan dalam menggunakan sistem direktori yang telah dibuat oleh Microsoft. Windows menggunakan sistem drive letter dalam merepresentasikan setiap partisi dari disk. Sistem operasi secara otomatis akan terdapat dalam partisi pertama yang diberi label drive C. Sistem operasi Windows dibagi menjadi dua keluarga besar, yaitu keluarga Windows 9x dan keluarga Windows NT (New Technology).

Direktori yang secara otomatis dibuat dalam instalasi Windows adalah:

1 Direktori C:\WINDOWS

Direktori ini berisikan sistem dari Windows. Dalam direktori ini terdapat pustaka-pustaka yang diperlukan oleh Windows, device driver, registry, dan program-program esensial yang dibutuhkan oleh Windows untuk berjalan dengan baik.

2 Direktori C:\Program Files

Direktori ini berisikan semua program yang diinstal ke dalam sistem operasi. Semua program yang diinstal akan menulis entry ke dalam registry agar program tersebut dapat dijalankan dalam sistem Windows.

3 Direktori C:\My Documents

Direktori ini berisikan semua dokumen yang dimiliki oleh pengguna sistem.

Sistem operasi Windows dapat berjalan diatas beberapa macam sistem berkas. Setiap sistem berkas memiliki keunggulan dan kekurangan masing-masing. Semua keluarga Windows yang berbasis Windows NT dapat mendukung sistem berkas yang digunakan oleh keluarga Windows 9x, namun hal tersebut tidak berlaku sebaliknya.

Sistem Berkas yang terdapat dalam sistem operasi Windows adalah:

-FAT 16: Sistem berkas ini digunakan dalam sistem operasi DOS dan Windows 3.1

-FAT 32: Sistem ini digunakan oleh keluarga Windows 9x.

-NTFS: Merupakan singkatan dari New Technology File System. Sistem berkas ini adalah sistem berkas berbasis journaling dan dapat digunakan hanya pada keluarga Windows NT. Keunggulan dari sistem berkas ini adalah fasilitas recovery yang memungkinkan dilakukannya penyelamatan data saat terjadi kerusakan pada sistem operasi.

B. Sistem Berkas pada UNIX (dan turunannya)

Ketika kita login ke UNIX, kita akan ditempatkan di direktori root kita. Direktori root kita dikenal sebagai direktori home kita dan dispesifikasi dengan environment variable yang dinamakan HOME. Environment variable ini menentukan karakteristik dari shell kita dan interaksi pengguna dengan shell tersebut. Environment variable yang umum adalah variabel PATH, yang mendefinisikan dimana shell akan mencari ketika perintah dari pengguna. Untuk melihat daftar environment variable, gunakan saja perintah printenv. Sedangkan untuk mengatur environment variable, gunakan setenv.

Ada beberapa direktori yangumum terdapat dalam instalasi UNIX:

1 Direktori "/" (root)

Direktori ini terletak pada level teratas dari struktur direktori UNIX. Biasanya direktori root ini diberi tanda / atau slash. Direktori ini biasanya hanya terdiri dari direktori-direktori lainnya yang terletak pada level dibawah level direktori root. Berkas-berkas dapat disimpan pada direktori root tetapi usahakan tidak menyimpan berkas-berkas biasa sehingga direktori ini tetap terjaga keteraturannya.

Perubahan penamaan direktori-direktori yang ada pada direktori root akan menyebabkan sebagian besar dari sistem menjadi tidak berguna. Karena sebagian besar dari direktori-direktori ini berisi fungsi-fungsi yang sifatnya kritikal yang dimana sistem operasi dan semua aplikasi memerlukan direktori-direktori ini dengan nama yang sudah diberikan pada awal instalasi. Tetapi kita bisa membuat direktori lain pada level ini. Direktori home juga bisa ditemukan pada level ini hasil pembuatan oleh administrator sistem.

2 Direktori "/bin"

Direktori ini berisi program-program yang esensial agar sistem operasi dapat bekerja dengan benar. Dalam direktori ini dapat ditemukan perintah-perintah navigasi, program-program shell, perintah pencarian dan lain-lainnya. bin adalah singkatan dari kata binary. Di UNIX, sebuah binary adalah berkas yang dapat dieksekusi. Sebagian besar dari perintah dalam UNIX merupakan binary, perintah-perintah tersebut merupakan program-program kecil yang dapat dieksekusi oleh pengguna.

Ada beberapa perintah yang disebut perintah built-in dimana fungsi mereka dikendalikan oleh program shell sehingga mereka tidak beroperasi sebagai binary yang terpisah.

Terkadang direktori bin terhubung ke direktori lain yang dinamakan /usr/bin. Direktori /usr/bin biasanya adalah lokasi sebenarnya dari binary-binary pengguna disimpan.Dalam hal ini, /bin adalah gerbang untuk mencapai /usr/bin.

3 Direktori "/dev"

Direktori ini berisi berkas-berkas alat atau alat I/O. Sistem UNIX menganggap semua hal sebagai berkas. Hal-hal seperti monitor, CD-ROM, printer dan lain-lainnya dianggap hanya sebagai berkas saja oleh sistem operasi. Jika UNIX memerlukan perangkat-perangkat tersebut maka UNIX akan mencarinya ke direktori dev.

4 Direktori "/etc"

Direktori yang dibaca et-see ini berisi beberapa konfigurasi berkas pengguna dan sistem, dan berkas yang ditunjuk sistem sebagai operasi normal seperti berkas kata sandi, pesan untuk hari ini, dan lain-lainnya.

5 Direktori "/lib"

Direktori ini berisi pustaka-pustaka (libraries) yang dibagi (shared). Pustaka ini adalah rutin perangkat lunak (software routines) yang digunakan lebih dari satu bagian dari sistem operasi. Ketika kita menginstalasi perangkat lunak yang baru maka ada pustaka-pustaka baru yang ditambahkan ke direktori lib. Jika pada waktu berusaha menjalankan aplikasi terdapat pesan error, hal ini diakibatkan ada pustaka yang hilang dari direktori lib. Aplikasi-aplikasi di UNIX biasanya memeriksa lib ketika menginstalasi untuk memeriksa apakah pustaka-pustaka yang diperlukan oleh aplikasi sudah tersedia atau belum. Jika sudah tersedia, UNIX biasanya tidak menimpa pustaka tersebut.

6 Direktori "/sbin"

Direktori ini berisi binary-binary juga seperti pada direktori bin.Tetapi,bedanya adalah binary-binary pada direktori ini berhubungan dengan fungsi-fungsi sistem administrasi pada sistem operasi UNIX. Binary-binary ini bukan yang biasa digunakan oleh pengguna tetapi digunakan agar komputer dapat beroperasi secara efisien.

7 Direktori "/usr"

Direktori ini terdiri dari banyak direktori seperti pada direktori root. Direktori ini berisi berkas-berkas yang dapat diakses oleh para pengguna biasa. Struktur dari direktori ini mirip dengan struktur direktori "/". Beberapa direktori yang terdapat dalam direktori ini berhubungan dengan direktori yang ada di direktori /.

8 Direktori "/var"

Direktori ini berisi data yang bermacam-macam (vary). Perubahan data dalam sistem yang aktif sangatlah cepat. Data-data seperti ini ada dalam waktu yang singkat. Karena sifatnya yang selalu berubah tidak memungkinkan disimpan dalam direktori seperti "/etc". Oleh karena itu, data-data seperti ini disimpan di direktori var.

C. Perbandingan antara Windows dan UNIX

Sistem berkas UNIX berbeda dengan sistem berkas Windows (DOS) karena 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. Contohnya adalah nama folder dalam adalah perubahan dari directory 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. 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 tidak case 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 letter mana suatu berkas berada sehingga seluruh sistem seperti satu sistem berkas yang berurutan dari direktori root menurun secara hierarki.

D. Macam-macam Sistem Berkas di UNIX

Secara garis besar, sistem berkas di sistem UNIX terbagi menjadi dua, yaitu sistem berkas dengan fasilitas journaling dan yang tidak memiliki fasilitas tersebut. Dibawah ini adalah beberapa sistem berkas yang digunakan dalam sistem UNIX pada umumnya:

1. EXT2

2. EXT3

3. JFS (Journaling File System)

4. ReiserFS

5. Dan Lain-lain.