Anda di halaman 1dari 17

Bab 8

Manajemen Memori Pemartisian Dinamis

Organisasi dan manajemen memori sangat mempengaruhi kinerja komputer.

Manajemen memori melakukan tugas penting dan kompleks berkaitan dengan hal–hal
berikut :

 Memori utama sebagai sumber daya yang harus diaolakasikan dan dipakai bersama
diantara sejumlah proses yang aktif . Agar dapat memanfaatkan pemproses dan
fasilitas masukan / keluaran secara efisien maka diinginkan memori dapat
menanpung proses lebih banyak
 Mengupakayakan agar pemprogram atau proses tidak dibatasi kapasitas memori
fisik disistem komputer.

8.1 Manajemen Memori

Manajemen memori memiliki fungsi sebagai berikut :

 Mengelola informasi mengenai memori yang dipakai dan tidak dipakai sistem
 Mengalokasikan memori ke proses yang memerlukan
 Mendealokasikan memori dari proses yang memerlukan
 Mengelola swapping antara memori utama dan hardisk

8.1.1 Manajemen Memori pada sistem Multiprogramming

Dengan keberadaan banyak ruang alamat milik prose-proses dimemori utama secara
bersama maka sistem operasi harus mampu mendukung dua kebutuhan yang saling
bertentangan, yaitu :

1. Pemisahan ruang-ruang alamat, melakukan proteksi memori dengan isolasi ruang-


ruang alamat sehingga proses-proses tidak saling menggangu.
2. Pemakaian bersama memori sehingga memungkinkan proses-proses bekerja sama
mengakses daerah memori bersama.

8.1.2 Klasifikasi Manajemen Memori

Klasifikasi manajemen memori diberikan Deitel [ DEI-90]. Gambar 8-1 menunjukan skema
klasifikasi manajemen memori.
Nyata Nyata Maya

1
Sistem Sistem
Khusus multiprogramming Sistem multiprogramming
Untuk dengan memory dengan memori maya
pemakai nyala
tunggal
Multiprogramming (4) (5) (6) (7)
dengan pemartisian Multiprograming sistem paging sistem paging Sistem
tetap Dengan murni murni segmentasi
pemartisian murni
Dinamis
(2) (3)
Di tempatkan Dapat di relokasi
secara absolut

Gambar 8-1 Klasifikasi manajemen memori

Teknik-teknik manajemen memori (1) , (2) , (3) , (4) merupakan pengelolaan untuk kapasitas
memori sebatas memori fisik yang tersedia . Teknik- teknik ini tidak dapat digunakan untuk
membuat program-program yang berukuran lebih besar dibanding kapasitas fisik memori
yang tersedia.

Teknik-teknik manajemen memori (5) , (7) dapat digunakan untuk mengakali kapasitas
memori yang terbatas sehingga dapat dijalankan program yang ukuran nya lebih besar dari
kapasitas memori fisik yang tersedia.

Manajemen Memori Berdasarkan Alokasi memori

Manajemen memory berdasar alokasi memori terbagi dua , yaitu :

1. Alokasi memori berturutan ( kontigu )


2. Alokasi memori tidak berturutan ( Non – kontigu )

Alokasi Memori Berturutan ( Kontigu )

Alokasi memori secara berturutan ( contigous storage allocation ) adalah masing – masing
proses menempati satu blok tunggal lokasi memori yang bertururan.

Keunggulan

 Sederhana
 Tidak akan terbentuk lubang-lubang memori besebaran
 Karena beruturan , proses dapat dieksekusi dengan cepat
Kelemahan

 Dapat memboroskan memori


 Tidak dapat membuat proses bila tidak ada satu blok memori berturutan yang
mencukupi

Alokasi Memeri tidak Berturutan (Non-Kontigu )

Program dibagi menjadi beberapi blok atau segmen. Blok- Blok program ditempatkan
dimemori dalam potongan-potongan tanpa perlu saling berdekatan . teknik ini biasa
digunakan pada sistem memori maya sebagai alokasi page – page dilakukan secara global.

Keunggulan

 Sistem dapat memanfaatkan memori utama secara lebih efisien


 Sistem operasi masih mampu memuatkan proses bila jumlah total lubang-lubang
memori cukup untuk memuat proses yang akan dieksekusi

Kelemahan

 Memerlukan pengendalian lebih rumit dan sulit


 Memori dapat menjadi banyak lubang tersebar ( memori tidak terpakai bersebaran )

8.2 Hirarki Memori

