Filesystem
File system adalah sebuah proses yang mengelola bagaimana dan dimana sebuah data di storage disk, biasanya
hard disk, itu disimpan dan di kelola. Filesystem sendiri adalah sebuah komponen logical disk yang mengelola operasi internal dari
sebuah disk karena ia berhubungan dengan komputer dan abstract ke manusia.
File
File adalah sebuah tempat penyimpanan sebuah data yang ada di operating system. File sendiri bisa dianalogikan sebagai sebuah map,
karena file sendiri bisa berisi apa saja yang kita inginkan. Contohnya gambar, dokumen, dan lain lain
User Space
User space adalah sebuah sistem memori yang di alokasikan untuk menjalankan aplikasi.
Kernel Space
Kernel space adalah sebuah tempat dimana core dari operating system berjalan dan melakukan tugasnya, disini user tidak bisa
mengganggu.
Freespace Management
Sebuah filesystem bertanggung jawab untuk mengalokasikan setiap blok yang kosong ke sebuah file, maka dari itu ia harus terus melacak setiap blok yang kosong yang ada
di disk. Biasanya ada 2 cara untuk me manage blok kosong di sebuah disk yaitu : bit vector dan linked list.
FUSE
FUSE atau kepanjangan dariFile System in User Space adalah sebuah software interface untuk Unix atau Operating sistem yang mirip
unix yang membiarkan user biasa membuat file system mereka sendiri tanpa mengedit kode kernel. Ini bisa dilakukan dengan cara
me run kode file system yang ada di user space sementara modul FUSE hanya menjadi jembatan ke interface kernel.
Terdiri dari modul kernel (fuse.ko), sebuah userspace library(libfuse.*) dan sebuah mount utility (fusermount).
Directory Implementation
Directory Implementation memiliki 2 algoritma yang dapat digunakan :(i)Linear List :Method termudah untuk mengimpelementasi sebuah directory adalah dengan menggunakan linear list dari nama file dengan pointer ke blok data.
method ini mudah tetapi memakan waktu.(ii)Hash Table : Dengan method ini sebuah linear list menyimpan directory entries, tetapi sebuah struktur data hash juga digunakan.
hash table mengambil value yang dikomputasi dari nama file dan mengembalikan pointer ke nama file di linear list. dengan begitu waktu eksekusinya cepat.
Pemilihan algoritma alokasi direktori dan manajemen direktori secara signifikan dapat mempengaruhi efisiensi, kinerja, serta performance pada file system. Algoritma implementasi direktori diklasifikasikan menurut struktur data yang digunakan.
Allocation Method
Terdapat 3 buah metode alokasi. Ada indexed, Linked list, dan Contiguous. adapun penjelasan dari setiap metode berikut adalah :
(i)Indexed Allocation, ketika kita memperhatikan mengenai Linked Allocation, bahwa alokasi tersebut dapat menyelesaikan masalah
fragmentasi eksternal dan deklarasi ukuran dari Contiguous Allocation. Tetapi, jika kita tidak terdapat FAT, Linked Allocation
tidak dapat mendukung akses langsung yang efisien, karena pointer ke blok tersebar dengan blok itu sendiri di seluruh disk dan
harus diambil secara berurutan. Indexed Allocation memecahkan masalah ini dengan menyatukan semua penunjuk kedalam satu lokasi,
yaitu blok indeks. Setiap file memiliki blok indeksnya sendiri, yang merupakan array dari alamat blok penyimpanan.
(ii)Linked Allocation, meetode ini bisa menyelesaikan masalah alokasi yang berdekatan, dimana setiap file adalah daftar blok
penyimpanan yang dikaitkan, blok dapat tersebar. Direktori berisi penunjuk ke blok pertama dan terakhir pada file.
(iii)Contiguous Allocation, metode ini membuat setiap file menempati sekumpulan blok yang berdekatan pada suatu perangkat.
Alamat perangkat menentukan pengurutan linear pada perangkatnya.
wget
dari yang saya tangkap adalah wget sendiri adalah sebuah cara untuk mengambil sebuah file dari suatu raw file dan menaruhnya di komputer
kita sendiri, mirip seperti download. wget ini banyak mempermudah saya ketika mengerjakan tugas week3 kemarin
Tar
tar adalah sebuah command untuk meng compress atau meng decompress suatu file yang ada di linux, tugasnya mirip dengan winrar di windows