Minggu, 31 Maret 2013

Sistem Berkas



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.
  1. 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.
  1. 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:
  1. FAT 16: Sistem berkas ini digunakan dalam sistem operasi DOS dan Windows 3.1
  2. FAT 32: Sistem ini digunakan oleh keluarga Windows 9x.
  3. 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.
  4.  
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 yang umum 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.
  1. 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.
  1. 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.
  1. 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.
  1. 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 bia

Kesimpulan

Sistem berkas merupakan mekanisme penyimpanan on-line serta untuk akses, baik data mau pun program yang berada dalam Sistem Operasi. Terdapat dua bagian penting dalam sistem berkas, yaitu:
1.      Kumpulan berkas, sebagai tempat penyimpanan data, serta
2.      Struktur direktori, yang mengatur dan menyediakan informasi mengenai seluruh berkas dalam sistem.
Berkas adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder. Atribut berkas terdiri dari:
1.      Nama; merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa dibaca oleh manusia (human-readable form)
2.      Type; dibutuhkan untuk sistem yang mendukung beberapa type berbeda
3.      Lokasi; merupakan pointer ke device dan ke lokasi berkas pada device tersebut
4.      Ukuran (size); yaitu ukuran berkas pada saat itu, baik dalam byte, huruf, atau pun blok
5.      Proteksi; adalah informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis, dan mengeksekusi berkas
6.      Waktu, tanggal dan identifikasi pengguna; informasi ini biasanya disimpan untuk:
- pembuatan berkas
- modifikasi terakhir yang dilakukan pada berkas, dan
- modifikasi terakhir yang dilakukan pada berkas, dan
- modifikasi terakhir yang dilakukan pada berkas, dan
- penggunaan terakhir berkas
Operasi Pada Berkas
1.      Membuat sebuah berkas.
2.      Menulis pada sebuah berkas.
3.      Membaca sebuah berkas.
4.      Menempatkan kembali sebuah berkas.
5.      Menghapus sebuah berkas.
6.      Memendekkan berkas.
Metode Akses
1.      Akses Berurutan.
2.      Akses Langsung.
3.      Akses menggunakan Indeks.
Operasi Pada Direktori
Operasi-operasi yang dapat dilakukan pada direktori adalah:
1.      Mencari berkas.
2.      Membuat berkas.
3.      Menghapus berkas.
4.      Menampilkan isi direktori.
5.      Mengganti nama berkas.
6.      Melintasi sistem berkas.
Macam-macam Direktori
1.      Direktori Satu Tingkat.
2.      Direktori Dua Tingkat.
3.      Direktori Dengan Struktur "Tree".
4.      Direktori Dengan Struktur "Acyclic-Graph".
5.      Direktori Dengan Struktur Graph.
Metode Alokasi Berkas
1.      Alokasi Secara Berdampingan (Contiguous Allocation).
2.      Alokasi Secara Berangkai (Linked Allocation).
3.      Alokasi Dengan Indeks (Indexed Allocation).
Manajemen Free Space
1.      Menggunakan Bit Vektor.
2.      Linked List.
3.      Grouping.
4.      Counting.
Implementasi Direktori
1.      Linear List.
2.      Hash Table.
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 Documents
Sistem Berkas yang terdapat dalam sistem operasi Windows adalah:
1.      FAT 16
Sistem berkas ini digunakan dalam sistem operasi DOS dan Windows 3.1
2.      FAT 32
Sistem ini digunakan oleh keluarga Windows 9x
3.      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.
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.
5.      Dan Lain-lain.

  1. Keterangan
EXT2 adalah file sistem yang ampuh di linux. EXT2 juga merupakan salah satu file sistem yang paling ampuh dan menjadi dasar dari segala distribusi linux. Pada EXT2 file sistem, file data disimpan sebagai data blok. Data blok ini mempunyai panjang yang sama dan meski pun panjangnya bervariasi diantara EXT2 file sistem, besar blok tersebut ditentukan pada saat file sistem dibuat dengan perintah mk2fs. Jika besar blok adalah 1024 bytes, maka file dengan besar 1025 bytes akan memakai 2 blok. Ini berarti kita membuang setengah blok per file.
EXT2 mendefinisikan topologi file sistem dengan memberikan arti bahwa setiap file pada sistem diasosiasiakan dengan struktur data inode. Sebuah inode menunjukkan blok mana dalam suatu file tentang hak akses setiap file, waktu modifikasi file, dan tipe file. Setiap file dalam EXT2 file sistem terdiri dari inode tunggal dan setiap inode mempunyai nomor identifikasi yang unik. Inode-inode file sistem disimpan dalam tabel inode. Direktori dalam EXT2 file sistem adalah file khusus yang mengandung pointer ke inode masing-masing isi direktori tersebut.
Gambar 7-3. Struktur Sistem Berkas EXT2. Sumber: . . .
http://ikc.dinus.ac.id/umum/ibam/ibam-os-html/img/gbr207.png
  1. Inode dalam EXT2
