Manajemen Memori
Setia Juli	Irzal Ismail
Instalasi dan Penggunaan Sistem Operasi
Telkom University
Hanya digunakan untuk kepentingan pengajaran di	Telkom University
Memori
• Memori adalah tempat penyimpanan sementara pada sistem
komputer
• Sebelum dijalankan,	program harus dibawa ke dalam memori
Manajemen Memori
• Mengalokasikan memori utama ke program user
• Melakukan re-klaim memori utama yang tidak lagi
dibutuhkan/digunakan
• Melindungi tiap area memori yang digunakan user dari
program user lain.	
• Misal :	memastikan bahwa tiap prograam hanya mengacu ke
lokasi-lokasi yang telak dialokasikan untuk program-program
tersebut
Manajemen Memori
• Jika terdapat beberapa proses,	
• Antrian
• sebagian besar waktu proses akan dipakai untuk menunggu
I/O	dan prosesor akan idle.	
• Dengan demikian memori perlu dialokasikan secara efisien
guna menampung proses sebanyak mungkin ke dalam
memory
Manajemen Memori
Address Binding
• Cara	pemetaan instruksi dan data ke alamat memori
• Pengikatan alamat
Address Binding	dilakukan pada saat:
• Compile time	
• Load	time	
• Execution time
Waktu Compile
• Jika lokasi memori diketahui sejak awal,	kode absolutdapat
dibangkitkan,	
• apabila terjadi perubahan alamat awal harus dilakukan kompilasi
ulang.	
• Misalnya :	
• program format .com pada MS-DOS	adalah kode absolut	yang diikat
pada saat waktu kompilasi
Load	time	
• Harus membangkitkan kode relokasi jika lokasi memori
tidak diketahui pada saat waktu kompilasi.
Execution time	:	
• Pengikatan ditunda sampai waktu eksekusi jika proses
dapat dipindahkan selama eksekusi dari satu segmen
memori ke segmen memori lain
• Memerlukan dukungan perangkat keras untuk memetakan
alamat (misalnya register basis dan limit).
dynamic loading
• sebuah rutin tidak disimpan di	memori sampai dipanggil
• disimpan pada disk dalam format relocatable load
• utilitas ruang memori yang lebih baik
Mekanisme dynamic loading
• program utama di-load dahulu dan dieksekusi.	
• Bila	suatu routine perlu memanggil routine lain,	routine yang
dipanggil lebih dahulu diperiksa apakah rutin yang dipanggil sudah
di-load.	
• Jika tidak,	relocatable linking loader dipanggil untuk me-load rutin
yg diminta ke memori dan mengubah tabel alamat.
Keuntungan dynamic loading
• rutin yang tidak digunakan tidak pernah di-load
• berguna untuk kode dalam jumlah besar
• untuk menangani kasus-kasus	yang jarang terjadi seperti error
routine
• tidak memerlukan dukungan khusus dari sistem operasi
Dinamic Linking	
• Sebagian besar sistem operasi hanya men-support	static linking,	
dimana sistem library language diperlakukan seperti obyek modul
yang lain dan dikombinasikan dengan loader ke dalam binary
program image
• linking ditunda sampai waktu eksekusi
• Proses memanggil system library
• dynamic linking berekstensi .dll,	.sys atau .drv
Proses >	Memory
• Overlay
• menyimpan di	memori hanya instruksi dan data yang diperlukan pada
satu waktu.	
• Jika intruksi lain diperlukan,	maka instruksi tersebut diletakkan di	ruang
memori menggantikan instruksi yang tidak digunakan lagi.	
• Overlay tidak membutuhkan dukungan khusus dari sistem operasi
• Digunakan beberapa sistem yang mempunyai jumlah memori fisik
terbatas dan kekurangan dukungan H/W	untuk teknik yang lebih lanjut.
Logical	Vs	Physical Address
• Logical
• digenerate oleh CPU
• Bisa dilihat oleh user
• Mapping	logical à Physical
• Physical
• tersedia di	memorià MMU
• Tidak bisa dilihat oleh user
SWAPPING	
• proses harus berada di	memori untuk dieksekusi.	
• Proses juga dapat ditukar (swap)	sementara keluar memori
dan kemudian dibawa kembali ke memori untuk melanjutkan
eksekusi.	
• disk besar dengan kecepatan tinggi yang cukup untuk
meletakkan copy dari semua memory image untuk semua
user
• Swap	in	:	penempatan proses dari memori sekunder ke
memori utama
• Swap	out:	penempatan proses dari memori utama ke
memori utama
Alokasi proses user pada memori
• single partition allocation
• multiple	partition allocation.
Single	Partition
• Kode	dan data sistem operasi harus diproteksi dari
perubahan tak terduga oleh user proses
• Proteksi
• register relokasi (relocation register)	dan
• register limit (limit register).
multiple	partition allocation
• mengijinkan memori user dialokasikan untuk proses yang
berbeda yang berada di	antrian input (input queue)	yang
menunggu dibawa ke memori.	
• partisi tetap (fixed partition)	
• partisi dinamis (variable	partition)
partisi tetap
• memori dibagi dalam sejumlah partisi tetap
• setiap partisi berisi tepat satu proses.	
• Ukuran partisi tetap
• Untuk di	konfigurasi ulang,	komputer harus di	shut down
• Memory	manager bertugas mengalokasikan ruang memori
untuk proses
• IBM	OS/360	
• 1950an	dan	1960an
partisi dinamis
• Jumlah partisi dan ukuran partisi dinamis
• Proses yang dialokasikan sama dengan kapasitas memori
yang diminta
• Teknik ini digunakan oleh Sistem Operasi mainframe IBM,	
OS/MVT
Fragmentasi Eksternal
• terjadi pada situasi cukup ruang memori total	untuk memenuhi
permintaan
• tetapi tidak dapat langsung dialokasikan karena tidak
berurutan.	
• Utilisasi memori menurun
Fragmentasi Internal
• terjadi pada situasi dimana memori yang dialokasikan lebih
besar dari pada memori yang diminta
• tetapi untuk satu partisi tertentu hanya berukuran kecil sehingga
tidak digunakan.
compaction - pemadatan
• teknik untuk mencegah external fragmentation
• OS	menggeser proses-proses yang jadi proses-proses- proses
tersebut contiguous
• Memori-memori yang tidak terpakai digabungkan dalam 1	
blok
• Menghabiskan waktu dan membuang waktu CPU
Algoritma Penempatan
PAGING	
• Memori utama dibagi menjadi frame-frame	yang berukuran sama.	
• Setiap proses dibagi menjadi page-page	yang berukuran sama yang
panjangnya sama dengan frame.	
• Sebuah proses dimuatkan dengan cara memuatkan seluruh pagenya
kedalam frame-frame	yang tersedia yang tidak perlu contiguous
• Kelebihan :	tidak ada fragmentasi eksternal
• Kekurangan :	fragmentasi internal	yang jumlahnya sedikit
Segmentation	
• Setiap proses dibagi menjadi beberapa segmen
• Proses dimuatkan dengan memuatkan,	mengurangi seluruh
segmennya kedalam bila dibandingkan dengan dynamic partition
yang tidak memerlukan contiguous
• Kelebihan :	tidak ada fragmentasi internal	
• Kekurangan :	meningkatkan utilitas menggunakan memori dan akan
terjadi overhead bila dilakukan dengan teknik dynamic partition
Hirarki Memory
Regs
L1 cache
(SRAM)
Main memory
(DRAM)
Local secondary storage
(local disks)
Makin Besar,
Lebih Lambat,
dan
Lebih murah
(per byte)
Remote secondary storage
(e.g., Web servers)
Local disks hold files
retrieved from disks
on remote servers
L2 cache
(SRAM)
L1 cache holds cache lines
retrieved from the L2 cache.
CPU registers hold words
retrieved from the L1 cache.
L2 cache holds cache lines
retrieved from L3 cache
L0:
L1:
L2:
L3:
L4:
L5:
Ukuran Makin Kecil,
Lebih Cepat,
dan
Lebih mahal
(per byte)
L3 cache
(SRAM)
L3 cache holds cache lines
retrieved from main memory.
L6:
Main memory holds disk
blocks retrieved from
local disks.
Daftar Pustaka
• William	Stallings(2012).	Operating	Systems	7th	Edition.	Prentice Hall.	
New	Jersey	halaman 305	– 334.	
• Avi	Silberschatz,	Peter	Galvin,	dan Grag Gagne (2013).	Operating	
Systems	CONCEPTS	ninth Edition.	John	Wiley &	Sons.	USA	Halaman
351	– 389.	
• Bryant,	R.	E.,	David	Richard,	O.	H.,	&	David	Richard,	O.	H.	
(2003). Computer	systems:	a	programmer's perspective (Vol.	2).	
Upper Saddle River:	Prentice Hall.
• Slide	perkuliahan Sistem Operasi Telkom University

