Rabu, 20 November 2019

Sistem Direktori dan Berkas | Sistem Operasi Modul 5

Tags

Dasar Teori

Direktori adalah komponen dari sistem berkas yang mengandung satu berkas atau lebih atau satu direktori lainnya atau lebih, yang disebut dengan subdirektori. Batasan jumlah berkas atau subdirektori yang dapat ditampung dalam sebuah direktori tergantung dari sistem berkas yang digunakan, meskipun sebagian sistem berkas tidak membatasinya (batasan tersebut disebabkan ukuran media penyimpanan di mana direktori berada).

Beberapa sistem komputer menyimpan banyak sekali berkas-berkas dalam disk, sehingga diperlukan suatu struktur pengorganisasian data-data agar lebih mudah diatur.

Silberschatz, Galvin dan Gagne mengkategorikan operasi-operasi terhadap direktori sebagai berikut:
1.    Mencari Berkas
Mencari lewat struktur direktori untuk dapat menemukan entri untuk suatu berkas tertentu. Berkas-berkas dengan nama yang simbolik dan mirip, mengindikasikan adanya keterkaitan diantara berkas-berkas tersebut.

2.    Membuat berkas
Berkas-berkas baru perlu untuk dibuat dan ditambahkan ke dalam direktori.

3.    Menghapus berkas
Saat suatu berkas tidak diperlukan lagi, berkas tsb perlu dihapus dari direktori.

4.    Menampillkan isi direktori
Menampilkan daftar berkas-berkas yang ada di direktori, dan semua isi direktori dari berkas-berkas dalam daftar tersebut.

5.    Mengubah nama berkas
Nama berkas mencerminkan isi berkas terhadap pengguna. Oleh karena itu, nama berkas harus dapat diubah-ubah ketika isi dan kegunaannya sudah berubah atau tidak sesuai lagi. Mengubah nama berkas memungkinkan posisinya berpindah dalam struktur direktori.