Gambar 8-2 Hubungan chace memori , memori utama dan memori sekunder
Pemakaian memori dua tingkat misalnya chace memori dapat meningkatkan kinerja dan
utilisasi memori secara dramatis. Chace memory merupakan penyimpan berkecepatan
tinggi yang lebih cepat dibanding memory utama. Chace memori lebih mahal dibanding
memori utama sehingga kapasitas chace memory ralatif kecil.

Pengunaan chace memori atau memori antara yang lebih cepat mempunyai alasan yang di
kemukakan oleh Denning yaitu eksekusi program pada suatu interval waktu tertentu
biasanya mengumpul disatu lokasi kecil. Prinsip ini disebut prinsip lokalitas. Lokalitas dapat
berupa lokalitas waktu dan lokalitas ruang. Prinsip lokalitas berkembang menjadi konsep
working set model.

8.3 Manajemen Memori Tanpa Swapping

Manajemen memori tanpa swapping terdiri dari :

1. Manajemen memori untuk monoprogramming


2. Manajemen memori untuk multiprogramming dengan pemartisian statis

8.3.1 Monoprogramming

Monoprogramming tanpa swapping merupakan manajemen memori yang paling


sederhana. Sistem komputer hanya mengijinkan satu proses berjalan pada satu waktu.
Sumua sember daya sistem komputer sepenuhnya dikuasai oleh proses yang sedang
berjalan karena merupakan satu satunya proses yang berjalan.

Manajemen memori Monoprogramming sederhana mempunyai ciri ciri sebagai berikut :

 Hanya satu proses pada satu saat


 Hanya satu proses menggunakan semua memori
 Pemakai memuatkan program keseluruh memori dari disk atau tape
 Program mengambil kendali seluruh mesin
Gambar 8-3 menunjukan tiga organisasi memori menjalankan satu proses tunggal

1. Gambar 8-3 (A) menunjukan seluruh kebutuhan (sistem operasi , device driver dan
proses pemakai di RAM )
2. Gambar 8-3 ( B ) menunjukan sistem operasi ditempatkan di ROM , sedang program
pemakai di RAM
3. Gambar 8-3 ( C ) menunjukan device driver di ROM. Device driver berada di ROM. ROM
yang membuat device driver semacam ini biasa nya disebut ROM - BIOS ( ready only
memori – basic input output system )

8.3.1.1 Embedded System

Teknik Monoprogramming masih dapat dipakai untuk sistem kecil yaitu sistem
tempelean ( embededded system ) yang menempel atau terdapat di sistem lain. Sistem
tempelan telah banyak digunakan , misalnya sistem tempelan di mobil antara lain untuk
fungsi – funsi sebagai berikut :

 Pengendalian pengapian
 Pengendalian pengeluaran bahan bakar
 Pengendalian pengereman
 Pengendalian suspensi
 Pengendalian kemudi
 Dan sebagainya

Pada mobil mewah modern terdapat lebih dari 50 mikroprosesor , masing masing
mikroprosesor mengendalikan satu fungsi spesifik.

8.3.1.2 Proteksi pada Monoprogramming Sederhana

Pada monoprogramming , pemakai mempunyai kendali penuh terhadap seluruh


memori utama .

Memori terbagi menjadi tiga bagian , yaitu ;

1. Bagan yang berisi rutin – rutin sistem operasi


2. Bagian yang berisi program pemakai
3. Bagian yang tidak digunakan

Masalah proteksi di monoprogramming adalah cara memproteksi rutin- rutin sistem operasi
dari penghancuran program pemakai. Program pemakai dapat saja tersesat sehingga
memanipulasi atau menempati ruang memori yang seharusnya hanya ditempati rutin-rutin
sistem operasi. Sistem operasi harus diproteksi dari modifikasi oleh program pemakai.
Proteksi ini diimplementasikan menggunakan satu register batas ( Boundary Register ).
Register batas berisi alamat memori tertinggi yang dipakai sistem operasi. Jika program
pemakai mencoba memasuki sistem operasi, intruksi di intersep dan proses diakhiri dan
diberi pesan kesalahan. Untuk menggunakan perangkat masukan / keluaran , proses tidak
bisa langsung menggunakannya di programnya . Pemakaian perangkat masukan / keluaran
merupakan wewenang sistem operasi , dilakukan pada mode kernel .

Gambar 8-4 Proteksi pada monoprogramming

Gambar 8-4 menunjukan skema proteksi menggunakan register batas. Register batas
menunjukan alamat terakhir yang digunakan sistem operasi. Bila program pemakai mengacu
ke alamat yang merupakan daerah sistem operasi , maka pemproses melakukan fault untuk
menyatakan terjadi nya pelanggaran pengaksesan oleh proses pemakai.

