Kelp 2
Kelp 2
File system atau manajemen file adalah metode dan struktur data yang digunakan sistem operasi
untuk mengatur dan mengorganisir file pada disk atau partisi. File system juga dapat diartikan
sebagai partisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara
memberi suatu file system ke dalam disk atau partisi dengan cara melakukan Format
Dapat mengurangi resiko kehilangan file yang dikarenakan: terhapus secara tidak disengaja,
tertimpa file baru, tersimpan dimana saja, dan hal lain yang tidak kita inginkan
Pengelolaan file adalah kumpulan perangkat lunak sistem yang menyediakan layanan
berhubungan dengan penggunaan file ke pemakai dan / atau aplikasi.
Biasanya satu-satunya cara pemakai atau aplikasi mengakses file adalah lewat sistem. Pemakai
atau pemrogram tidak perlu mengembangkan perangkat lunak khusus untuk mengakses data di
tiap aplikasi. Sistem pun menyediakan pengendalian terhadap aset penting ini.
Struktur linux atau struktur direktori linux tidak hanya menyangkut perangkat lunak saja tetapi
juga menyangkut perangkat keras, yang menyatakan bagian fisik dari system komputer seperti :
Unit system, consol, terminal, printer dan jalur komunikasi.
Struktur linux yang menyangkut perangkat lunak terdiri dari :
1. Kernel
2. Shell
3. Utilitas
4. Aplikasi
1
Kernel merupakan bagian utama ( inti ) dari system linux, yang mengendalikan secara langsung
perangkat- perangkat keras dan menampilkan berbagai bentuk fungsi bertingkat rendah.
Beberapa fungsi yang dilakukan kernel yaitu:
Shell adalah penerjemah (interpreter ) pada system linux. Shell inilah yang menerjemahkan
perintah-perintah yang diberikan user, dengan kata lain shell adalah antar muka antara user
dengan system linux.
Utilitas adalah program yang disediakan linux untuk melaksanakan tugas tertentu. Sedangkan
Aplikasi adalah program yang dibuat oleh pemakai untuk memenuhi kebutuhannya sendiri.
C. Manajemen Memori
2
Manajemen Memori Berdasarkan Alokasi memori
Terdapat 2 (dua) cara menempatkan informasi ke dalam memori kerja, yaitu:
c. Penggunaan memori
Pencocokan ukuran informasi ke penggalan memori kerja disebut sebagai fit
Bagian dari memori kerja yang tidak terpakai dan letaknya tersebar di banyak wilayah memori
kerja disebut sebagai fragmen Peristiwa terjadinya fragmen disebut fragmentasi
3
Cocok pertama berdaur (cyclical first fit)
Pencocokan tidak harus dimulai dari urutan penggalan memori yang pertama, tetapi dapat
dilakukan setelah terjadi pencocokan sebelumnya.
Cocok terbaik (best fit)
Pencocokan dilakukan sesuai dengan penggalan memori yang ukurannya pas.
Cocok terburuk (Worst fit)
Informasi akan menempati penggalan yang ukurannya terbesar.
e. Fragmentasi
Menurut prosesnya terdapat dua macam fragmentasi :
1. Fragmentasi internal
Kelebihan memori pada penggalan memori ketika penggalan memori itu menerima penggalan
informasi yang berukuran kurang dari ukuran penggalan memori.
2. Fragmentasi Ekternal
Penggalan memori bebas yang ukurannya terlalu kecil untuk dapat menampung penggalan
informasi yang akan dimuat ke penggalan memori itu.
Contoh : Proses
4
D. Manajemen memori berdasarkan keberadaan swapping atau paging
Terbagi dua yaitu :
Monoprogramming, ciri-cirinya:
- Hanya satu proses pada satu saat
- Hanya satu proses menggunakan semua memori
- Pemakai memuatkan program ke seluruh memori dari disk atau tape
- Program mengambil kendali seluruh mesin
Terbagi dua :
- Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah
sama
- Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah
berbeda
5
Satu Antrian Untuk Tiap Partisi (banyak antrian Untuk Seluruh Partisi) . Keuntungan :
Meminimalkan pemborosan memori
Kelemahan : Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi - partisi lain
kosong
Swapping : pemindahan proses dari memori utama ke disk dan kembali lagi.
1. Multiprogramming dengan Pemartisisan Dinamis
Jumlah , lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
Kelemahan:
- Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai.
- Merumitkan alokasi dan dealokasi memori
2. Pencatatan Pemakaian memori
- Pencatatan memakai peta bit (Bit Map)
- Pencatatan memakai linked list
6
1. Teknik Bit Vektor
Teknik bit vector menggunakan satu bit untuk menyatakan kosong tidaknya setiap alamat
blok media penyimpanan. Blok yang kosong ditandai dengan angka 1 dan blok yang ada isinya
ditandai dengan angka 0. Posisi bit menyatakan alamat atau nomor blok Jumlah bit = jumlah
blok logika media penyimpan Contoh: 0100100, ini berarti blok yang kosong adalah blok ke 1
dan 4.
Kelebihan:
Pencarian ruang kosong secara cepat
Relatif sederhana dan efisien untuk mencari blok pertama yang kosong atau berturut-turut n blok
yang kosong pada disk
Kekurangan:
1. Butuh ruang tambahan untuk pencatatan bit-vector.
Contohnya:
Ukuran blok = 212 byte,
ukuran disk = 230 byte (1 gigabyte),
maka ruang untuk vektor bit = 230 /212 bit = 218 (32Kb)
2. Bit vector tidak efisien kecuali seluruh vector 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.
3. Dengan menggunakan vektor bit bias terjadi kesalahan dimana bit[i] = 1 pada memory dan
bit[i] = 0 pada disk. Untuk mencegah terjadinya perbedaan ini, maka pada saat pengalokasian
suatu ruang kosong untuk suatu berkas dilakukan cara berikut:
set bit[i] = 0 pada disk
alokasikan blok[i]
set bit[i] = 0 pada memory
2. Linked-List
Menggunakan blok-blok kosong di media penyimpan untuk menyimpan pointer atau
alamat blok kosong berikutnya. Menyimpan pointer ke blok pertama yang kosong di tempat yang
7
khusus pada disk dan menyimpannya di memori. Blok kosong pertama pointer ke blok kosong
kedua, dan blok kosong kedua pointer ke blok ketiga yang kosong. Blok kosong terakhir akan
mencatat pointer yang tidak valid sebagai penanda akhir blok yang kosong
Contoh :
kita akan menyimpan pointer ke blok ke 1 sebagai blok kosong pertama, blok 1 akan menyimpan
pointer keblok 3, yang akan menunjuk ke blok 3, blok 3 akan menyimpan pointer keblok 4 dan
seterusnya
Kelebihan:
Menghemat penggunaan ruang khusus
Kelemahan:
1) Jika terjadi kerusakan pada salah satu blok kosong, maka pengelolaan ruang kosong menjadi
terganggu.
2) Pengalokasian sejumlah blok kosong ke berkas relative lebih lambat karena untuk melintasi
daftar ini kita perlu membaca tiap blok.
3) Sulit untuk mendapatkan ruang kosong berurutan dengan mudah.
3. Grouping
Mengumpulkan informasi alamat blok kosong ke blok kosong pertama. Alamat blok
kosong pertama perlu di catat secara khusus pada struktur SO.Jika blok telah terisi, maka akan
dihapus dari blok alamat kosong
4. Counting
Memperhitungkan rangkaian blok-blok kosong yang kontinu sebagai suatu segmen.
Setiap segmen di catat alamat blok kosong pertamanya dan jumlah blok kosong yang
mengikutinya. Informasi segmen dicatat pada tabel khusus.
E. IMPLEMENTASI DIREKTORI
Sebelum sebuah berkas dapat dibaca, berkas tersebut harus dibuka terlebih dahulu. Saat
berkas tersebut dibuka, sistem operasi menggunakan path name yang dimasukkan oleh pengguna
untuk mengalokasikan direktori entri yang menyediakan informasi yang dibutuhkan untuk
8
menemukan block disk tempat berkas itu berada. Tergantung dari sistem tersebut, informasi ini
dapat berupa alamat disk dari berkas yang bersangkutan (contiguous allocation), nomor dari blok
yang pertama (keduaskema linked list), atau nomor dari inode.
Dalam semua kasus, fungsi utama dari direktori entri adalah untuk memetakan nama
ASCII dari berkas yang bersangkutan kepada informasi yang dibutuhkan untuk mengalokasikan
data.
Masalah berikutnya yang kemudian muncul adalah dimana atribut yang dimaksud akan
disimpan. Kemungkinan paling nyata adalah menyimpan secara langsung di dalam direktori
entri, dimana kebanyakan system menggunakannya. Untuk sistem yang menggunakan inodes,
kemungkinan lain adalah menyimpan atribut ke dalam inode, selain dari direktori entri. Cara
yang terakhir ini mempunyai keuntungan lebih dibandingkan menyimpan dalam direktori entri.
Cara pengalokasian direktori dan pengaturan direktori dapat meningkatkan efisiensi, performa
dan kehandalan. Ada beberapa macam algoritma yang dapat digunakan.
1. Algoritma Linear List
Metode paling sederhana.Menggunakan nama berkas dengan penunjuk ke data blok.
Proses:
Mencari (tidak ada nama berkas yang sama).
Menambah berkas baru pada akhir direktori.
Menghapus (mencari berkas dalam direktori dan melepaskan tempat yang dialokasikan).
Penggunaan suatu berkas:
Memberi tanda atau menambahkan pada daftar direktori bebas.
Kelemahan:
Pencarian secara linier (linier search) untuk mencari sebuah berkas, sehingga implementasi
sangat lambat saat mengakses dan mengeksekusi berkas.
Solusi:
Linked list dan Software Cache
2. Algoritma Hash Table
Linear List menyimpan direktori entri, tetapi sruktur data hash juga digunakan.
Proses:
Hash table mengambil nilai yang dihitung dari nama berkas dan mengembalikan sebuah
penunjuk ke nama berkas yang ada di linier list.
9
Kelemahan:
Ukuran tetap
Adanya ketergantungan fungsi hash dengan ukuran hash table
Alternatif:
Chained-overflow hash table yaitu setiap hash table mempunyai linked list dari nilai individual
dan crash dapat diatasi dengan menambah tempat pada linked list tersebut. Namun penambahan
ini dapat memperlambat.
10