Gambar 7-4. Inode Sistem Berkas EXT2. Sumber: . . .
http://ikc.dinus.ac.id/umum/ibam/ibam-os-html/img/gbr307.png
Inode adalah kerangka dasar yang membangun EXT2. Inode dari setiap kumpulan blok disimpan dalam tabel inode bersama dengan peta bit yang menyebabkan sistem dapat mengetahui inode mana yang telah teralokasi dana inode mana yang belum. MODE: mengandung dia informasi, inode apa dan izin akses yang dimiliki user. OWNER INFO: user atau grop yang memiliki file atau direktori SIZE: besar file dalam bytes TIMESTAMPS: kapan waktu pembuatan inode dan waktu terakhir dimodifikasi. DATABLOKS: pointer ke blok yang mengandung data.
EXT2 inode juga dapat menunjuk pada device khusus, yang mana device khusus ini bukan merupakan file, tatapi dapat menangani program sehingga program dapat mengakses ke device. Semua file device di dalam drektori /dev dapat membantu program mengakses device.
  1. Superblok dalam EXT2
Superblok mengandung informasi tentang ukuran dasar dan bentuk file sistem. Informasi di dalamnya memungkinkan file sistem manager untuk menggunakan dan merawat file sistem. Biasanya, hanya superblok di blok group 0 saat file sistem di-mount tetapi setiap blok grup mengandung duplikatnya untuk menjaga jika file sistem menjadi rusak. Informasi yang dikandung adalah:
    1. Magic Number
meyakinkan software bahwa ini adalah superblok dari EXT2 file sistem.
    1. Revision Level
menunjukkan revisi mayor dan minor dari file sistem.
    1. Mount Count dan Maksimum Mount Count
menunjukkan pada sistem jika harus dilakukan pengecekan dan maksimum mount yang diijikan sebelum e2fsck dijalankan.
    1. Blocks per Size
besar blok dalam file sistem, contohnya 1024 bytes.
    1. Blocks per Group
benyaknya blok per group.
    1. Block Group Number
nomor blok group yang mengadung copy dari superblok.
    1. Free Blocks
banyaknya blok yang kosong dalam file sistem.
    1. Free Inode
banyak inode kosong dalam file sistem.
    1. First Inode
nomor inode dalam inode pertama dalam file sistem, inode pertama dalam EXT2 root file sistem adalah direktori "/".
Sistem Berkas EXT3
EXT3 adalah peningkatan dari EXT2 file sistem. Peningkatan ini memiliki beberapa keuntungan, diantaranya:
  1. Setelah kegagalan sumber daya, "unclean shutdown", atau kerusakan sistem, EXT2 file sistem harus melalui proses pengecekan dengan program e2fsck. Proses ini dapat membuang waktu sehingga proses booting menjadi sangat lama, khususnya untuk disk besar yang mengandung banyak sekali data. Dalam proses ini, semua data tidak dapat diakses.
Jurnal yang disediakan oleh EXT3 menyebabkan tidak perlu lagi dilakukan pengecekan data setelah kegagalan sistem. EXT3 hanya dicek bila ada kerusakan hardware seperti kerusakan hard disk, tetapi kejadian ini sangat jarang. Waktu yang diperlukan EXT3 file sistem setelah terjadi "unclean shutdown" tidak tergantung dari ukuran file sistem atau banyaknya file, tetapi tergantung dari besarnya jurnal yang digunakan untuk menjaga konsistensi. Besar jurnal default memerlukan waktu kira-kira sedetik untuk pulih, tergantung kecepatan hardware.
  1. Integritas data
EXT3 menjamin adanya integritas data setelah terjadi kerusakan atau "unclean shutdown". EXT3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
  1. Kecepatan