8.3.2 Multiprogramming dengan Pemartisian Statis

Terdapat beberapa alsan kenapa multiprogrammng digunakan , yaitu :

 Mempermudah pemprogram
 Agar dapat memberi layanan interaktif ke beberapa orang secara simultam
 Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil
 Efisiensi penggunaan sumber daya
 Dapat mengerjakan sejumlah proses secara simultan

Mempermudah Pemprogram

Pemprogram dapat memecah program menjadi dua proses atau lebih

Agar Dapat Memberi Layanan Interaktif ke Beberapa Orang secara Simultan

Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses di memori agar
memperoleh kenerja yang baik.

Efisiensi Penggunaan Sumber Daya

Apabila pada multiprogramming maka proses tersebut menjadi Blocked ( hanya DMA yang
berkerja ) dan proses lain mendapat jatah waktu pemproses maka DMA dapat
meningkatkan efisiensi sistem.
Pemartisian statis berdasarkan ukuran partisi partisinya terbagi dua, yaitu :

1. Pemartisian menjadi partisi- partisi berukuran sama , yaitu ukuran semua partisi
memori adalah sama
2. Pemartisian menjadi partisi-partisi berukuran berbeda , yaitu ukuran semua partisi
memori adalah berbeda

Pemartisian menjadi partisi- partisi berukuran sama

Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukan ke
sembarang partisi yang tersedia.

Kelemahan

 Bila program ukurannya lebih besar dibanding partisi yang tersedia maka tidak dapat
dimuatkan , tidak dapat dijalankan. Pemprogram harus mempersiapkan overlay
sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukan ke
memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang
mendukung swapping.
 Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan maka
banyak ruang yang tidak dipakai yang diboroskan, disebut fragmentasi internal.

Gambar 8-5 Multiprogramming dengan pemartisian tetap berukuran sama


8.3.2.1 Strategi Penempatan Program ke partisi

Strategi Penempatan pada Pemartisian menjadi partisi- partisi Berukuran sama

Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih


sembarang partisi yang kosong.

Strategi Penempatan pada Pemartisian menjadi partisi – partisi Berukuran Berbeda

Terdapat dua strategi penempatan program ke partisi yaitu :

1. Satu antrian untuk tiap partisi ( banyak antrian untuk seluruh partisi )
2. Satu antrian untuk seluruh partisi

Satu antrian untuk tiap partisi ( banyak antrian untuk seluruh partisi )

Proses ditempatkan ke partisi paling kecil yang dapat memuatnya.

Keuntungan

Teknik ini meminimalkan pemborosan memori.

Kelemahan

Dapat terjadi antrian panjang disuatu partisi sementara antrian partisi-partisi lain
kosong.

Teknik ini diperlihatkan pada gamar 8-6.

Gambar 8-6 Multiprogramming dengan pemartisian tetap dengan banyak antrian


Satu Antrian Tunggal untuk Semua Partisi

Proses-proses diantrikan disatu antrian tunggal untuk semua partisi.

Proses segera ditempatkan dipartisi paling kecil sedang bebas yang dapat memuat.

Keunggulan

Lebih fleksibel serta implementasi dan operasi lebih optimal karena hanya mengelola satu
antrian.

Kelemahan

Proses dapat ditempatkan di partisi yang banyak diboroskan , yairu proses kecil ditempatkan
di partisi sangat besar.

Teknik ini diperlihatkan pada gambar 8-7

Gambar 8-7 Multiprogramming dengan pemartisian tetap dengan satu antrian

Kelemahan ini dapat diatasi dengan prosedur pemindahan . pemindahan dilakukan bila
proses besar akan masuk tetapi hanya tersedia partisi kecil sementara proses kecil
menempati partisi besar. Proses kecil di Swap ke partisi kecil yang bebas kemudian proses
besar diantrian menempati partisi besar yang ditinggalkan proses kecil.
Pemartisian Memori menjadi partisi partisi secara statis mempunyai dua masalah yang
harus , yaitu :

1. Relokasi
2. Proteksi

8.3.2.2 Relokasi

Relokasi adalah masalah penempatan proses sesuai alamat fisik sehubungan alamat pratisi
memori saat diproses . proses dapat ditempatkan pada partisi-partisi berbeda menurut
keadaan sistem saat itu. Pengalamatan fisik secaa absolut untuk proses tidak dilakukan.

Solusi Pertama