9 man memoriaplot

  • 1.
    Manajemen Memori Setia Juli IrzalIsmail Instalasi dan Penggunaan Sistem Operasi Telkom University Hanya digunakan untuk kepentingan pengajaran di Telkom University
  • 2.
    Memori • Memori adalahtempat penyimpanan sementara pada sistem komputer • Sebelum dijalankan, program harus dibawa ke dalam memori
  • 3.
    Manajemen Memori • Mengalokasikanmemori utama ke program user • Melakukan re-klaim memori utama yang tidak lagi dibutuhkan/digunakan • Melindungi tiap area memori yang digunakan user dari program user lain. • Misal : memastikan bahwa tiap prograam hanya mengacu ke lokasi-lokasi yang telak dialokasikan untuk program-program tersebut
  • 4.
    Manajemen Memori • Jikaterdapat beberapa proses, • Antrian • sebagian besar waktu proses akan dipakai untuk menunggu I/O dan prosesor akan idle. • Dengan demikian memori perlu dialokasikan secara efisien guna menampung proses sebanyak mungkin ke dalam memory
  • 5.
  • 6.
    Address Binding • Cara pemetaaninstruksi dan data ke alamat memori • Pengikatan alamat
  • 7.
    Address Binding dilakukan padasaat: • Compile time • Load time • Execution time
  • 8.
    Waktu Compile • Jikalokasi memori diketahui sejak awal, kode absolutdapat dibangkitkan, • apabila terjadi perubahan alamat awal harus dilakukan kompilasi ulang. • Misalnya : • program format .com pada MS-DOS adalah kode absolut yang diikat pada saat waktu kompilasi
  • 9.
    Load time • Harus membangkitkankode relokasi jika lokasi memori tidak diketahui pada saat waktu kompilasi.
  • 10.
    Execution time : • Pengikatanditunda sampai waktu eksekusi jika proses dapat dipindahkan selama eksekusi dari satu segmen memori ke segmen memori lain • Memerlukan dukungan perangkat keras untuk memetakan alamat (misalnya register basis dan limit).
  • 11.
    dynamic loading • sebuahrutin tidak disimpan di memori sampai dipanggil • disimpan pada disk dalam format relocatable load • utilitas ruang memori yang lebih baik
  • 12.
    Mekanisme dynamic loading •program utama di-load dahulu dan dieksekusi. • Bila suatu routine perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa apakah rutin yang dipanggil sudah di-load. • Jika tidak, relocatable linking loader dipanggil untuk me-load rutin yg diminta ke memori dan mengubah tabel alamat.
  • 13.
    Keuntungan dynamic loading •rutin yang tidak digunakan tidak pernah di-load • berguna untuk kode dalam jumlah besar • untuk menangani kasus-kasus yang jarang terjadi seperti error routine • tidak memerlukan dukungan khusus dari sistem operasi
  • 14.
    Dinamic Linking • Sebagianbesar sistem operasi hanya men-support static linking, dimana sistem library language diperlakukan seperti obyek modul yang lain dan dikombinasikan dengan loader ke dalam binary program image • linking ditunda sampai waktu eksekusi • Proses memanggil system library • dynamic linking berekstensi .dll, .sys atau .drv
  • 15.
    Proses > Memory • Overlay •menyimpan di memori hanya instruksi dan data yang diperlukan pada satu waktu. • Jika intruksi lain diperlukan, maka instruksi tersebut diletakkan di ruang memori menggantikan instruksi yang tidak digunakan lagi. • Overlay tidak membutuhkan dukungan khusus dari sistem operasi • Digunakan beberapa sistem yang mempunyai jumlah memori fisik terbatas dan kekurangan dukungan H/W untuk teknik yang lebih lanjut.
  • 16.
    Logical Vs Physical Address • Logical •digenerate oleh CPU • Bisa dilihat oleh user • Mapping logical à Physical • Physical • tersedia di memorià MMU • Tidak bisa dilihat oleh user
  • 17.
    SWAPPING • proses harusberada di memori untuk dieksekusi. • Proses juga dapat ditukar (swap) sementara keluar memori dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi. • disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari semua memory image untuk semua user
  • 18.
    • Swap in : penempatan prosesdari memori sekunder ke memori utama • Swap out: penempatan proses dari memori utama ke memori utama
  • 19.
    Alokasi proses userpada memori • single partition allocation • multiple partition allocation.
  • 20.
    Single Partition • Kode dan datasistem operasi harus diproteksi dari perubahan tak terduga oleh user proses • Proteksi • register relokasi (relocation register) dan • register limit (limit register).
  • 21.
    multiple partition allocation • mengijinkanmemori user dialokasikan untuk proses yang berbeda yang berada di antrian input (input queue) yang menunggu dibawa ke memori. • partisi tetap (fixed partition) • partisi dinamis (variable partition)
  • 22.
    partisi tetap • memoridibagi dalam sejumlah partisi tetap • setiap partisi berisi tepat satu proses. • Ukuran partisi tetap • Untuk di konfigurasi ulang, komputer harus di shut down • Memory manager bertugas mengalokasikan ruang memori untuk proses • IBM OS/360 • 1950an dan 1960an
  • 23.
    partisi dinamis • Jumlahpartisi dan ukuran partisi dinamis • Proses yang dialokasikan sama dengan kapasitas memori yang diminta • Teknik ini digunakan oleh Sistem Operasi mainframe IBM, OS/MVT
  • 24.
    Fragmentasi Eksternal • terjadipada situasi cukup ruang memori total untuk memenuhi permintaan • tetapi tidak dapat langsung dialokasikan karena tidak berurutan. • Utilisasi memori menurun
  • 25.
    Fragmentasi Internal • terjadipada situasi dimana memori yang dialokasikan lebih besar dari pada memori yang diminta • tetapi untuk satu partisi tertentu hanya berukuran kecil sehingga tidak digunakan.
  • 26.
    compaction - pemadatan •teknik untuk mencegah external fragmentation • OS menggeser proses-proses yang jadi proses-proses- proses tersebut contiguous • Memori-memori yang tidak terpakai digabungkan dalam 1 blok • Menghabiskan waktu dan membuang waktu CPU
  • 27.
  • 28.
    PAGING • Memori utamadibagi menjadi frame-frame yang berukuran sama. • Setiap proses dibagi menjadi page-page yang berukuran sama yang panjangnya sama dengan frame. • Sebuah proses dimuatkan dengan cara memuatkan seluruh pagenya kedalam frame-frame yang tersedia yang tidak perlu contiguous • Kelebihan : tidak ada fragmentasi eksternal • Kekurangan : fragmentasi internal yang jumlahnya sedikit
  • 29.
    Segmentation • Setiap prosesdibagi menjadi beberapa segmen • Proses dimuatkan dengan memuatkan, mengurangi seluruh segmennya kedalam bila dibandingkan dengan dynamic partition yang tidak memerlukan contiguous • Kelebihan : tidak ada fragmentasi internal • Kekurangan : meningkatkan utilitas menggunakan memori dan akan terjadi overhead bila dilakukan dengan teknik dynamic partition
  • 30.
    Hirarki Memory Regs L1 cache (SRAM) Mainmemory (DRAM) Local secondary storage (local disks) Makin Besar, Lebih Lambat, dan Lebih murah (per byte) Remote secondary storage (e.g., Web servers) Local disks hold files retrieved from disks on remote servers L2 cache (SRAM) L1 cache holds cache lines retrieved from the L2 cache. CPU registers hold words retrieved from the L1 cache. L2 cache holds cache lines retrieved from L3 cache L0: L1: L2: L3: L4: L5: Ukuran Makin Kecil, Lebih Cepat, dan Lebih mahal (per byte) L3 cache (SRAM) L3 cache holds cache lines retrieved from main memory. L6: Main memory holds disk blocks retrieved from local disks.
  • 31.
    Daftar Pustaka • William Stallings(2012). Operating Systems 7th Edition. PrenticeHall. New Jersey halaman 305 – 334. • Avi Silberschatz, Peter Galvin, dan Grag Gagne (2013). Operating Systems CONCEPTS ninth Edition. John Wiley & Sons. USA Halaman 351 – 389. • Bryant, R. E., David Richard, O. H., & David Richard, O. H. (2003). Computer systems: a programmer's perspective (Vol. 2). Upper Saddle River: Prentice Hall. • Slide perkuliahan Sistem Operasi Telkom University