Daripada menulis data lebih dari sekali, EXT3 mempunyai throughput yang lebih besar daripada EXT2 karena EXT3 memaksimalkan pergerakan head hard disk. Kita bisa memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin.
  1. Mudah dilakukan migrasi
Kita dapat berpindah dari EXT2 ke sistem EXT3 tanpa melakukan format ulang.

Reiser file sistem memiliki jurnal yang cepat. Ciri-cirinya mirip EXT3 file sistem. Reiser file sistem dibuat berdasarkan balance tree yang cepat. Balance tree unggul dalam hal kinerja, dengan algoritma yang lebih rumit tentunya.
Reiser file sistem lebih efisien dalam pemenfaatan ruang disk. Jika kita menulis file 100 bytes, hanya ditempatkan dalam satu blok. File sistem lain menempatkannya dalam 100 blok. Reiser file sistem tidak memiliki pengalokasian yang tetap untuk inode. Resier file sistem dapat menghemat disk sampai dengan 6 persen.
X file sistem juga merupakan jurnaling file sistem. X file sistem dibuat oleh SGI dan digunakan di sistem operasi SGI IRIX. X file sistem juga tersedia untuk linux dibawah lisensi GPL. X file sistem mengunakan B-tree untuk menangani file yang sangat banyak. X file sistem digunakan pada server-server besar.
Sistem Berkas Proc Proc File Sistem menunjukkan bagaimana hebatnya virtual file sistem yang ada pada linux. Proc file sistem sebenarnya tidak ada secara fisik, baik subdirektorinya, mau pun file-file yang ada di dalamnya. Proc file sistem diregister oleh linux virtual file sistem, jika virtual file sistem memanggilnya dan meminta inode-inode dan file-file, proc file sistem membuat file tersebut dengan informasi yang ada di dalam kernel. Contohnya, /proc/devices milik kernel dibuat dari data struktur kernel yang menjelaskan device tersebut.
Shareable dan Unshareable
  1. Shareable
Isinya dapat dishare (digunakan bersama) dengan sistem lain, gunanya untuk menghemat tempat.
  1. Unshareable
Isinya tidak dapat dishare(digunakan bersama) dengan sistem lain, biasanya untuk alasan keamanan.
Variabel dan Statik
  1. Variabel
Isinya sering berubah-ubah.
  1. Statik
Sekali dibuat, kecil kemungkinan isinya akan berubah. Bisa berubah jika ada campur tangan sistem admin.

Konsep Manajemen Proses Sistem Operasi Symbian
2.5 Manajemen Proses
Proses merupakan unit memori yang terproteksi, sedangkan Thread merupakan unit eksekusi. Satu proses tidak dapat mengakses secara langsung memori dari proses lain, kecuali dibuat memori yang global. Setiap aplikasi dan server di symbian mempunyai prosesnya sendiri-sendiri, tetapi user juga dapat membuat proses baru. Se
mua proses dapat mengakses share library dan sistem ROM. Dalam mode user, dapat dibuat 4 prioritas proses, yaitu:
  1. EPriorityLow=150
  2. EPriorityBackground=250
  3. EPriorityForeground=350
  4. EPriorityHigh=450
Prioritas tersebut digunakan untuk menghitung keseluruhan prioritas sebuah thread yang dibuat dalam proses. Developer dapat juga menggunakan nilai absolut prioritas dalam hal ini prioritas proses tidak digunakan. Ada 5 level prioritas yang tersedia untuk thread yang dieksekusi di mode user, yaitu:
  1. EpriorityMuchLess
  2. EpriorityLess
  3. EpriorityNormal
  4. EpriorityMore
  5. EPriorityMuchMore