Sistem operasi menabay alamat awal partisi , dalam hal ini proses ditempatkan ke setiap
alamat yang diacu proses. Pada saat proses kompilasi , linker harus memasukan satu daftar
atau bit – map biner pada program memberitahu word-word program yang alamat
alamatnya direlokasi. Linker harus mencatat opcode , konstanta , dan item-item yang tidak
perlu direlokasi.

Masalah yang ditimbulkan

Solusi ini menimbulkan masalsah proteksi terhadap memori. Solusi ini mempunyai masalah
yaitu program tidak terkendali selalu mampu memangun instruksi baru dan meloncati. Tidak
ada cara untuk menghentikan jika program membaca atau menulis word dimemori partisi
lainn ( yang bukan hak nya ). Masalah relokasi dan proteksi tidak dapat dipisahkan ,
diperlukan satu solusi tunggal mengatasi kedua masalah.

8.3.2.3 Proteksi pada multiprogramming

Masalah proteksi pada banyak partisi adalah bekerja dengan banyak proses disatu sistem
secara bersamaan dikawatirkan proses menggunakan atau memodifikasi daerah yang
dikuasai proses lain ( yang bukan menjadi haknya ) bila kejadian ini terjadi, maka proses lain
dapat terganggu dan hasilnya yang diperolehnya dapat menjadi kacau.

Solusi IBM 360

Pada komputer IBM 360 membagi memori menjadi blok-blok, tiap blok ditambahi 4 bit kode
proteksi. Blok berukuran 2 kilobyte . proses juga mempunyai PSW ( Program Status Word )
yang diantara lain berisi status proteksi. Status proteksi ini terdii 4 bit ( sama dengan bit
kode proteksi untuk blok memori ) , merupakan kunci dalam pengaksesan memori.
Solusi Menggunakan Base Register dan limit Register

Solusi lain adalah menggunakan daua register yaitu base register dan limit register. Base
register diisi alamat awal partisi dan limit register diisi panjang partisi. Setiap alamat yang
dihasilkan secara otomatis ditambah nilai base register . intruksi yang mengacu pada alamat
yang melebihi limit register akan menimbulkan trap yang memberitahu sistem operasi telah
terjadi pelanggaran pengaksesan memori.

Teknik ini lebih unggul dibanding teknik pada IBM 360 karena lebih efisien.teknik ini tidak
perlu menempatkan 4 bit proteksi di tiap blok memori.teknik inijuga lebih fleksibel.

Keuntungan

1. Alamat tidak perlu dimodifikasi


2. Setiap intruksi dapat diperiksa agar tidak mengakses melewati batas limit register

Program dapat dipindah walau sedang di eksekusi. Pemindahan dilakukan hanya dengan
mengganti nila base register.

Gambar 8-8 Skema relokasi dan proteksi menggunakan register basis dan register batas

Gambar 8-8 menunjukan skema proeteksi dan relokasi menggunakan base register dan limit
register. Base regiser menunjukan alamat awal proses sedang. Limit register menunjukan
alamat akhir yang dimiliki proses. Bila proses mengacu alamatdiluar yang ditunjuk limit
register maka pemproses mengirim sinyal fault memberitahu terjadinya pelanggaran
pengaksesan memori.
8.3.2.4 Fragmentasi Pada Pemartisian Tetap

Fragmentasi yaitu penyiaan / pemborosan memori akan terjadi pada setiap organisasi
penyimpanan.

Fragmentasi pada pemartisian tetap terjadi adalah

1. Fragmentasi internal
2. Fragmentasi eksternal

Fragmentasi Internal

Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses.

Fragmentasi Eksternal

Partisi tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses
yang menunggu diantrian sehingga tidak digunakan.

Untuk sistem sistem tanpa swapping ( pemindahan lokasi proses ) maka fragmentasi –
fragmentasi tidak dapat dikurangi. Pada sistem-sistem dengan swapping , sistem lebih
intelijen karena dapat melakukan beberapa alternatif mengatasi fragmentasi eksternal.
Bab 9

MANAJEMEN MEMORI PEMARTISIAN DINAMIS

9.1 Multiprogramming dengan Swapping

Pada sistem batch, organisasi memori dengan pemartisian tetap telah efektif . pada sistem
timesharing, situasi berbeda, umumnya terdapat lebih banyak proses dibanding memori
yang tersedia untuk memuat seluruh proses. Pemindahan proses dari memori utama ke
disk dan sebaliknya disebut swapping. Dengan swapping , multiprogramming sistem
timesharing dapat ditingkatkan kinerjanya yaitu dengan memindah proses-proses Blocked
ke disk dan hanya memasukan proses-proses Ready ke memori utama.