6.    Akses Sistem berkas
Mengakses tiap direktori dan tiap berkas dalam struktur direktori. Sangatlah dianjurkan untuk menyimpan isi dan stuktur dari keseluruhan sistem berkas setiap jangka waktu tertentu. Menyimpan juga dapat berarti menyalin seluruh berkas ke pita magnetik. Teknik ini membuat suatu cadangan salinan dari berkas tersebut jika terjadi kegagalan sistem atau jika berkas itu tidak diperlukan lagi. Sedangkan Tanenbaum juga menambahkan hal-hal berikut sebagai operasi yang dapat dilakukan terhadap direktori tersebut :
  • membuka direktori
  • menutup direktori
  • menambah direktori
  • mengubah nama direktori
  • menghubungkan berkas-berkas di direktori berbeda
  • menghapus hubungan berkas-berkas di direktori berbeda.

  • Macam-macam struktur direktori pada sistem berkas :
    1.    Direktori satu tingkat (Single Level Directory)
    Struktur Direktori ini merupakan struktur direktori yang paling sederhana. Semua berkas disimpan dalam direktori yang sama.

    Sistem Direktori dan Berkas | Sistem Operasi Modul 5

    Direktori satu tingkat memiliki keterbatasan, yaitu bila berkas bertambah banyak atau bila sistem memiliki lebih dari satu pengguna. Hal ini disebabkan karena tiap berkas harus memiliki nama yang unik.

    2.    Direktori dua tingkat (Two Level Directory)
    Pada direktori dua tingkat membuat direktori yang terpisah untuk tiap pengguna, yang disebut User File Directory (UFD). Ketika pengguna login, master directory berkas dipanggil. MFD memiliki indeks berdasarkan nama pengguna dan setiap entri menunjuk pada UFD pengguna tersebut. Maka, pengguna boleh memiliki nama berkas yang sama dengan berkas lain.
    Meskipun begitu, struktur direktori dua tingkat ini masih memiliki kerugian, terutama bila beberapa pengguna ingin mengerjakan tugas secara kerjasama dan ingin mengakses berkas dari salah satu pengguna lain. Beberapa sistem secara sederhana tidak mengizinkan berkas seorang pengguna diakses oleh pengguna lain.

    3.    Direktori dengan Struktur Tree
    Dalam struktur ini, setiap pengguna dapat membuat subdirektori sendiri dan mengorganisasikan berkas-berkasnya. Dalam penggunaan normal, tiap pengguna memiliki apa yang disebut direktori saat ini. Direktori saat ini mengandung berkas-berkas yang baru-baru ini digunakan oleh pengguna.

    4.    Direktori dengan Struktur Graf Asiklik (Acyclic structured Directory)
    Direktori dengan struktur tree melarang pembagian berkas/direktori. Oleh karena itu, struktur graf asiklik memperbolehkan direktori untuk berbagi berkas atau subdirektori. Jika ada berkas yang ingin diakses oleh dua pengguna atau lebih, maka struktur ini menyediakan fasilitas sharing.

    5. Direktori dengan Struktur Graf Umum
    Masalah yang timbul dalam penggunaan struktur graf asiklik adalah meyakinkan apakah tidak ada siklus. Bila kita mulai dengan struktur direktori tingkat dua dan memperbolehkan pengguna untuk membuat subdirektori, maka kita akan mendapatkan struktur direktori tree. Sangatlah mudah untuk mempertahankan sifat pohon, akan tetapi, bila kita tambahkan sambungan pada direktori dengan struktur pohon, maka sifat pohon akan musnah dan menghasilkan struktur graf sederhana.
    Bila siklus diperbolehkan dalam direktori, tentunya kita tidak ingin mencari sebuah berkas 2 kali. Algoritma yang tidak baik akan menghasilkan infinite loop dan tidak pernah berakhir. Oleh karena itu diperlukan skema pengumpulan sampah (garbagecollection scheme). Skema ini menyangkut memeriksa seluruh sistem berkas dengan menandai tiap berkas yang dapat diakses. Kemudian mengumpulkan apa pun yang tidak ditandai pada tempat yang kosong. Hal ini tentunya dapat menghabiskan banyak waktu.

    Setelah proses instalasi, Linux mencipatakan sistem file yang baku, terdiri atas direktori sebagai berikut :
    1.     /bin
    Berisi binari (program) atau aplikasi yang lebih umum dan dapat digunakan oleh semua user.seperti perintah ps, ls, ping, grep, cp).
    2.    /sbin
    Merupakan super binary’ (biner-binersistem yang penting), biasanya aplikasi-aplikasi bagi admin. umumnya dicadangkan untuk superuser, memuat perintah-perintah yang digunakan oleh super user seperti arp, halt, shutdown, route, swapon, iptables, reboot, fdisk, ifconfig
    3.    /home
    Merupakan direktori home bagi masing-masing user. Pengguna biasa dapat menulis file hanya dalam direktori mereka (/home). Keterbatasan ini melindungi sistem dari bermasalah aktivitas pengguna.)Direktori /home merupakan direktori yang paling ‘dekat’ dengan user. Direktori /home ini bisa berisi dari dokumen-dokumen pekerjaan user hingga file-file hiburan
    4.    /usr
    Merupakan direktori yang berisi aplikasi dan berkas yang tersedia untuk digunakan untuk pengguna (users)
    • / usr / bin (Direktori berisi program executable terinstal dengan distribusi Linux Anda. Hal ini untuk menampung ribuan program)
    • / usr / lib (shared library ini untuk program di / usr / bin)
    • / usr / local (Direktori di mana program yang tidak disertakan dengan distribusi Anda tetapi dimaksudkan untuk seluruh sistem penggunaan diinstal. Program disusun dari kode sumber biasanya dipasang di / usr / local / bin. Pada sistem Linux yang baru diinstal direktori ini ada tetapi akan kosong sampai administrator sistem menempatkan sesuatu di dalamnya.
    • / usr / sbin (Berisi program sistem administrasi lanjutan)
    • / usr / share (Derektori berisi semua data bersama yang digunakan oleh program di / usr / bin. Ini termasuk hal-hal seperti standar file konfigurasi, ikon, latar belakang layar, suara file, dll)
    • / usr / share / doc (Kebanyakan paket diinstal pada sistem akan mencakup beberapa jenis dokumentasi. Di / usr / share / doc, kita akan menemukan file dokumentasi yang diselenggarakan oleh paket)
    5.    /opt
    /Direktory tempat ter-install-nya aplikasi tambahan dan dapat di akses oleh semua user. Hal ini terutama digunakan untuk menyimpan produk perangkat lunak komersial yang dapat diinstal pada sistem Anda)

    6.     / (root)
    Merupakan root atau akar dari seluruh direktori global. Partisi dimana di letakkan / (root system) akan menjadi direktori sistem atau partisi pokok. Merupakan direktori home-nya superuser (root).

    7.    /tmp
    Merupakan singkatan dari temporer adalah direktori yang disediakan ketika dibutuhkan ruang sementara dalam melakukan pekerjaan, beberapa konfigurasi menyebabkan direktori ini harus dikosongkan setiap kali sistem reboot). Direktori /tmp memiliki mode yang sangat terbuka sehingga mudah untuk ditulisi oleh siapa saja. Didalam /var/tmp juga digunakan sebagai penyimpanan file-file sementara, bedanya /var/tmp dengan /tmp yaitu /var/tmp tidak akan dibersihkan saat system reboot.

    8.    /etc
    Direktori yang berisi semua seluruh sistem file konfigurasi. Segala sesuatu dalam direktori ini harus teks yang dapat dibaca. Contoh : /etc/resolv.conf, /etc/logrotate.conf)

    9.    /mnt
    Direktori yang berisi informasi device yang terpasang (mount) di dalam komputer). Pada Linux yang masih umum menggunakan kernel 2.4.x. Untuk tempat mengumpulkan mount point berada di /mnt. Dikarenakan pada sistem berbasis kernel 2.6.x sudah menggunakan /media, maka /mnt ini umumnya kosong. /mnt bisa juga dijadikan mount point pada saat system rescue atau troubleshooting.
    10.    /var
    Merupakan kependekan dari Variable Files. berisi berkas log dan database. berisikan file-file log sistem (/var/log), paket dan file database (/var/lib), email (/var /mail), print queues (/var/spool), lock files (/var/lock), temporary file yang dibutuhkan saat reboot (/var/tmp), dll). Sangat dianjurkan /var ini untuk diletakkan di partisi terpisah dikarenan direktori /var dapat membengkak dengan sangat cepat.

    11.    /boot
    Direktori boot tesimpan file-file boot loader diantaranya grub atau lilo. Juga berisi kernel Linux, RAM disk image awal (untuk driver yang diperlukan pada saat boot), dan boot loader. Menarik file:
    * / boot / grub / grub.conf atau menu.lst, yang digunakan untuk
    mengkonfigurasi boot loader
    * / boot / vmlinuz, kernel Linux)tempat penyimpanan berkas yang di perlukan untuk mem-boot computer
    /boot – file-file konfigurasi boot, kernel, dan file lain yang dibutuhkan ketika sistem booting

    12.    /sys
    Merupakan berkas sistem (system) mengandung informasi mengenai sistem. Berisi informasi yang berkaitan dengan kernel, device dan firmware.

    13.    /lib
    Merupakan pustaka-pustaka yang diperlukan oleh sistem. Di direktori ini juga tersimpan berbagai macam librari yang digunakan untuk aplikasi lain. Konsep penggunaan librari bersama ini membuat aplikasi di linux dapat menghemat ukuran.

    14.     /dev
    Berisi file-file device (divais) seperti /dev/tty, /dev/input/mice. Merupakan directory yang isi sebenarnya bukan benar-benar berisi file. Isi dari /dev ini berkaitan dengan perangkat-perangkat yang terdapat pada system. Misalkan untuk informasi port serial, port printer, dapat di berlakukan seperti membaca file. Misalkan perangkat serial terletak di /dev/tty01, kemudian partisi dalam harddisk di sebut sebagai /dev/sda7. dan lain sebagainya.

    15.     /media
    Merupakan direktori yang berisikan mount point untuk media removable seperti sebagai USB drive, CD-ROM, dll yang sudah terpasang secara otomatis pada saat Install. Pada distro-distro modern, sudah memberikan fasilitas untuk menampilkan device-device yang dimount ke depan Desktop. Sehingga pengguna tidak perlu susah-dan-repot menuju ke /media untuk dapat mengakses flash disk-nya tapi cukup lihat ke desktop-nya dan masuk ke direktori yang teerbuat baru di sana. Untuk workstation yang terintegrasi dengan jaringan, pada umumnya untuk melakukan mounting storage network juga diletakkan di /media. Dengan dikelompokkan seperti itu maka mudah untuk mengenali bahwa semua yang berada di dalam /media merupakan media penyimpan.

    16.     /proc
    Direktori dinamis khusus yang menangani informasi mengenai kondisi sistem, termasuk proses-proses yang sedang berjalan. Berisi informasi tentang proses sistem baik itu filesystem virtual dengan informasi teks tentang sumber daya sistem maupun berisi informasi tentang menjalankan proses.Contoh : /proc/{pid}, /proc/uptime). Isi dari /proc ini adalah infomasi dari sistem, tetapi jika kita mengubah isi informasi dari beberapa file /proc juga dapat mengubah sifat jalannya sistem.


    Praktikum
    Latihan 1 : dirktori
    1.    Melihat direktori HOME
    $ pwd
    $ echo
    $ HOME

    Sistem Direktori dan Berkas | Sistem Operasi Modul 5


    2.    Melihat direktori actual dan parent direktori.
    $ pwd
    $ cd .
    $ pwd
    $ cd ..
    $ pwd
    $ cd

    Sistem Direktori dan Berkas | Sistem Operasi Modul 5

    3.    Membuat suatu direktori, lebih dari satu direktori atau sub direktori
    $ pwd
    $ mkdir A B C A/D A/E B/F A/D/A
    $ ls -l
    $ ls –l A
    $ ls –l A/D
    $ cd
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5


    4.   Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya.
    $ rmdir B (Terdapat pesan error)
    $ ls –l B
    $ rmdir B/F B
    $ ls –l B (terdapat pesan error, mengapa?)

    Sistem Direktori dan Berkas | Sistem Operasi Modul 5

    5.     Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lain.
    $ pwd
    $ ls –l
    $ cd A
    $ pwd
    $ cd ..
    $ pwd
    $ cd /home/<user>/C
    $ pwd
    $ cd /<user>/C (Terdapat pesan error, mengapa?)
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5

    Latihan 2 : Manipulasi File
    1.     Perintah cp untuk mengkopi file atau seluruh direktori.
    $ cat > contoh
    Membuat sebuah file
    $ cp contoh contoh1
    $ ls –l
    $ cp contoh A
    $ ls –l A
    $ cp contoh contoh1 A/D
    $ ls –l A/D
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5

    2.      Perintah mv untuk memindahkan file
    $ mv contoh contoh2
    $ ls –l
    $ mv contoh1 contoh2 A/D
    $ ls –l A/D
    $ mv contoh contoh1 C
    $ ls –l A/D
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5

    3.    Perintah rm untuk menghapus file
    $ rmdir contoh2
    $ ls –l
    $ rm –I contoh
    $ rm –rf A C
    $ ls –l
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5


    Latihan 3 : Symbolic Link
    1. Membuat shortcut (file link)
    $ echo “Hallo apa kabar?” > halo.txt
    $ ls -l
    $ ln hallo.txt z
    $ ls -l
    $ cat z
    $ mkdir mydir
    $ ln z mydir/halo. juga
    $ cat mydir/halo. Juga
    $ ln –s z bye.txt
    $ ls –l bye.txt
    $ cat bye.txt
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5


    Latihan 4 : melihat isi file
    $ ls -l
    $ file halo.txt
    $ file bye.txt
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5

    Latihan 5 : Mencari file
    1.     Perintah find
    $ find /home –name “*.txt” –pront > myerror.txt
    $ cat myerror.txt
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5

    2. Perintah which
    $ which ls
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5

    2.    Perintah locate
    $ locate “*.txt”
    Sistem Direktori dan Berkas | Sistem Operasi Modul 5


    EmoticonEmoticon