Pertemuan 15 - 16
A. PENGERTIAN MANAJEMEN
FILE
File System atau "Manajemen File" adalah
metode dan struktur data yang digunakan sistem operasi untuk mengatur dan
mengorganisasi file pada disk atau partisi. File sistem (
Manajemen File) juga dapat diartikan sebagai partisi atau
disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara memberi
suatu file sistem ke dalam disk atau partisi dengan cara melakukan format.
File mempunyai sifat sebagai berikut :
1. Persistence : Informasi dapat bertahan meski proses yang membangkit-kannya
berakhir atau catu daya dihilangkan. Dengan properti ini maka file dapat
digunakan untuk hasil-hasil yang diperoleh dari suatu proses dapat digunakan di
masa datang.
2. Size : File umumnya berukuran besar. Memungkinkan menyimpan infor¬masi yang
sangat disimpan
3. Sharability : File dapat digunakan banyak proses mengakses informasi
secara kongkruen.
B. SASARAN MANAJEMEN FILE
Pengelolaan file adalah kumpulan perangkat lunak sistem yang menyedia¬kan
layanan berhubungan dengan penggunaan file ke pemakai dan / atau aplikasi.
Biasanya 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. Sasaran sistem file adalah sebagai berikut :
1. Memenuhi kebutuhan manajemen data bagi pemakai
2. Menjamin data pada file adalah valid.
3. Optimasi kinerja
4. Menyediakan dukungan masukan/keluaran beragam tipe perangkat penyimpanan.
5. Meminimalkan atau mengeliminasi potensi kehilangan atau perusahaan data.
6. Menyediakan sekumpulan rutin interface masukan/keluaran.
7. Menyediakan dukungan masukan/keluaran banyak pemakai di sistem multiuser.
C. FUNGSI MANAJEMEN FILE
Beberapa fungsi yang diharapkan dari pengelolaan file adalah :
1. Penciptaan, modifikasi, dan penghapusan file
2. Mekanisme pemakaian file secara bersama
3. Kemampuan backup dan recovery untuk mencegah kehilangan karena kecelakaan
atau dari upaya penghancuran informasi.
4. Pemakai dapat mengacu file dengan nama simbolik (Symbolic name) bukan
menggunakanpenamaan yang mengacu perangkat fisik.
5. Pada lingkungan sensitif dikehendaki informasi tersimpan aman dan rahasia.
6. Sistem file harus menyediakan interface user-friendly.
D. ARSITEKTUR PENGELOLAAN FILE
Pengelolaan file, biasanya terdiri dari :
1. Sistem Akses : Berkaitan dengan bagaimana cara data yang disimpan pada file
diakses.
2. Manajemen file : Berkaitan dengan penyediaan mekanisme operasi pada file
seperti :--------Penyimpanan
-Pengacuan
-Pemakaian bersama
-Pengamanan
3. Manajemen Ruang Penyimpan: Berkaitan dengan alokasi ruang untuk file di
perangkat penyimpan.
4. Mekanisme Integritas File : Berkaitan dengan jaminan informasi pada file tak
terkorupsi.
Sistem File
Sistem File di Sistem Operasi
- Sistem file dasar
- Abstraksi File dan Direktori
- Operasi-operasi terhadap file dan Direktori
- Sistem Akses
Konsep terpenting dari pengelolaan file di sistem operasi
adalah :
• File Abstraksi penyimpanan dan pengambilan informasi di disk. Abstraksi ini
membuat pemakai tidak dibebani rincian cara dan letak penyimpanan informasi,
serta mekanisme kerja perangkat penyimpan data.
• Direktori
Berisi informasi mengenai file. Kebanyakan informasi
berkaitan dengan penyimpan. Direktori adalah file, dimiliki sistem operasi dan
dapat diakses dengan rutin di sistem operasi.Pemakai memanipulasi data merujuk
sebagai file atau direktori. Pemakai tidak dibebani dengan masalah penyimpanan,
manipulasi perangkat dan sebagainya.
File, Terhadap beragam pandangan mengenai file, yaitu :
a. Pemakai :Terhadap file pemakai berkepentingan memahami berikut :
- Penamaan untuk file
- Tipe file
- Atribut file
- Perintah-perintah untuk manipulasi file.
b. Pemrograman : Selain perlu memahami sebagai pemakai, pemrograman perlu
memahami:
- Operasi-operasi terhadap file
- Perancang,Implementasi pengelolaan file
c. Penamaan File :
Pemakai mengacu file dengan nama simbolik. Tiap file disistem harus mempunyai
nama unik agar tidak ambigu. Penamaan file dengan nama direktori tempat file
memberi nama unik. Tidak diperbolehkan nama file yang sama di satu direktori.
Penamaan file berbeda sesuai sistem. Terdapat dua pendekatan yaitu :
- Sistem yang case – sensitive
- Sistem case – intensive
Saat ini, penamaan cenderung dapat menggunakan nama file panjang karena
deskripsi.
Tipe File :
Terdapat tiga tipe di sistem operasi, yaitu :
1. File Reguler, File berisi informasi, terdiri dari file ASCII dan biner.
File ASCII berisi baris teks. File biner adalah file yang bukan file ASCII.
Untuk file biner eksekusi (exe) mempunyai struktur internal yang hanya
diketahui sistem operasi. Untuk file biner hasil program aplikasi, struktur
internalnya hanya diketahui program aplikasi yangmenggunakan file tersebut.
2. File Direktori
File direktori merupakan file yang dimiliki sistem untuk mengelola struktur
sistem file. File direktori merupakan file berisi informasi-informasi mengenai
file-file yang termasuk dalam direktori itu.
3. File Spesial
File spesial merupakan nama logik perangkat masukan/keluaran. Perangkat
masukan/keluaran dapat dipandang sebagai file. Pemakai dihindarkan dari
kerumitan operasi perangkat masukan/keluaran.
File spesial terbagi dua yaitu :
a. File spesial karakter
File spesial karakter berhubungan dengan perangkat masukan/keluaran aliran
karakter file ini memodelkan perangkat masukan/keluaran seperti:
•Terminal
•Printer
•Port jaringan
•Modem
•dan alat –alat yang bukan penyimpan sekunder
b. File spesial blok
File spesial blok berhubungan dengan perangkat masukan/keluaran sebagai
kumpulan blok-blok data (berorientasi blok)
E. ATRIBUT FILE
Informasi tambahan mengenai file untuk memperjelas dan membatasi
operasi-operasi yang dapat diterapkan. Atribut dipergunakan untuk pengelolaan
file.
Operasi pada file
Create : Menciptakan berkas
Delete : Menghapus berkas
Open : Membuka berkas untuk menyimpan proses selanjutnya
Close : Menutup berkas utuk menyimpan semua informasi ke berkas dan
mendealokasikan sumber daya yang digunakan
Read : Membaca data pada berkas
Write : Memodifikasi data pada berkas, yaitu pada posisi yang ditunjuk
Append : Menambah data pada berkas, merupakan operasi write yang
lebih spesifik, yaitu di akhir berkas
Seek : Mencari lokasi tertentu, hanya berlaku untuk berkas akses lacak
Get attributes : Membaca atribut-atribut berkas
Set attributes : Menuliskan (memodifikasi) atribut-atribut berkas
Rename : Mengganti nama berkas
Direktori
Direktori berisi informasi mengenai file. Direktori sendiri adalah file,
dimiliki oleh sistem operasi dapat diakses dengan rutin sistem operasi. Meski
beberapa informasi direktori tersedia bagi pemakai atau aplikasi, informasi itu
umumnya disediakan secara tidak langsung. Pemakai tidak dapat mengakses
direktori secara langsung meski dalam mode read-only.
Shared File
Shared file adalah file yang tidak hanya diacu oleh satu direktori (pemakai),
tapi juga oleh direktori-direktori (pemakai) lain. Sistem file tidak lagi
berupa pohon melainkan directed acyclic graph (DAG).
Masalah-masalah yang terdapat pada shared file adalah sebagai berikut :
- Metode implementasi shared file
- Metode pemberian hak akses pada shared file
- Metode pengendalian atau penanganan terhadap pengaksesan yang secara simultan
dilakukan pemakai-pemakai yang mengacu file. Persoalan pengaksesan simultan ini
menyangkut integritas atau kogerensi data.
Sistem Akses File
Sistem akses merupakan pilihan, yaitu :
- Dapat menjadi bagian dari sistem operasi atau
- Sistem operasi sama sekali tidak mempunyai komponen sistem akses.
Cara akses perangkat penyimpanan :
Perangkap penyimpanan berdasar disiplin pengaksesan dibagi dua, yaitu:
1. Perangkat akses sekuen (sequential access devices) merupakan akses
yang paling sederhana dan paling umum digunakan. Informasi di dalam berkas
diproses secara berurutan. Sebagai contoh, editor dan kompilator biasanya
mengakses berkas dengan cara ini. Proses harus membaca semua byte atau rekord
file secara berturutan mulai dari awal, tidak dapat meloncati dan membaca di
luar uraian.
2. Perangkat akses acak (random access devices) merupakan akses berkas
yang dibuat dari rekaman-rekaman logical yang panjangnya sudah ditentukan, yang
mengijinkan program untuk membaca dan menulis rekaman secara tepat tanpa urutan
tertentu.
F. ORGANISASI FILE
Elemen pokok perancangan sistem akses adalah cara rekord-rekord diorganisasikan
atau distrukturkan. Beberapa kriteria umum untuk pemilihan organisasi file
adalah :
1. Redundansi yang kecil
2. Pengaksesan yang cepat
3. Kemudahan dalam memperbaharui
4. Pemeliharaan yang sederhana
5. Kehandalan yang tinggi
Terdapat enam organisasi dasar, kebanyakan organisasi file
sistem nyata termasuk salah satu atau kombinasi kategori-kategori ini. Enam
organisasi atau pengaksesan dasar adalah sebagai berikut :
1. File pile (pile)
2. File sekuen (sequential file)
3. File sekuen berindeks (indexed-sequential file)
4. File berindeks majemuk (multiple-indexed file)
5. File ber-hash (hashed or direct file)
6. File cincin (multi ring file).
Terdapat beberapa metode alokasi antara lain alokasi berurutan (contiguous allocation),
alokasi berhubungan (linked allocation) dan alokasi berindeks (indexed
allocation).
• Alokasi Berurutan (Contiguous Allocation)
Pada alokasi berurutan, setiap file menempati sekumpulan blok yang
berurutan pada disk. Model ini sangat sederhana karena hanya membutuhkan lokasi
awal (block #) dan panjang (jumlah blok). Akses pada blok disk dilakukan secara
random dan memakan banyak ruang (permasalahan dynamic storage-allocation). File
yang disimpan secara berurutan tidak dapat berkembang. Beberapa sistem
file yang baru (misalnya Veritas File System) meng-gunakan skema alokasi
berurutan yang dimodifikasi. File sistem Extent-based mengalokasikan blok pada
disk secara berkembang (extent). Extent adalah blok berurutan pada disk. Extent
dialokasikan untuk alokasi file. Sebuah file terdiri dari satu atau lebih
extent.
• Alokasi Berhubungan (Linked Allocation)
Pada alokasi berhubungan, setiap file adalah sebuah linked list dari blok-blok
terpisah pada disk. Alokasi berhubungan mempunyai bentuk yang sederhana, hanya
memer-lukan alamat awal. Sistem manajemen ruang bebas pada alokasi berhubungan
tidak memakan banyak ruang. Model ini tidak menggunakan random access. Blok
yang diakses adalah blok ke-Q pada rantai link dari blok pada file. Perpindahan
ke blok = R + 1.
• Alokasi Berindeks (Indexed Allocation)
Pada alokasi berindeks, terdapat satu blok yang berisi pointer ke blok-blok
file. Alokasi berindeks berupa bentuk logika.
Pada alokasi berindeks, memerlukan tabel indeks yang membawa pointer ke
blok-blok file yang lain. Akses dilakukan secara random. Merupakan akses
dinamis tanpa fragmentasi eksternal, tetapi mempunyai blok indeks yang
berlebih. Pemetaan dari logika ke fisik dalam file ukuran maksimum 256K word
dan ukuran blok 512 word hanya memerlukan 1 blok untuk tabel
indeks. Apabila pemetaan dari logika ke fisik dalam sebuah file dari
ukuran tak hingga (ukuran blok adalah 512 word) maka digunakan skema
menghubungkan blok link dari tabel indeks (ukuran tak terbatas). Untuk ukuran
file maksimum 5123 digunakan skema two-level Pada skema two-level indeks
terdapat tabel indeks luar dan dalam. Indeks dipetakan ke tabel indeks luar
kemudian dipetakan ke tabel indeks dalam setelah itu mengakses blok file yang
dimaksud.
Pertemuan 17 - 18
Pengertian Management Input Output
Dalam sistem komputer
manajemen i/o sangat diperlukan karena i/o adalah sarana user untuk bisa
berkomunikasi dengan komputer. Contoh perangkat i/o seperti keyboard, mice,
audio controllers, video controllers, disk drives, networking ports, dll.
Manajemen i/o pun diperlukan agar user dapat langsung menggunakan perangkat i/o
tanpa harus menginialisasi terlebih dahulu. Oleh karena itu, dalam setiap
system operasi selalu terdapat i/o manager.
Beberapa fungsi management input
/output :
1. Mengirim perintah ke
perangkat input / output agar menyediakan layanan.
2. Menangani interupsi
perangkat input / output
3. Menangani kesalahan
perangkat input /output.
4. Menyediakan interface ke pemakai.
Teknik Management Input Output
I/O Terprogram
Pada I/O terprogram, data saling dipertukarkan antara CPU dan
modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU
secara langsung, seperti pemindahan data, pengiriman perintah baca maupun
tulis, dan monitoring perangkat.
Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O
selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih
cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan
interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya.
Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan
I/O Interrupt
Teknik interrupt – driven I/O memungkinkan proses tidak
membuang – buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada
modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan
eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai
menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU
bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah masih menjadi tanggung
jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi
perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu
CPU melakukan multitasking beberapa perintah sekaligus
sehingga tidak ada waktu tunggu bagi CPU. Teknik interrupt – driven I/O
memungkinkan proses tidak membuang buang waktu. Prosesnya adalah CPU
mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan
modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila
modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan
melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah masih menjadi tanggung jawab
CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah
tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU
melakukan multitasking beberapa perintah sekaligus sehingga
tidak ada waktu tunggu bagi CPU
Direct Memory Access
(DMA)
Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan
Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul
I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk
menangani transfer data bervolume besar dikembangkan
teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA).
Prinsip kerja DMA
adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan
terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir
proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak
terganggu dengan interupsi.
Komponen Management Input Output
a. Buffer : menampung
sementara data dari/ke perangkat I/O.
b. Spooling : melakukan
penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
c. Menyediakan
"driver" untuk dapat melakukan operasi "rinci" untuk
perangkat keras I/O tertentu.
Manajemen perangkat masukan/keluaran merupakan aspek perancangan sistem
operasi terluas dan kompleks karena sangat beragamnya perangkat dan
aplikasinya.
Pertemuan 19 - 20
A. Manajemen Memori
Konsep Dasar Memori
Memori adalah pusat dari operasi pada sistem komputer modern,
berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga
sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut
alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program
counter.
Sedangkan manajemen memori adalah suatu kegiatan untuk mengelola
memori komputer. Proses ini menyediakan cara mengalokasikan memori untuk proses
atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak lagi
diperlukan serta menjaga alokasi ruang memori bagi proses. Pengelolaan memori
utama sangat penting untuk sistem komputer, penting untuk memproses dan
fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung
sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak
dibatasi kapasitas memori fisik di sistem komputer (Eko, 2009).
Memory manager merupakan salah satu bagian sistem operasi yang
mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
Jenis Memori
a) Memori Kerja
b) ROM/PROM/EPROM/EEPROM
c) RAM
d) Cache memory
e) Memori Dukung
f) Floppy, harddisk, CD,
dll.
Alamat Memori
a) Alamat memori mutlak (alamat
fisik)
b) Alamat memori relatif (alamat
logika)
c) Hubungan antara alamat multak
dan alamat relatif
d) Jenis memori dan alamat memori
Isi Memori
a) Sistem bahasa penataolahan
b) Sistem Utilitas
c) Inti Sistem Operasi
d) Sistem Operasi
e) Pengendali alat (device
drivers)
f) File pemakai
Fungsi Manajemen
Memori
a) Mengelola informasi yang
dipakai dan tidak dipakai.
b) Mengalokasikan memori ke proses
yang memerlukan.
c) Mendealokasikan memori dari
proses telah selesai.
d) Mengelola swapping atau paging antara
memori utama dan disk.
Sistem operasi memberikan tanggapan terhadap manajemen memori
utama untuk aktivitas-aktivitas sebagai berikut:
a) Menjaga dan memelihara
bagian-bagian memori yang sedang digunakan dan dari yang menggunakan.
b) Memutuskan proses-proses mana
saja yang harus dipanggil kememori jika masih ada ruang di memori.
c) Mengalokasikan dan
mendelokasikan ruang memori jika diperlukan
Jenis-Jenis
Manajemen Memory
Manajemen Memory
Untuk Monoprogramming
Bila program komputer yang dijalankan hanya satu jenis selama
proses berlangsung maka dikatakan mode kerja komputer itu adalah
monoprogramming. Selama komputer itu bekerja maka memory RAM seluruhnya di
kuasai oleh program tersebut. Jadi RAM tidak dapat di masuki oleh program
lain. Mode serupa ini di temui pada komputer berbasis DOS.
Penempatan program di memory diatur sedemikain rupa
sehingga (Eko, 2009) :
a) BIOS selalu di ROM (BIOS)
b) Sistem Operasi di RAM
bawah (alamat rendah)
c) Program Aplikasi di RAM tengah
(alamat sesudah OS terakhir)
d) Data Sementara di RAM atas (alamat
sesudah Aplikasi terakhi).
Bila sistem operasi telah selasai dimuat maka
tampillah prompt di layar monitor, dan itu adalah tanda bahwa komputer siap
menerima program aplikasi. Letakkan disk yang berisi program aplikasi pada
diskdrive yang aktif lalu eksekusi , sehingga program itu termuat
seluruhnya ke RAM. Dengan demikian program aplikasi siap digunakan menurut semestinya.Kita lihat ketika komputer mula-mula dinyalakan
maka proses yang dibaca pertama kali adalah apa yang tertulis di dalam ROM.
Setelah semua perintah di adalam ROM BIOS selesai dibaca maka komputer meminta
kita memasukkan DOS ke dalam RAM-nya.Ketika DOS dibaca maka diletakkan sebagian
dari program DOS yang terpenting saja ke dalam RAM, seperti : COMMAND.COM dan INTERNAL COMMAND. Sedangkan program
DOS yang lain masih tetap di dalam disk dan apabila kita perlukan dapat di
eksekusi. Hal itu berguna untuk mrnjaga agar RAM tidak penuh oleh Sistem Operasi
saja.
Ketika kita bekerja dengan program aplikasi tasdi maka kita akan
menghasilkan data. Data itu akan di simpan sementara di RAM yang masih tersisa.
Data yang disimpan di RAM bersifat voletile, artinya data hanya bisa bertahan
selama catudaya komputer masih ON. Untuk berjaga-jaga biasakan menyimpan data
ke disk dalam jangka waktu yang tidak terlalu lama, misalnya setiap 5 menit
sekali. Selain menjaga data agar tidak amblas menyimpan ke disk bertujuan juga
untuk mengosongkan RAM agar tidak cepat penuh.
Didalam sistem juga dapat kita lihat
bahwa sistem operasi terletak berdekatan dengan program lain di RAM
sehingga kemungkinan sistem operasi ter ganggu atau terubah oleh proses yang
sedang berjalan sangat besar .Hal itu tidak boleh terjadi.Untuk mencegah
terganggu sitem operasi tersebut maka alamat tertinggi dari sistem operasi
dletakkan pada register batas dalam CPU. Jika ada proses yang mengacu ke alamat
itu atau yang lebih rendah dari itu maka proses di hentikan dan program akan
menampilkan pesan kesalahan.
Manajemen
Memory Untuk Multiprogramming
Untuk sistem komputer yang berukuran besar (bukan small
computers), membutuhkan pengaturan memori, karena dalam multiprogramming akan
melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat
lebih dari satu proses bersamaan. Oleh karena itu dibutuhkan sistem
operasi yang mampu mendukung dua kebutuhan tersebut, meskipun hal tersebut
saling bertentangan, yaitu (Ama, 2003) :
a) Pemisahan ruang-ruang alamat.
b) Pemakaian bersama memori.
Manajer memori harus memaksakan isolasi ruang-ruang alamat tiap
proses agar mencegah proses aktif atau proses yang ingin berlaku jahat
mengakses dan merusak ruang alamat proses lain. Manajer memori di lingkungan
multiprogramming sekalipun melakukan dua hal, yaitu :
a) Proteksi memori dengan isolasi
ruang-ruang alamat secara dis-joint.
b) Pemakaian bersama memori.
Memungkinkan proses-proses bekerja sama mengakses daerah memori
bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU dapat
ditingkatkan. Sebuah model untuk mengamati pemakaian CPU secara
probabilistic :
CPU utilization = 1 – p n
Dengan :
a) N menunjukkan banyaknya proses
pada suatu saat, sehingga kemungkinan bahwa semua n proses akan menunggu
menggunakan I/O (masalah CPU menganggur) adalah sebesar pn. Fungsi dari n
disebut sebagai degree of multiprogramming.
b) P menunjukkan besarnya
waktu yang digunakan sebuah proses
B. Strategi
Manajemen Memori
Strategi yang dikenal untuk mengatasi hal tersebut adalah memori
maya. Memori maya menyebabkan sistem seolah-olah memiliki banyak memori
dibandingkan dengan keadaan memori fisik yang sebenarnya. Memori maya tidak
saja memberikan peningkatan komputasi, akan tetapi memori maya juga memiliki
bberapa keuntungan seperti :
Large Address Space
Membuat sistem operasi seakan-akan memiliki jumlah memori
melebihi kapasitas memori fisik yang ada. Dalam hal ini memori maya memiliki
ukuran yang lebih besar daripada ukuran memori fisik.
Proteksi.
Setiap proses di dalam sistem memiliki virtual address space.
Virtual address space tiap proses berbeda dengan proses yang lainnya lagi,
sehingga apapun yang terjadi pada sebuah proses tidak akan berpengaruh secara
langsung pada proses lainnya
Memory Mapping
Memory mapping digunakan untuk melakukan pemetaan image dan
file-file data ke dalam alamat proses. Pada pemetaan memori, isi dari file akan
di link secara langsung ke dalam virtual address space dari proses.
Fair Physical Memory
Allocation
Digunakan oleh Manajemen Memori untuk membagi penggunaan memori
fisik secara “adil” ke setiap proses yang berjalan pada sistem.
Shared Virtual
Memory.
Meskipun tiap proses menggunakan address space yang berbeda dari
memori maya, ada kalanya sebuah proses dihadapkan untuk saling berbagi
penggunaan memori.
C. Ruang Alamat
Logika dan Fisik
Alamat Logika adalah alamat yg dibentuk di CPU, disebut juga
alamat virtual. Alamat fisik adalah alamat yang terlihat oleh memori. Untuk
mengubah dari alamat logika ke alamat fisik diperlukan suatu perangkat keras
yang bernama MMU (Memory Management Unit). Pengubahan dari alamat logika ke
alamat fisik adalah pusat dari manajemen memori. Alamat yang dibangkitkan oleh
CPU disebut alamat logika (logical address) dimana alamat terlihat sebagai uni
memory yang disebut alamat fisik (physical address). Tujuan utama manajemen
memori adalah konsep meletakkan ruang alamat logika ke ruang alamat fisik (Ama,
2003).
Hasil skema waktu kompilasi dan waktu pengikatan alamat pada
alamat logika dan alamat memori adalah sama. Tetapi hasil skema waktu
pengikatan alamat waktu eksekusi berbeda. dalam hal ini, alamat logika
disebut dengan alamat maya (virtual address). Himpunan dari semua alamat
logika yang dibangkitkan oleh program disebut dengan ruang alamat logika
(logical address space); himpunan dari semua alamat fisik yang berhubungan
dengan alamat logika disebut dengan ruang alamat fisik (physical address
space).
Memory Manajement Unit (MMU) adalah perangkat keras yang memetakan
alamat virtual ke alamat fisik. Pada skema MMU, nilai register relokasi
ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu
dikirim ke memori.
Register basis disebut register relokasi. Nilai dari
register relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh proses
user pada waktu dikirim ke memori, sebagai contoh, apabila basis 14000, maka
user mencoba menempatkan ke alamat lokasi 0 dan secara dinamis direlokasi ke
lokasi 14000. Pengaksesan ke lokasi logika 346, maka akan dipetakan ke
lokasi 14346. Sistem operasi MS-DOS yang masih keluarga intel 80X86 menggunakan
empat register relokasi ketika proses loading dan running.
User program tidak pernah melihat alamat fisik secara
real. Program dapat membuat sebuah penunjuk ke lokasi 346, mengirimkan ke
memory, memanipulasinya, membandingkan dengan alamat lain, semua menggunakan
alamat 346. Hanya ketika digunakan sebagai alamat memory akan direlokasi
secara relatif ke register basis.
D. Swapping
Sebuah proses, sebagaimana telah diterangkan di atas, harus
berada di memori sebelum dieksekusi. Proses swapping menukarkan sebuah proses
keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan
sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk
dieksekusi. Tempat penyimpanan sementara ini biasanya berupa sebuah fast disk
dengan kapasitas yang dapat menampung semua salinan dari semua gambaran memori
serta menyediakan akses langsung ke gambaran tersebut. Jika eksekusi proses
yang dikeluarkan tadi akan dilanjutkan beberapa saat kemudian, maka ia akan
dibawa kembali ke memori dari tempat penyimpanan sementara tadi. Bagaimana
sistem mengetahui proses mana saja yang akan dieksekusi? Hal ini dapat
dilakukan dengan ready queue. Ready queue berisikan semua proses yang terletak
baik di penyimpanan sementara maupun memori yang siap untuk dieksekusi. Ketika
penjadwal CPU akan mengeksekusi sebuah proses, ia lalu memeriksa apakah proses
bersangkutan sudah ada di memori ataukah masih berada dalam penyimpanan
sementara. Jika proses tersebut belum berada di memori maka proses swapping
akan dilakukan seperti yang telah dijelaskan di atas.
Sebuah contoh untuk menggambarkan teknik swapping ini adalah
sebagai berikut: Algoritma Round-Robin yang digunakan pada multiprogramming
environment menggunakan waktu kuantum (satuan waktu CPU) dalam pengeksekusian
proses-prosesnya. Ketika waktu kuantum berakhir, memory manager akan
mengeluarkan (swap out) proses yang telah selesai menjalani waktu kuantumnya
pada suatu saat serta memasukkan (swap in) proses lain ke dalam memori yang
telah bebas tersebut. Pada saat yang bersamaan penjadwal CPU akan
mengalokasikan waktu untuk proses lain dalam memori. Hal yang menjadi perhatian
adalah, waktu kuantum harus cukup lama sehingga waktu penggunaan CPU dapat
lebih optimal jika dibandingkan dengan proses penukaran yang terjadi antara
memori dan disk.
Teknik swapping roll out, roll in menggunakan algoritma berbasis
prioritas dimana ketika proses dengan prioritas lebih tinggi tiba maka memory
manager akan mengeluarkan proses dengan prioritas yang lebih rendah serta
me-load proses dengan prioritas yang lebih tinggi tersebut. Saat proses dengan
prioritas yang lebih tinggi telah selesai dieksekusi maka proses yang memiliki
prioritas lebih rendah dapat dimasukkan kembali ke dalam memori dan kembali
dieksekusi.
Sebagian besar waktu swapping adalah waktu transfer. Sebagai
contoh kita lihat ilustrasi berikut ini: sebuah proses pengguna memiliki ukuran
5 MB, sedangkan tempat penyimpanan sementara yang berupa harddisk memiliki
kecepatan transfer data sebesar 20 MB per detiknya. Maka waktu yang dibutuhkan
untuk mentransfer proses sebesar 5 MB tersebut dari atau ke dalam memori adalah
sebesar 5000 KB / 20000 KBps = 250 ms.
Perhitungan di atas belum termasuk waktu latensi, sehingga jika
kita asumsikan waktu latensi sebesar 2 ms maka waktu swap adalah sebesar 252
ms. Oleh karena terdapat dua kejadian dimana satu adalah proses pengeluaran
sebuah proses dan satu lagi adalah proses pemasukan proses ke dalam memori,
maka total waktu swap menjadi 252 + 252 = 504 ms.
Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses
yang di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat
mengurangi waktu swap. Oleh karena itulah, sistem harus selalu mengetahui
perubahan apapun yang terjadi pada pemenuhan kebutuhan terhadap memori.
Disinilah sebuah proses memerlukan fungsi system call, yaitu untuk
memberitahukan sistem operasi kapan ia meminta memori dan kapan membebaskan
ruang memori tersebut.
Jika kita hendak melakukan swap, ada beberapa hal yang harus
diperhatikan. Kita harus menghindari menukar proses dengan M/K yang ditunda
(asumsinya operasi M/K tersebut juga sedang mengantri di antrian karena
peralatan M/Knya sedang sibuk). Contohnya seperti ini, jika proses
P1dikeluarkan dari memori dan kita hendak memasukkan proses P2, maka operasi
M/K yang juga berada di antrian akan mengambil jatah ruang memori yang
dibebaskan P1 tersebut. Masalah ini dapat diatasi jika kita tidak melakukan
swap dengan operasi M/K yang ditunda. Selain itu, pengeksekusian operasi M/K
hendaknya dilakukan pada buffer sistem operasi.
Tiap sistem operasi memiliki versi masing-masing pada teknik
swapping yang digunakannya. Sebagai contoh pada UNIX, swapping pada dasarnya
tidak diaktifkan, namun akan dimulai jika banyak proses yang membutuhkan
alokasi memori yang banyak. Swapping akan dinonaktifkan kembali jika jumlah
proses yang dimasukkan berkurang. Pada sistem operasi Microsoft Windows 3.1,
jika sebuah proses baru dimasukkan dan ternyata tidak ada cukup ruang di memori
untuk menampungnya, proses yang lebih dulu ada di memori akan dipindahkan ke
disk. Sistem operasi ini pada dasarnya tidak menerapkan teknik swapping secara
penuh, hal ini disebabkan pengguna lebih berperan dalam menentukan proses mana
yang akan ditukar daripada penjadwal CPU. Dengan ketentuan seperti ini
proses-proses yang telah dikeluarkan tidak akan kembali lagi ke memori hingga
pengguna memilih proses tersebut untuk dijalankan.
Manajemen Memori
Berdasarkan Keberadaan Swapping Atau Paging
a) Manajemen tanpa swapping atau
paging
b) Manajemen dengan swapping atau
paging
Memori Tanpa
Swapping Or Paging
Merupakan manajemen memori tanpa pemindahan citra proses antara
memori utama dan disk selama eksekusi. Manajemen ini terdiri dari :
Monoprogramming
Ciri-ciri :
a) Hanya satu proses pada satu
saat
b) Hanya satu proses menggunakan
semua memori
c) Pemakai memuatkan program ke
seluruh memori dari disk atau tape
d) Program mengambil kendali seluruh
mesin
Multiprogramming Dengan Pemartisian
Statis
a) Pemartisian menjadi
partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama
b) Pemartisian menjadi
partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah
berbeda.
Strategi Penempatan Program Ke Partisi
Satu Antrian Tunggal Untuk Semua Partisi Keuntungan
: Lebih fleksibel serta implementasi dan operasi lebih minimal karena
hanya mengelola satu antrian. Kelemahan : Proses dapat ditempatkan di partisi
yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar.
Tetap dengan Satu Antrian 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
Multiprogramming
Dengan Swapping
Merupakan manajemen memori dengan pemindahan citra proses antara
memori utama dan disk selama eksekusi, atau dengan kata lain merupakan
manajemen pemindahan proses dari memori utama ke disk dan kembali lagi
(swapping). Manajemen ini terdiri dari :
Multiprogramming
Dengan Pemartisisan Dinamis
Jumlah, lokasi dan ukuran proses di memori dapat beragam
sepanjang waktu secara dinamis. Kelemahan: a) Dapat terjadi lubang-lubang kecil
memori di antara partisi-partisi yang dipakai; b) Merumitkan alokasi dan
dealokasi memori.
Solusi:
Lubang-lubang kecil di antara blok-blok memori yang digunakan
dapat diatasi dengan pemadatan memori yaitu menggabungkan semua lubang kecil
menjadi satu lubang besar dengan memindahkan semua proses agar saling
berdekatan.
Strategi Alokasi
Memori
a) First fit algorithm :
memory manager men-scan list untuk menemukan hole yg cukup untuk
menampung proses yg baru. Proses akan menempati hole pertama yg ditemuinya yg
cukup untuk dirinya.
b) Next fit algorithm : sama
dengan first fit, tetapi pencarian hole dimulai dari hole ditemuinya dari
scan sebelumnya.
c) Best fit algorithm : dicari
hole yang akan menghasilkan sisa paling sedikit setelah dimasuki proses.
d) Worst fit algorithm : kebalikan dari
best fit.
e) Quick fit algorithm :
mengelompokkan hole-hole dan membuat listnya sendiri. Misalnya, ada list untuk
hole 4K, satu list untuk 8K, dst.
f) Sistem Buddy : Memori di
susun dalm senari blok-blok bebas berukuran 1,2,4,8,16 byte dst, sampai
kapasitas memori.
Dari berbagai cara alokasi tsb. Di atas, sebuah hole yg
ditempati proses akan terbagi menjadi bagian yang dipakai proses dan memori
yang tidak terpakai (fragmen). Timbulnya memori yang tidak terpakai disebut fragmentasi.
Ada dua macam fragmen :
a) Internal : sisa hole yang tidak
terpakai setelah terisi proses.
b) Eksternal : hole yang secara
utuh terlalu kecil untuk dipakai oleh proses manapun.
Alokasi Ruang Swap
pada Disk (Penempatan proses pada disk setelah di-swap-out dari memori)
a) Ruang disk tempat swap
dialokasikan begitu diperlukan
b) Ruang disk tempat swap
dialokasikan lebih dahulu.
Algoritma untuk pengaturan ruang swap pada disk sama
dengan untuk memori utama. Perbedaannya adalah ruang pada disk harus
dialokasikan sebagai kelipatan bilangan bulat dari disk block.