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:
- 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.
- 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.
- 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.
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:
- 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.
- 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.
- 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.
- 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.
- 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 DirektoriOperasi-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 WindowsDirektori 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.
- 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: . . .
Gambar 7-4. Inode Sistem Berkas EXT2. Sumber: . . .
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.
- 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:
- Magic Number
meyakinkan software bahwa ini adalah superblok dari
EXT2 file sistem.
- Revision Level
menunjukkan revisi mayor dan minor dari file sistem.
- Mount Count dan Maksimum Mount Count
menunjukkan pada sistem jika harus dilakukan
pengecekan dan maksimum mount yang diijikan sebelum e2fsck dijalankan.
- Blocks per Size
besar blok dalam file sistem, contohnya 1024 bytes.
- Blocks per Group
benyaknya blok per group.
- Block Group Number
nomor blok group yang mengadung copy dari superblok.
- Free Blocks
banyaknya blok yang kosong dalam file sistem.
- Free Inode
banyak inode kosong dalam file sistem.
- First Inode
nomor inode dalam inode pertama dalam file sistem,
inode pertama dalam EXT2 root file sistem adalah direktori "/".
EXT3 adalah peningkatan dari EXT2 file sistem.
Peningkatan ini memiliki beberapa keuntungan, diantaranya:
- 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.
- Integritas data
EXT3 menjamin adanya integritas data
setelah terjadi kerusakan atau "unclean shutdown". EXT3 memungkinkan
kita memilih jenis dan tipe proteksi dari data.
- 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.
- 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
- Shareable
Isinya dapat dishare (digunakan
bersama) dengan sistem lain, gunanya untuk menghemat tempat.
- Unshareable
Isinya tidak dapat dishare(digunakan
bersama) dengan sistem lain, biasanya untuk alasan keamanan.
Variabel dan Statik
- Variabel
Isinya sering berubah-ubah.
- 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:
- EPriorityLow=150
- EPriorityBackground=250
- EPriorityForeground=350
- 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:
- EpriorityMuchLess
- EpriorityLess
- EpriorityNormal
- EpriorityMore
- 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:
- TInt Create ( const TDesC& aName, TThreadFunction aFunction, TInt
- aStackSize, TInt aHeapMinSize,TInt aHeapMaxSize,
- 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