Beragam masalah harus diatasi multiprogramming dengan swapping , antara lain :

 Pemartisian secara dinamis


 Strategi pencatatan pemakaian memori
 Algoritma penempatan proses ke memori
 Strategi penempatan ruang swap di disk

9.2 Multiprogramming dengan Pemartisian Dinamis

Pemartisian statis tidak menarik karena memori terlalu banyak diboroskan proses-proses
lebih kecil dibandingkan dengan partisi yang ditempatinya. Dengan pemartisian dinamis
maka jumlah , lokasi dan ukuran proses dimemori dan beragam sepanjang waktu secara
dinamis.

Kelemahan pemartisian dinamis adalah

 Dapat terjadi lubang lubang kecil dimemori diantara partisi partisi yang dipakai.
 Merumitkan alokasi dan dealokasi memori

Terjadi Lubang – lubang kecil Memori

Contoh

Terjadinya lubang – lubang diantara partisi partisi adalah gambar 9-1


Gambar 9-1 Alokasi memori Secara dinamis

- Proses 1 berakhir dan membebaskan memorinya


- Proses 3 berakhir dan membebaskan memorinya
- Proses 5 berakhir dan membebaskan memorinya

Terjadinya

 Gambar 9-1 (a) adalah konfigurasi awal , terdapat 7 proses diruang ganti memori.
Setelah proses 1 berakhir , konfigurasi memori menjadi gambar 9-1 (b)
 Begitu proses 3 berakhr , konfigurasi memori memori menjadi gambar 9-1 ( c )
 Proses 5 berakhir , menghasilkan konfigurasi gambar 9-1 ( d ). Memori dipenuhi
lubang lubang memori yang tak terpakai.
Lubang-lubang ( yaitu kelompok blok memori yang tidak digunakan ) kecil di antara blok –
blok memori yang digunakan dapat diatasi dengan pemadatan memori ( memori
compaction ) pemadatan memori adalah operasi menggabungkan semua lubang kecil
menjadi satu lubang besar dengan memindahka semua proses agar saling berdekatan.

Gambar 9-2 Lubang-lubang memori dan pemadatan memori

Gambar 9-2 menunjukan skema pemadatan memori. Proses 2,4 dan 6 dipindahkan agar
menempati ruang ruang berurutan dengan proses 0 sehingga diperoleh lubang memori
besar. Lubang memori besar ini dapat ditempati proses yang akan masuk.

Kelemahan utama teknik pemadatan memori

 Memerlukan waktu yang sangat banyak


 Sistem harus menghentikan sementara semua proses selagi melakukan pemadatan.
Hal ini meningkatan waktu tanggapan disistem interaktif dan tidak mungkin
digunakan di sistem waktu nyata.

Proses Tumbuh Berkembang

Masalah lain pada pemartisian dinamis adalah proses dapat tumbuh berkembang. Segmen
data proses dapat tumbuh , misalnya :

 Heap untuk data dinamis berkembang


 Stack untuk pemanggilan prosedur dan variabel lokal.

Solusi masalah ini adalah bila proses bersebelahan dengan lubang memori tidak dipakai ,
proses tumbuh memakai lubang itu. Masalah menjadi lebih parah bila proses bersebelahan
dengan proses – proses lain.
Peringkat alternatif penyelesaian adalah

 Bila masih terdapat lubang besar yang memuat proses , maka proses dipindah ke
lubang memori yang cukup dapat memuat
 Satu proses atau lebih di swap ke disk agar memberi lubang cukup besar untuk
proses yang berkembang
 Jika proses tidak dapat tumbuh dimemori dan daerah swap di disk telah penuh ,
proses harus menunggu atau disingkirkan.

9.3 Pencatatan Pemakaian Memori

Memori yang tersedia harus dikelola , dilakukan dengan pencatatan pemakaian memori.
Terdapat tiga cara utama pencatatan pemakaian memori , yaitu :

1. Pencatatan memakai peta bit ( bit map )


2. Pencatatan memakai senarai berkait
3. Pencatatan memakai sistem buddy

9.3.1 Pencatatan Memakai Peta Bit

Memori dibagi menjadi unit – unit alokasi , berkorespodensi dengan tiap unit alokasi
adalah satu bit pada peta bit ( Bit map )

 Nilai 0 pada peta bit berarti unit itu masih bebas


 Nilai 1 berarti unit digunakan
DR , Bambang. (1997). Sistem operasi , Revisi kelima. Bandung : Penerbit INFORMATIKA.

Anda mungkin juga menyukai