Kernel mempunyai prioritas tertinggi untuk proses dan thread. Thread dijadwalkan berdasar pada prioritasnya atau round robin jika thread mempunyai prioritas yang sama. Penjadwalan bersifat preemptive yang berarti yang mempunyai prioritas tinggi dapat menginterupsi thread yang lebih rendah. Pada beberapa kasus preemptive multitasking tidak diperlukan, dan dapat digantikan dengan multitasking yang cooperative yaitu prinsip active object. Seperti telah disebutkan diatas ada dua mode eksekusi yaitu user mode dan kernel mode. Kernel mode mempunyai prioritas yang tertinggi dibandingkan proses dan thread dalam user mode. Kedua mode tersebut diatur dalam dua library yaitu EUser dan EKern. Kedua library tersebut menyediakan kumpulan servis-servis untuk aplikasi. EUser digunakan untuk menangani proses dan thread, manajemen memori, active object, dan sebagainya. EKern digunakan untuk mengakses device driver dan sebagainya.
2.6 Manajemen Memori
Setiap proses harus mempunyai setidaknya satu thread. Proses yang kosong tidak dapat dieksekusi, tetapi thread dapat dieksekusi. Thread yang baru dibuat dengan fungsi Create(), dimana prototipenya sebagai berikut:
  1. TInt Create ( const TDesC& aName, TThreadFunction aFunction, TInt
  2. aStackSize, TInt aHeapMinSize,TInt aHeapMaxSize,
  3. TAny *aPtr, TOwnerType aType=EOwnerProcess);
Untuk membuat thread diperlukan memori stack sebesar 8kB defaultnya, sedangkan untuk memori heap minimum 256Bytes sampai batas maksimum memori yang tersedia. Ketika thread dibuat, chunk memori baru dialokasikan untuk thread tersebut. Chunk merupakan area memori di virtual memori yang mempunyai alamat yang berdekatan. Secara fisik, chunk terdiri atas alokasi memori yang dibutuhkan tergantung pada arsitektur, 4kB jika pada arsitektur ARM. Bagian bawah dari chunk adalah stack dan diatasnya adalah heap. Stack selalu tumbuh kebawah, jadi tidak akan pernah mencapai memori heap. Heap dapat dishare antara thread dengan menggunakan versi fungsi Create() yang berbeda. Heap dan stack memainkan peranan yang berbeda dalam penyimpanan object yang dibuat dan data yang lain. Yang harus diperhatikan dalam penggunaan stack adalah stack mudah terjadi overflow. Semua alokasi di stack secara otomatis di hapus ketika tidak lagi dibutuhkan, namun untuk object yang dialokasikan di heap harus ada pointer untuk mengalokasikannya dan untuk menghapusnya. Class RHeap memberikan beberapa fungsi untuk menghitung banyaknya alokasi di heap atau menentukan keseluruhan yang teralokasi di heap. Semua object yang berada dalam heap harus mempunyai tipe class C, yang berarti berasal dari turunan kelas yang umum yaitu CBase. Semua yang berasal dari CBase dapat ditaruh dalam cleanup stack dan dihapus dengan fungsi PopAndDestroy(). Dapat juga digunakan User::Alloc() untuk melakukan alokasi di memori heap. Dikarenakan heap tidak secara otomatis dilakukan proses penghapusan, maka ada resiko heap akan menyebabkan memori leak. Untuk itu dalam Symbian OS digunakan cleanup stack untuk menyimpan variabel secara otomatis menangani penghapusannya sehingga tidak terjadi memori leak.
2.7 Manajemen I/O
Dalam permasalahan input dan output, baik itu berupa keyboard input, pointer input, dan I/O request yang lain, semua berjalan dalam mode asynchronous yang diberikan oleh asynchronous service providers. Symbian OS memberikan mekanisme yang mudah untuk menggunakan asynchronous service tersebut. Ada 2 level asynchronous yaitu: Low-level dan High-level asynchronous. Pada low-level, asynchronous service provider memberikan servis dengan fungsi request dan cancel. Status request akan disimpan kedalam request status, dan service provider akan memberikan signal bahwa request telah selesai dengan menggunakan thread request semaphore. Pada high-level, menggunakan active scheduler yang melakukan wait loop yang digunakan dalam multiple asynchronous, dan active object yang melakukan fungsi request dan cancel, sekaligus menangani penyelesaian permintaan.
2.8 Komunikasi
Ponsel tidak akan bermakna tanpa ada pertukaran informasi, untuk melakukan hal tersebut diperlukan suatu teknologi komunikasi, baik berupa teknologi telephony maupun teknologi pertukaran data yang lain. Struktur microkernel Symbian OS mempunyai efek terhadap arsitektur komunikasi. Service komunikasi harus melewati sistem server, yang melakukan penambahan atau pengurangan tergantung perangkat keras yang didukung oleh smartphone. Arsitektur komunikasi terdiri atas server komunikasi dan modul tambahan. Modul tambahan dapat ditambah dan dibuang kapanpun pada saat runtime tanpa harus melakukan rebooting

Tidak ada komentar:

Posting Komentar