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: