Puji syukur alhamdulillah kami panjatkan ke hadirat Tuhan Yang Maha Esa,
karena telah melimpahkan rahmat-Nya berupa kesempatan dan pengetahuan
sehingga makalah ini bisa selesai pada waktunya. Terima kasih juga kami ucapkan
kepada teman-teman yang telah berkontribusi dengan memberikan ide-idenya
sehingga makalah ini bisa disusun dengan baik dan rapi. Kami berharap semoga
makalah ini bisa menambah pengetahuan para pembaca. Namun terlepas dari itu,
kami memahami bahwa makalah ini masih jauh dari kata sempurna, sehingga kami
sangat mengharapkan kritik serta saran yang bersifat membangun demi terciptanya
makalah selanjutnya yang lebih baik lagi.
1
Daftar Isi
Kata Pengantar...........................................................................................1
Daftar isi......................................................................................................2
Bab I Pendahuluan.....................................................................................3
Latar Belakang..................................................................................... 3
Rumusan Masalah................................................................................4
Tujuan...................................................................................................4
Kesimpulan...........................................................................................23
Saran....................................................................................................23
Daftar Pustaka............................................................................................24
2
BAB I
PENDAHULUAN
1. Latar Belakang
Media penyimpanan sekunder ini berbeda dengan media penyimpanan
primer (jenis storage device). Untuk media penyimpanan primer itu sendiri
contohnya adalah Memory atau RAM (Random Access Memory) yang fungsinya
adalah menyimpan data yang akan diartikan dan dieksekusi dengan prosesor. Nah
memory di sini seringkali kita kenal di PC (Personal Computer) adalah dalam bentuk
seperti PCB (Printed Circuit Board) kecil yang penuh dengan kombinasi kombinasi
elektro yang rumit di dalam nya. Bentuk seperti itu sering kita sebut saja dengan
RAM. Contoh RAM jaman sekarang adalah jenis DDR (Double Data Rate).
Di dalam sebuah komputer (PC) atau laptop, salah satu perangkat keras
(hardware) yang sangat berperan dalam kinerja dan performa komputer adalah
Memory atau RAM (gambar Figure 1). Data yang ada di RAM bisa diakses jauh lebih
cepat daripada yang ada di Secondary Storage Device (contohnya hardisk), untuk
DDR2 SDRAM saja bisa lebih cepat 40 sampai 100 kali dibanding akses ke hardisk,
dan untuk jenis DDR3 bisa 100 sampai 300 kali lebih cepat dibanding akses ke
hardisk ( sebagai gambaran, akses Hardisk SATA dalam dunia nyata sekitar 80-100
MB/s sedangkan USB 2.0 antara 10MB/s sampai 20 MB/s).
Walaupun kecepatan dari media penyimpanan sekunder kalah cepat dengan
media penyimpanan primer, media penyimpanan sekunder mampu menyimpan lebih
banyak data daripada media penyimpanan primer dengan biaya yang sama.
Misalnya adalah daftar harga yang bisa dilihat di www.enterkomputer.com, harga
dari Visipro SO-DIMM DDR3 PC10600 4GB (contoh media penyimpanan primer)
yang berkapasitas 4 GigaByte adalah Rp 463,000 (7/3/2014), sedangkan untuk
Seagate 250GB SATA3 (contoh media penyimpanan sekunder) yang berkapasitas
250 GigaByte adalah Rp. 485,000 (7/3/2014). Dengan harga yang hampir sama,
media penyimpanan sekunder kapasitasnya mengungguli jauh daripada kapasitas
media penyimpanan primer. Akan tetapi media penyimpanan sekunder bukan hanya
harddisk, contoh lainnya adalah jenis CD/DVD/BlueRay, mobile storage, tape, floppy
disk, ZIP disk, smart card, dan USB disk.
Kita lebih mengenal media penyimpanan sekunder, karena media
penyimpanan jenis ini sudah sering kita gunakan saat ini dan kita bias secara
langsung menyentuh maupun melihat nya. Contoh nya CD/DVD/BlueRay (gambar
Figure 2) yang berisi berbagai macam data/video/music (sering mendapat sebutan
dengan VCD untuk yang berisi video). Contoh lain yang sering kita gunakan adalah
USB Disk (gambar Figure 3). USB Disk seringkali kita sebut dengan sebutan flash
drive atau hanya dengan kata USB saja. Bentuk yang mungil dan kemampuan
menyimpan data cukup besar serta kemampuan mobilitas yang cukup tinggi,
membuat USB Disk cukup populer digunakan untuk menyimpan dan memindahkan
data antar computer.
3
2. Rumusan Masalah
3. Tujuan
4
BAB II
PEMBAHASAN
Media penyimpanan utama pada computer adalah memori. Proses yang akan
dieksekusi harus diletakkan baik sebagian ataupun seluruhnya pada memori.
Namun computer membutuhkan media penyimpanan sekunder selain memori. Hal
ini karena harga memori yang mahal. Selain itu, memori memiliki sifat volatile, yang
berarti isi memori akan hilang bila computer dimatikan, baik secara sengaja maupun
tidak sengaja.
Oleh sebab itu computer dilengkapi dengan media penyimpanan sekunder
yang bersifat non-volatile. Salah satunya adalah dalam bentuk disk magnetik. Pada
disk magnetic, system operasi bertugas untuk mengatur penyimpanan data dalam
dua tingkat. Pada tingkat rendah, system operasi akan mengatur jadwal request
untuk kegiatan baca dan tulis yang dikirimkan ke kontroler disk. Pada penyimpanan
tingkat tinggi, digunakan bentuk file system sebagai abstraksi disk.
5
Gambar 7.1 Komponen disk magnetic secara umum
Penggunaan disk melibatkan penempatan head pada posisi yang tepat yang
kemudian diikuti dengan transfer data. Waktu yang dibutuhkan untuk meletakkan
head pada posisi yang tepat meliputi dua komponen yaitu:
- Waktu car (seek time), yaitu waktu yang dibutuhkan untuk memindahkan
lengan pada silinder yang diinginkan.
- Waktu rotasi (rotational latency), yaitu waktu yang dibutuhkan oleh sektor
yang diinginkan untuk diletakkan di bawah head.
Alamat pada disk dianggap sebagai urutan linear dari blok-blok logika.
Sebuah blok dapat terdiri dari satu atau beberapa sektor. Blok merupakan satuan
terkecil untuk transfer data. Sektor 0 dianggap sebagai sektor pertama dari track
pertama yang terletak pada silinder terluar. Pemetaan dari blok logika ke disk
dilakukan secara berurutan yang dimulai dari track tersebut, kemudian track lainnya
pada silinder yang sama, kemudian track pada silinder berikutnya.
6
Misalkan terdapat sekumpulan antrian permintaan yang memerlukan pencarian pada
berikut:
98,183,37,122,14,124,65,67
Seandainya saat ini head sedang berada pada silinder 53, maka jumlah silinder
yang harus dilalui head adalah:
|98-53| + |183-98| + |37-183| + |122-37| + |14-122| + |124-14| + |65-124| + |67-
65| = 640
Algoritma SSTF ini menyerupai algoritma Shortest Job First (SJF) yang digunakan
pada penjadwalan CPU. Oleh sebab itu algoritma SSTF juga akan mengalami
masalah starvation. Permintaan-permintaan baru yang datang secara terus-menerus
dan melibatkan silinder yang dekat dengan posisi head saat itu akan selalu dilayani,
sehingga permintaan-permintaan sebelumnya yang melibatkan silinder-silinder yang
terletak jauh menjadi tidak terlayani.
SCAN/ C-SCAN
Pada algoritma Scan, lengan disk akan diletakkan pada satu ujung. Head
mula-mula akan bergerak ke satu arah hingga mencapai ujung disk. Setelah
mencapai ujung, head akan bergerak dalam arah yang berlawanan dengan arah
gerak mula-mula. Oleh sebab itu, algoritma ini disebut juga sebagai algoritma
elevator karena lengan disk bergerak seperti elevator. Algoritma ini mudah
diterapkan bila posisi pergerakkan head pada suatu saat diketahui.
Antrian permintaan : 98,183,37,122,14,124,65,67
Posisi awal : 53, bergerak menuju 0
Urutan layanan : 37,14,65,67,98,122,124,183,
Total jarak yang ditempuh : 16 + 23 + 14 + 65 + 2 + 31 + 24 + 2 + 59 = 236
7
Andaikan telah ada sekumpulan permintaan dengan nomor silinder yang
terdistribusi secara seragam. Ketika head mencapai ujung dan mengubah arah
geraknya, maka hanya aka nada sedikit permintaan untuk silinder yang berdekatan
dengan ujung tersebut (karena mereka baru saja dilayani). Akan terdapat lebih
banyak permintaan yang berada pada ujung disk lainnya (yang telah menunggu
lebih lama untuk dilayani). Kondisi ini adalah ide bagi algoritma C-Scan (Circular
Scan) di mana head segera kembali ke ujung disk awal setelah mencapai akhir
tanpa memberikan layanan I/O sepanjang jalan kembali ke awal.
LOOK/C-LOOK
Pada algoritma Scan dan C-Scan, lengan disk akan bergerak dari ujung disk
yang satu ke ujung disk yang lain. Lengan akan melalui seluruh area disk.
Pergerakan semacam ini tidaklah selalu diperlukan. Ide untuk algoritma Look dan C-
Look adalah sebagai berikut: Lengan hanya perlu bergerak sejauh permintaan akhir.
Setelah permintaan akhir dilayani, lengan dapat segera membalik arahnya tanpa
perlu melanjutkan gerakannya ke ujung disk.
Berdasarkan contoh sebelumnya, maka C-Look akan berbeda dari C-Scan dalam 3
hal:
- Pencarian 16 silinder, dari 183 ke 199 tidak diperlukan.
- Perjalanan balik akan melalui jarak 183-14=169 silinder dibandingkan 199.
- Pencarian 14 silinder dari awal disk adalah berlebihan.
Sebab itu diperoleh:
Jarak total = 12 + 2 + 31 + 24 + 2 + 59 + 169 + 23 = 322 silinder
8
mencari jadwal optimal ini akan memerlukan waktu yang lebih lama dibandingkan
penghematan waktu yang dapat diberikan algoritma optimal ini. Oleh sebab itu
penggunaan algoritma SSTF atau Scan secara langsung akan memberikan respons
yang lebih cepat.
Proses I/O pada disk sangat dipengaruhi oleh aktivitas pengguna dan
pengaturan penyimpanan pada disk. Cara bagaimana blok disk dialokasikan pada
file akan menentukan sifat antrian pada permintaan. Sebuah file yang memiliki blok-
blok yang letaknya berdekatan hanya akan memerlukan sedikit pergerakan head,
sedangkan file yang memiliki blok-blok yang letaknya terpencar akan memerlukan
gerakan head yang lebih banyak.
Waktu rotasi juga merupakan masalah penting yang akan membatasi, selain
waktu cari. Namun dalam algoritma penjadwalan, sistem operasi tidak dapat
memperhitungkan waktu rotasi karena alamat suatu blok tidak dapat memberikan
informasi lokasi fisik dari blok tersebut (ingat bahwa pemetaan alamat pada disk
dilakukan secara linear). Walaupun demikian, kini pabrik produsen disk mulai
menerapkan algoritma penjadwalan pada kontroler. Ketika sistem operasi
mengirimkan sederetan permintaan pada kontroler, maka kontroler dapat
menjadwalkan permintaan ini dengan algoritma yang dapat mengurangi waktu cari
dan waktu rotasi.
9
File system pada umumnya diperlukan dalam setiap partisi disk. Namun
terdapat kondisi di mana file system tidak diperlukan, misalnya ketika partisi
diperlakukan sebagai array yang berisi urutan blok-blok logika yang besar tanpa
menggunakan struktur file system. Array semacam ini disebut dengan raw I/O, dan
digunakan pada swap space. Contoh lainnya adalah pada Database Management
System (DBMS) di mana digunakan raw I/O sehingga DBMS dapat mengetahui
lokasi yang tepat di mana setiap record database disimpan.
7.1.4 Swap Space
Swap space adalah istilah lain untuk backing store.Swap space dapat
diletakkan pada file system dalam bentuk swap file atau dalam partisi disk yang
terpisah. Dengan menggunakan file system akan terjadi overhead yang cukup
signifikan. Overhead dapat dikurangi dengan menggunakan aplikasi yang
mengalokasikan swap file pada blok disk yang berdekatan. Lebih umum lagi, partisi
yang terpisah digunakan ketika tidak ada file system. Solaris dan Linux mengijinkan
pertukaran antara raw partition dan file system.
System UNIX mengijinkan lebih dari 1 partisi swap untuk didefinisikan. Partisi
ini dapat diletakkan pada disk yang terpisah untuk membagi beban paging dan
swapping pada lebih dari 1 alat I/O. Pada sistem 4.3 BSD UNIX, bagian dari swap
space akan dialokasikan kepada setiap proses ketika proses dimulai sehingga
segmen teks dan data dari proses akan ditangani secara terpisah. Alokasi swap
space dari blok disk ke setiap proses dapat diketahui melalui swap map.
10
7.2 Manajemen Penyimpanan Level Tinggi
7.2.1 File dan Direktori
Sistem operasi menyediakan manajemen dan abstraksi penyimpanan level
tinggi dengan menggunakan file. Setiap file menyimpan informasi yang memiliki
makna tertentu bagi penggunanya. File memiliki ruang alamat logik yang dianggap
letaknya berurutan, walaupun pada kenyataannya ruang alamat tidak perlu
berurutan (seperti alokasi proses pada memori). File memiliki berbagai nama, tipe
dan struktur. File dapat dibedakan menjadi dua macam. Pertama, file yang
mengandung karakter yang dapat dicetak (file teks). Kedua, file yang hanya terdiri
dari sekumpulan byte yang tidak bermakna bagi manusia (file biner).
File dapat diperlakukan sebagai deretan byte atau memiliki struktur
penyimpanan tertentu.Struktur penyimpanan yang dimaksudkan misalnya: file yang
terdiri atas baris-baris teks atau file yang memiliki ukuran record data tertentu.
Karakter kontrol khusus biasanya digunakan untuk membatasi struktur elemen yang
berbeda.
Sebuah file pada umumnya akan memiliki beberapa atribut:
- Ukuran file (jumlah byte),
- Waktu file diciptakan,
- Waktu akses terakhir,
- Waktu dilakukannya perubahan terakhir pada file,
- Informasi mengenai pengguna yang memiliki file,
- Informasi untuk proteksi, siapa yang berhak untuk membaca, menulis,
atau mengeksekusi file,
- Flag tersembunyi, menandakan apakah file akan ditampilkan pada
direktori,
- Flag sistem, menandakan apakah file tersebut penting bagi sistem
operasi.
Atribut file juga akan disimpann dalam struktur direktori pada disk. Pada UNIX,
direktori akan disimpan sebagai file. Sebuah direktori dapat memiliki file dan
subdirektori. UNIX mendukung struktur grafik asiklis (acyclic graph) di mana sebuah
direktori dapat memiliki subdirektorii dan file yang digunakan bersama-sama
antardirektori. Metode umum untuk mengimplementasikan penggunaan bersama
adalah dengan hubungan simbol (symbolic link) yang menunjuk pada file atau
direktori.
Contoh 7.1a Contoh program yang menggunakan file I/O dengan menggunakan
system call (dicetak tebal). Program di atas tidak efisien karena hanya mentransfer
sebuah byte setiap waktu.
13
Contoh 7.1b Program untuk menyalin data dalam potongan-potongan 1 KB sehingga
menggunakan system call yang lebih sedikit.
Namun masalah utama untuk alokasi ini adalah fragmentasi eksternal. Bila
ada file yang dihapus maka ruang disk yang dibebaskan kemungkinan tidak akan
cukup untuk file baru. Masalah kedua adalah ketika file diciptakan, ukuran file harus
diketahui terlebih dahulu untuk dapat meletakkan disk pada ruangan dengan ukuran
yang tepat.
Alokasi terhubung (linked allocation) memecahkan masalah ini. Pada
pendekatan ini. setiap file diimplimentasikan dengan menggunakan daftar blok-blok
disk yang berhubungan. Gambar 7.2 menunjukkan file foo.dat dengan lokasi blok
awal 9 dan blok akhir 25. Akses ke blok 9 menunjukkan bahwa blok berikutnya
adalah blok 16. dan seterusnya sampai blok 25 dijumpai. Karena setiap blok
berhubungan maka blok-blok dapat diletakkan tersebar pada disk. Dengan
pendekatan ini maka fragmentasi ekstemal tidak terjadi dan ukuran file dapat
ditambah tanpa masalah.
Walaupun demikian pendekatan ini tidak cocok untuk digunakan akses acak. Untuk
menemukan blok ke-i pada file maka pencarian harus dimulai dari blok pertama dan
mengikuti ptnunjuk sampai blok ke-i ditemukan. Hal ini akan memerlukan banyak
waktu. yaitu waktu pembacaan dari disk dan waktu untuk mencari penunjuk.
14
Masalah lainnya adalah berkurangnya ruang untuk melakukan penyinmanan karena
digunakan oleh penunjuk yang disimpan pada blok.
Bila ukuran blok adalah 512 byte dan 4 byte digunakan untuk pengalamatan,
maka hanya 508 byte yang dapat digunakan oleh pengguna. Sebanyak 0,78%
kapasitas disk tidak dapat digunakan untuk penyimpanan data. Salah satu solusi
untuk masalah ini adalah melakukan operasi pada beherapa blok (cluster) sekaligus
dan menggunakan hanya satu penunjuk untuk setup cluster. Hanya saja
penggunaan cluster akan meningkatkan fragmentasi internal.
Variasi lain dari alokasi tahubung yang digunakan path Windows 3.x/95/98
melibatkan penggunaan label alokasi 61c (File Allocation Table/FAT). Dengan
FAT, bagian awal setiap partisi akan digunakan untuk menyimpan tabel yang
memiliki sebuah entri untuk setiap blok. Entri untuk setiap file berisi informasi nomor
blok pertama yang digunakan oleh file.
Garnbar 7.3 memperlihatkan contoh implementasi FAT. File foo.txt memiliki
blok awal bernomor 217. Ketika di-indcks ke FAT, maka diketahui blok berikutnya
adalah blok 618 dan 339 (yang berisi blok terakhir dari file).
Kekurangan pada FAT terletak pada pencarian yang dilakukan oleh head bila
FAT tidak dimasukkan pada cache. Hal ini karena head harus digerakkan ke awal
partisi untuk membaca setiap entri pada FAT.
15
Gambar 7.3 Penggunaan tabel alokasi file
16
Gambar 7.4 Alokasi indeks untuk penyimpanan file
Alokasi indeks mendukung akses file secara acak tetapi akan menghabiskan
lebih banyak ruang daripada alokasi terhubung. Bayangkan sebuah file yang hanya
memiliki sebuah blok. Dengan alokasi terhubung, hanya dibutuhkan ruang
penyimpanan untuk 1 penunjuk (biasanya 4 byte). Dengan alokasi indeks maka
harus diciptakan seluruh blok indeks di mana hanya sebuah penunjuk yang
digunakan untuk file tersebut.
Oleh sebab itu diperlukan pertimbangan mengenai seberapa besar
seharusnya ukuran blok indeks. Karena setiap file nembutuhkan blok indeks maka
ukuran blok indeks harus kecil sehingga ruang disk yang tidak dapat digunakan
adalah sekecil mungkin. Namur bila ukuran blok indeks terlalu kecil maka blok
indeks tidak akan dapat menampung penunjuk untuk mereferensikan file yang
besar.
Sastem UNIX memecahkan masalah ini dengan menggunakan blok indeks
yang disebut inode yang terdiri dari beberapa penunjuk (pointer), misalkan saja 15
penunjuk. Dua belas penunjuk pertama akan menunjuk langsung pada blok disk,
sedangkan 3 blok lainnya digunakan untuk menunjuk pada blok tidak langsung
(indirect blocks) bila file memiliki lebih dart 12 blok. File berukuran kecil yang
memiliki kurang dari 12 blok dapat diberi alamat dengan menggunakan sebuah
inode. Penunjuk blok tunggal (single indirect block pointer) akan menunjuk pada blok
yang berisi alamat-alamat blok yang mengandung data. Penunjuk blok ganda
(double indirect block pointer) akan menunjuk pada blok yang berisi alamat blok
yang berisi penunjuk untuk blok yang memiliki data. Penunjuk blok tripel tidak
digunakan.
17
Gambar 7.5 Inode pada UNIX
18
Gambar 7.6 Dua pendekatan untuk peletakan inode pada file system
Susunan partisi Ext2 digambarkan pada Gambar 7.7. Partisi dibagi menjadi
sejumlah grup blok (block groups) yang memiliki satu silinder atau lebih. Setiap grup
blok dimulai dengan superblock yang berisi informasi tentang file system seperti
jumlah blok dan inode dan jumlah blok data yang tersedia. Informasi ini terdapat
pada setiap grup blok sehingga kerusakan pada sebuah sektor tidak menyebabkan
hilangnya informasi bagi seluruh partisi. Grup blok juga berisi peta/pola bit (bitmap)
19
yang menyimpan informasi mengenai alokasi blok dan inode pada grup. Bagian
partisi selanjutnya adalah inode untuk grup blok. Setelah itu, sisanya digunakan
untuk blok data.
Setiap inode pada Ext2 berukuran 128 byte. Kernel menggunakan struktur
data yang disebut ext2_inode untuk menyediakan representasi perangkat lunak bagi
informasi yang tersimpan pada inode disk. Terdapat pula struktur data yang Iebih
besar, yang disebut inode, untuk merepresentasikan file yang sedang dibuka.
Sebuah contoh yang telah disederhanakan untuk ext2_inode ditunjukkan pada
Contoh 7.2. Definisi Iengkap untuk contoh ini dapat dilihat pada file header yang
terletak pada /usr/include/linux/ext2_fs.h.
Tipc data u8, u16, dan u32 melambangkan tipe data unsigned char (sebuah
byte), unsigned short (integer 16 but), dan unsigned int (integer 32 bit). Mode
proteksi yang digunakan oleh field i_mode akan dibahas pada Bab 8. Array yang
berisi alamat blok, i_block, telah dibahas sebelumnya, yaitu 12 indeks pertama dari
array ini langsung menunjuk pada blok data. Sedangkan 3 indeks terakhir,
i_block[12], i_block(13], dan i_block[14] digunakan untuk penunjuk blok tunggal,
penunjuk blok ganda, dan penunjuk blok tripel.
Tiga field terakhir pada Contoh 7.2 menyediakan solusi untuk masalah
fragmentasi internal. Perlu diingat kemball bahwa masalah ini ditimbulkan karena
alokasi penyimpanan menggunakan blok-blok yang berukuran tetap. Ext2 dapat
mengurangi fragmentasi internal dengan membagi blok data menjadi fragmen-
fragmen yang Iebih kecil. Dengan demikian bagian akhir file (yang pada umumnya
memiliki ukuran lebih kecil dari ukuran blok) dapat dialokasikan hanya sejumlah
fragmen yang dibutuhkan. Fragmen untuk sebuah file harus terletak berurutan pada
blok yang sama. Dengan cara ini sebuah blok data dapat berisi fragmen-fragmen
dan beberapa file.
20
Contoh 7.2 Bagian struktur data untuk inode pada Linux Ext2
21
BAB III
PENUTUP
1. Kesimpulan
Dari pembahasan diatas dapat disimpulkan bahwa Memori Sekunder
(Secondary memori) adalah penyimpanan yang terpisah atau tidak berhubungan
langsung dengan Central Processing Unit (CPU). Memori sekunder digunakan untuk
menyimpan atau menampung data yang lebih besar dan permanen, bisa juga
dikatakan sebagai back-up dari memori utama. Memori sekunder juga disebut juga
penyimpanan external (External Storage). Memori sekunder bersifat non-volatile
artinya walaupun computer dimatikan, data-data yang disimpan di sarana
penyimpanan sekunder tidak hilang. Data disimpan dalam piringan-piringan
22
magnetik. Contoh perangkat yang termasuk kedalam memori sekunder diantaranya
ROM, disket, optical disk, pita magnetik, hardisk dan memori flash.
2. Saran
Untuk kemajuan teknologi memori maka diharapkan agar
perkembangan memori kedepan mampu mewujudkan sebuah memori yang
sesuai dengan kebutuhan dan pemakaian. Perkembangan teknologi
memori yang semakin efektif, efisien dan canggih sehingga tuntutan akan
kebutuhan memori dalam penggunaanya di komputer akan terpenuhi.
DAFTAR PUSTAKA
Sari,Riri Fitri & Yansen D. 2005. Sistem Operasi Modern. Yogyakarta: Andi
Publisher.
23