SISTEM
OPERASI
MANAJEMEN
MEMORI
Disusun
Oleh:
Anis
Marifatul Dienillah (10116899)
Fadli Iman.S (12116465)
Ikral Adi Putra (13116408)
Kapraptiyan Sasmoko (13116813)
Panji Titan A (15116727)
Rivaldo Alsi K (16116514)
SISTEM INFORMASI
UNIVERSITAS GUNADARMA
Tahun Ajaran 2017/2018
Daftar Isi
Kata Pengantar............................................................................................................................. 3
BAB I Pendahuluan....................................................................................................................... 4
Latar
Belakang........................................................................................................................... 4
BAB II Pembahasan....................................................................................................................... 5
Konsep
Dasar Memori................................................................................................................ 5
Strategi
Manajemen Memori..................................................................................................... 6
Ruang
Alamat Logika dan Fisik.................................................................................................... 7
Swapping.................................................................................................................................. 7
Pencatatan
Pemakaian Memori.................................................................................................. 8
Monoprogramming................................................................................................................... 8
Pengalokasian Berurutan (Contigous Allocation).................................................................. 9
Pengalokasian
Tak Berurutan (Non Contigous Allocation)............................................................ 9
BAB III Kesimpulan...................................................................................................................... 11
Kesimpulan.............................................................................................................................. 11
Daftar Pustaka............................................................................................................................ 12
Kata Pengantar
Puji dan syukur saya panjatkan kehadirat ALLAH SWT, atas
limpahan rahmat dan karunianya baik berupa kesehatan maupun kesempatan sehingga
penyusunan makalah ini dapat terselesaikan sebagai mana mestinya.
Adapun tema yang saya susun yaitu ”MANAJEMEN MEMORI” merupakan
tugas yang di berikan oleh dosen mata kuliah Sistem Operasi guna memenuhi salah
satu persyaratan akademik,dalam standarisasi penilayan saya menyadari
sepenuhnya masih banyak terdapat kesalahan dan kekurangan yang ada di
dalamnya,oleh karena itu kritik dan saran dari teman-teman mahasiswa,sangat saya
harapkan demi kesempurnaan makalah ini,harapan penulis muda-mudahan makalah ini
dapat memenuhi fungsinya.
BAB
I
PENDAHULUAN
A.Latar Belakang
Sistem operasi adalah perangkat lunak sisitem yang
bertugas untuk melakukankontrol dan manajemen perangkat keras serta
operasi-operasi dasar sistem, termasukmenjalankan perangkat lunak aplikasi
seperti program-program pengolah katadanperamban web. Secara umum, Sistem
Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada
memori komputer pada saat komputer dinyalakan booting.Sedangkan
software-software lainnya dijalankan setelah Sistem Operasi berjalan, danSistem
Operasi akan melakukan layanan inti untuk software-software itu. Layanan
intitersebut seperti akses ke disk, manajemen memori, penjadwalan tugas
schedule task, danantar-muka user GUI/CLI. Sehingga masing-masing software
tidak perlu lagi melakukantugas-tugas inti umum tersebut, karena dapat dilayani
dan dilakukan oleh Sistem Operasi.Bagian kode yang melakukan tugas-tugas inti
dan umum tersebut dinamakan dengan"kernel" suatu Sistem Operasi.
BAB
II
PEMBAHASAN
1.
KONSEP DASAR MEMORI
Memori sebagai tempat penyimpanan instruksi/ data dari program.
Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang
akan dijalankan, harus melalui memori terlebih dahulu. Supaya untuk dapat
dieksekusi, program harus dibawa ke memori dan menjadi suatu proses.
1.1 Konsep Binding
Sebelum
eksekusi, program berada di dalam disk, dan saat dieksekusi program tersebut
perlu berada pada suatu lokasi dalam memori fisik. Address Binding adalah cara
instruksi dan data (yang berada di disk sebagai file executable) dipetakan ke
alamat memori. Alamat (address) pada source program umumnya merupakan alamat
simbolik. Sebuah compiler biasanya membutuhkan “mengikat” (bind) alamat
simbolik ke alamat relokasi.
Address Binding dapat berlangsung dalam 3 tahap yang berbeda, yaitu :
•kompilasi,
•load, atau
•eksekusi dari suatu program
1.2 Dynamic Loading
Dengan dynamic loading merupakan suatu
routine tidak diload sampai dipanggil. Semua routine disimpan pada disk sebagai
format relocatable load.
Mekanisme dasar :
•Program utama diload dahulu dan dieksekusi
•Bila suatu routine perlu memanggil routine yang lain, routine yang dipanggil
lebih dahulu diperiksa apakah routine yang dipanggil sudah diload. Jika tidak,
relocatable linking loader dipanggil untuk meload routine yang diminta ke
memori dan mengupdate tabel alamat dari program yang mencerminkan perubahan
ini.
Keuntungan dari dynamic loading adalah :
•Rutin yang tidak digunakan tidak pernah di-load
•Cocok untuk kode dalam jumlah besar
•Digunakan untuk menangani kasus-kasus yang jarang terjadi seperti error
routine
•Tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi hanya
perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic loading
1.3 Dynamic Linking
Konsep dynamic linking sama dengan
dynamic loading. Karena Pada saat loading, linking ditunda hingga waktu
eksekusi.
Program-program user tidak perlu menduplikasi system library karena :
•System library dipakai bersama
•Mengurangi pemakaian space : satu rutin library di memori digunakan secara
bersama oleh sekumpulan proses
Contoh : DLL Win32
Mekanisme menggunakan stub (potongan kecil yang mengindikasikan bagaimana
meload library jika routine tidak tersedia saat itu) :
•Saat stub dieksekusi, ia akan memeriksa apakah rutin ybs sudah berada di dalam
memori(diakses oleh proses lain yang run), kalau belum ada maka rutin tersebut
diload
•Stub menempatkan dirinya pada alamat rutin dan mengeksekusi rutin tersebut
Dynamic Linking membutuhkan beberapa dukungan dari OS, misal :
•Bila proses-proses di memori utama saling diproteksi, maka SO melakukan
pengecekan apakah rutin yang diminta berada diluar alamat.
•Beberapa proses diijinkan untuk mengakses memori pada alamat yang sama.
1.4 Overlay
Hanya instruksi dan data yang diperlukan
pada suatu waktu yang disimpan di memori. Overlay diperlukan jika ukuran proses
lebih besar dari memori yang dialokasikan untuknya.
Overlay tidak membutuhkan dukungan khusus dari SO antara lain :
•User dapat mengimplementasikan secara lengkap menggunakan struktur file
sederhana
•OS memberitahu hanya jika terdapat I/O yang melebihi biasanya
2.
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
3.
RUANG ALAMAT LOGIKA DAN FISIK
Alamat Logika adalah alamat yang digenerate oleh CPU, disebut
juga Alamat Virtual. Alamat Fisik adalah alamat yang terdapat di memori. Perlu
ada penerjemah (translasi) untuk menerjemahkan bahasa dari alamat logika ke
alamat fisik. MMU (Memory Management Unit) adalah perangkat keras yang
memetakan alamat logika ke alamat fisik.
Dalam Skema MMU :
•Menyediakan perangkat register yang dapat diset oleh CPU: setiap proses
mempunyai data set register tersebut (disimpan di PCB)
•Harga dalam register base/relokasi ditambahkan ke setiap alamat proses user
pada saat run dimemori
•Program-program user hanya berurusan dengan alamat logika saja
4.
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 yangtelah
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.
5.
PENCATATAN PEMAKAIAN MEMORI
Memori yang tersedia harus dikelola, dilakukan dengan pencatatan
pemakaian memori. Terdapat dua cara utama pencatatan pemakaian memori, yaitu :
5.1
Peta Bit
Memori dibagi menjadi unit-unit alokasi,berkorespondensi dengan
tiap unit alokasi adalah satu bit pada bit map.
* Nilai 0 pada peta bit berarti unit itu masih bebas.
* Nilai 1 berarti unit digunakan.
Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi memori,
yaitu :
* Unit lokasi memori berukuran kecil berarti membesarkan ukuran peta bit.
* Unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori
banyak disiakan pada unit terakhir jika ukuran proses bukan kelipatan unit
alokasi.
Keunggulan :
* Dealokasi dapat dilakukan secara mudah, hanya tinggal menset bit yang
berkorespondensi dengan unit yang telah tidak digunakan dengan 0.
Kelemahan :
* Harus dilakukan penghitungan blok lubang memori saat unit memori bebas.
* Memerlukan ukutan bit map besar untuk memori yang besar.
5.2
Linked List
Sistem operasi mengelola senarai berkait (linked list) untuk
segmen-segmen memori yang telah dialokasikan dan bebas. Segmen memori
menyatakan memori untuk proses atau memori yang bebas (lubang). Senarai segmen
diurutkan sesuai alamat blok.
Keunggulan :
* Tidak harus
dilakukan perhitungan blok lubang memori karena sudah
tercatat di node.
* Memori yang diperlukan relatif lebih kecil.
Kelemahan :
* Dealokasi sulit dilakukan karena terjadi berbagai operasi penggabungan
6.
MONOPROGRAMMING
Monoprogramming
sederhana tanpa swapping merupakan manajemen memori sederhana. Sistem computer
hanya mengijinkan satu program pemakai berjalan pada satu waktu. Semua sumber
daya sepenuhnya dikuasai proses yang sedang berjalan.
Ciriciri:
·
Hanya satu proses pada
satu saat
·
Hanya satu proses
menggunakan semua memori
·
Pemakai memuatkan
program ke seluruh memori dari disk/tape
·
Program mengambil alih
kendali seluruh mesin
Karena hanya terdapat satu
proses dan menguasai seluruh sistem maka alokasi memori dilakukan secara
berturutan
Embedded system
Teknik monoprogramming
masih dipakai untuk sistem kecil yaitu system tempelan (Embedded sitem) yang
terdapat pada system lain. Sistem tempelan menggunakan mikroprosessor kecil.
Sistem ini biasanya mengendalikn suatu alat sehingga bersifat
intelejen(intelejentdevice) dalam menyediakan satu fungsi spesifik.
Proteksi pada
monoprogramming sederhana
Pada monoprogramming
pemakai memiliki kendali penuh terhadapmemori utama.Memori terbagi menjadi 3
bagian , yaitu
·
Bagian rutin system
operasi
·
Bagian program pemakai
·
Bagian yang tidak
digunakan
7. PENGALOKASIAN BERURUTAN (CONTIGOUS
ALLOCATION)
Alokasi memori secara berturutan adalah tiap proses menempati
satu blok tunggal memori yang berturutan.
7.1 Multiprogramming Dengan Partisi Statis
Terbagi dua :
-Pemartisian menjadi
partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama
-Pemartisian menjadi
partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah
berbeda.
7.2 Multiprogramming Dengan Partisi Dinamis
Jumlah lokasi dan
ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
Kelemahan:
-Dapat terjadi
lubang-lubang kecil memori di antara partisi-partisi yang dipakai.
-Merumitkan alokasi
dan dealokasi memori
7.3 Sistem Buddy
Sistem buddy adalah
algoritma pengelolaan memori yang memanfaatkan kelebihan penggunaan bilangan
biner dalam pegalamatan memori. Karakteristik bilangan biner digunakan untuk
mempercepat penggabungan lubang-lubang berdekatan ketika proses terakhir atau
dikeluarkan.
8. PENGALOKASIKAN TAK BERURUTAN (NON CONTIGOUS
ALLOCATION)
Pada
model pengalokasian tak berurut, bagian-bagian dari image proses dapat
diletakkan secara terpisah di memori utama, pada sistem paging memerlukan
pengalamatan logika khusus yang membagi menjadi blok-blok dengan ukuran sama
yang disebut page. Pada Sistem paging perlu adanya translasi alamat ke memori
fisik yang dipartisi secara statis yang disebut frame, yang ukurannya sama
dengan page pada ruang alamat logika.
Konsep dasar alokasi memori : memori utama dibagi
menjadi frame-frame kecil berukuran sama dan diberi nomor frame sebagai
referensi. Ruang alamat logika proses dibagi menjadi page-page seukuran frame.
Loading time(page-page image proses diletakkan pada frame-frame kosong dan
dicatat pada page table)
Proteksi memori pada sistem paging : berfungsi
menghindari pengaksesan memori secara illegal(missal pengaksesan bagian memori
yang sudah ditempati proses lain). Proteksi frame dilakukan dengan cara
menambahkan bit proteksi untuk tiap entry page table (missal : cek apakah frame
tersebut bersifat read atau read-write, cek apakah alamat logika yang dituju
suatu proses valid atau invalid).
Memory Sharing pada sistem paging : untuk menghemat
penggunaan kapasitas memori. Jika ada 2 atau lebih proses yang memiliki bagian
kode instruksi, atau data yang sama maka dapat digunakan bersama dan cukup
diletakkan sekali di frame memori. Masing-masing proses mengacu ke frame yang
sama pada page tablenya.
Pengalokasian tak berurut dengan sistem
segmentation : memakai sistem partisi dinamis.
Pada pengalamatan logika, image proses dibagi menjadi bagian-bagian yang
disebut segmen. Pembagian segmen biasanya mengikuti struktur program oleh
compiler, yang biasanya tiap segmen berupa main program, stack, routine, symbol
table. Partisi memori utama terjadi pada saat alokasi yang besarnya sesuai
dengan besar segmen program yang dialokasikan.
Konsep Alokasi memori : image proses dibagi menjadi
beberapa segmen yang ukurannya tidak harus sama. Segmen-segmen image proses
dialokasikan ke tempat-tempat kosong di memori utama, dan informasi alokasi
dicatat pada segmen table. Segmen table berisi nilai limit(panjang segmen) dan
nilai base(alamat awal bagian memori yang dialokasikan)
Proteksi memori : Membandingkan nilai segmen yang ada
di pengalamatan logika dengan nilai limit yang ada di segmen table. Apabila
nilai segmen yang ada di pengalamatan logika lebih besar daripada nilai limit
yang ada di segmen table, berarti terjadi usaha pengaksesan lokasi diluar area
segmen program itu sehingga memicu terjadinya trap(addressing error).
Memori Sharing : Sharing segmen antara 2 atau lebih
proses dilakukan dengan mencatat lokasi alokasi segmen tersebut ke table segmen
masing-masing proses.
Dari Konsep pengalokasian memori antara sistem paging
dan segmentation maka dapat dilihat perbedaannya sebagai berikut:
Sistem Paging
|
Sistem Segmentation
|
Statis, dibagi menjadi frame-frame dengan ukuran
sama
|
Dinamis, dibagi menjadi segmen segmen yang ukurannya
tidak harus sama
|
Pencatatan dilakukan menggunakan page table
|
Informasi alokasi dicatat pada segmen table
|
Proteksi dilakukan dengan menambahkan bit proteksi
pada tiap page
|
Proteksi dilakukan dengan cara membandingkan nilai
segmen dengan nilai limit segmen table
|
Memori sharing: data yang sama cukup diletakkan
sekali pada frame, masing-masing proses mengacu pada frame yang sama pada
page tablenya.
|
Sharing segmen dilakukan dengan mencatat lokasi
alokasi segmen ke table segmen masing-masing proses
|
BAB III
KESIMPULAN
A.Kesimpulan
1. Konsep dasar
Manajemen Memori pada System Operasi yaitu meningkatkanutilitas CPU yang
sebesar-besarnya, data dan instruksi dapat di akses dengan cepat olehCPU,
memori utama memiliki kapasitas yang sangat terbatas, sehingga
pemakaiannyaharus seefisien mungkin dan transfer data dari memori
2. manajemen memori
pemartisian statis dengan proses tanpa swapping itu padadasarnya
terdiri atas 2 yaitu : Monoprogramming merupakan manajemen memori paling sederhana,
sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu
waktu. Dan Multiprogramming dapat dilakukan dengan pemartisian statis,yaitu
memori dibagi menjadi beberapa sejumlah partisi tetap.
3. Strategi penempatan
program ke partisi ada 2 jenis strategi Satu antrian untuk tiap partisi
(banyak antrian untuk seluruh partisi) yaitu :Proses ditempatkan ke partisi paling kecil yang dapat memuatnya. Dan Satu antrian untuk seluruh partisi, yaituProses-proses
diantrikan di satu antrian tunggal untuk semua partisi. Proses
segeraditempatkan di partisi bebas paling kecil yang dapat memuat.
4. pemartisian memori menjadi partisi-partisi secara statis mempunyai dua masalah,yaitu
: relokasi dan partisi.
Daftar Pustaka: