SlideShare a Scribd company logo
9 
Memori 
Edi Ismanto, S.T, M.Kom 
Mata Kuliah Sistem Operasi
2 
Memory Management 
 Latar Belakang 
 Swapping 
 Contiguous Allocation 
 Paging 
 Segmentation 
 Segmentation dengan Paging
3 
Latar Belakang 
· Untuk dieksekusi program harus berada dalam 
memori 
· Eksekusi: proses 
· Alokasi resources memori: ruang (tempat storage) untuk 
menyimpan data, instruksi, stack dll. 
· Problem: Memori secara fisik (besarnya storage) 
sangat terbatas ukurannya, 
· Manajemen storage: alokasi dan dealokasi untuk proses-proses 
· Utilisasi: optimal dan efisien
4 
alamat Binding 
 Sebalum eksekusi program berada di dalam 
disk, dan saat dieksekusi ia perlu berada 
pada suatu lokasi dalam memori fisik 
 alamat binding adalah menempatkan alamat 
relatif ke dalam adress fisik memori yang 
dapat berlangsung dalam di salah satu 
tahapan: kompilasi, load, atau eksekusi
5 
Tahapan Running Program 
 Tahapan kompilasi: source program (source 
code) dikompilasi menjadi object module 
(object code) 
 Tahapan link & load: object module di-link 
dengan object module lain menjadi load 
module (execution code) kemudian di-load ke 
memori untuk dieskekusi 
 Tahapan eksekusi: mungkin juga dilakukan 
dynamic linking dengan resident library
6 
Alamat Binding: Saat Kompilasi 
· Jika lokasi dari proses sudah diketahui 
sebelumnya maka saat kompilasi alamat-alamat 
instruksi dan data ditentukan dengan 
alamat fisik 
· jika terjadi perubahan pada lokasi tersebut 
maka harus direkompilasi
7 
Alamat Binding: Saat Load 
· Code hasil kompilasi masih menunjuk 
alamat-alamat secara relatif, saat di-load 
alamat-alamat disubstitusi dengan alamat 
fisik berdasar relokasi proses yang diterima 
· Jika terjadi perubahan relokasi maka code di-load 
ulang
8 
Alamat Binding: Saat Eksekusi 
 Binding bisa dilakukan ulang selama proses 
hal ini untuk memungkinkan pemindahan proses 
dari satu lokasi ke lokasi lain selama run 
 Perlu adanya dukungan hardware untuk 
pemetaan adress 
contoh: base register dan limit register
9 
Tahapan Pemrosesan User rogram
10 
Ruang Alamat Logik vs. Fisik 
 Konsep ruang alamat logik terhadap ruang alamat 
fisik adalah hal pokok dalam manajemen memori 
 alamat logik: alamat yang di-generate oleh CPU 
(disebut juga virtual alamat) 
 Berdasarkan eksekusi program 
 Note: Besarnya alamat program dapat lebih besar dari 
kapasitas memori fisik. 
 alamat fisik: alamat yang dikenal oleh unit memory 
 alamat sebenarnya yang digunakan untuk mengakses 
memori. 
 Perlu ada penerjemahan (translasi) dari alamat logik 
ke alamat fisik.
11 
Memory-Management Unit 
(MMU) 
 Perangkat Hardware yang memetakan alamat logik 
(virtual) ke alamat fisik. 
 Dalam skema MMU 
 Menyediakan perangkat register yang dapat di set oleh 
setiap CPU: setiap proses mempunyai data set register tsb 
(disimpan di PCB). 
 Base register dan limit register. 
 Harga dalam register base/relokasi ditambahkan ke setiap 
address proses user pada saat run di memori 
 Program user hanya berurusan dengan addressaddress 
logik saja
12 
Relokasi Dinamik menggunakan 
Register Relokasi
13 
Dynamic Loading 
 Rutin tidak akan di load jika tidak dipanggil (execute). 
 Pro’s: utilisasi memory-space, rutin yang tidak dieksekusi 
tidak akan dipanggil (program behaviour: 70-80% dari code). 
 Handling execption, error, atau pilihan yang jarang 
digunakan. 
 Tidak perlu dukungan khusus dari OS: 
 Overlay: memori terbatas dan program lebih besar dari 
memori. 
 Disusun berdasarkan hirarkis dalam bentuk tree: root – 
branch dan leaves (misalkan root harus ada di memory, 
sedangkan yang lain dapat di load bergantian). 
 Tidak dilakukan otomatis tapi harus dirancang oleh 
programmer (user).
14 
Dynamic Linking 
 Linking ditunda sampai saat eksekusi 
 code menjadi berukuran kecil. 
 Program-program user tidak perlu menduplikasi 
system library 
 system library dipakai bersama 
 Mengurangi pemakaian space: satu rutin library di 
memory digunakan secara bersama oleh sekumpulan 
proses. 
 Contoh: DLL (dynamic linking library) Win32 
 Mekanisme menggunakan skema Stub 
 stub: suatu potongan kecil code menggantikan referensi 
rutin (dan cara meload rutin tsb)
15 
Overlay 
 Overlay membagi program yang besar menjadi 
bagian-bagian yang lebih kecil dan daat dimuat 
dalam memori utama. 
 Dibutuhkan ketika proses yang ada lebih besar 
dibandingkan memori yang tersedia 
 Diimplementasikan oleh user, tidak ada dukungan 
khusus dari sistem operasi, disain program pada 
struktrur overlay cukup kompleks.
16 
Overlay pada Two-Pass Assembler
17 
Swapping 
 Suatu proses dapat di-swap secara temporary keluar dari memori 
dan dimasukkan ke backing store, dan dapat dimasukkan kembali 
ke dalam memori pada eksekusi selanjutnya. 
 Backing store –disk cepat yang cukup besar untuk mengakomodasi 
copy semua memori image pada semua user; menyediakan akses 
langsung ke memori image. 
 Roll out, roll in – varian swapping yang digunakan dalam 
penjadualan prioritas; proses dengan prioritas rendah di-swap out, 
sehingga proses dengan prioritas tinggi dapat di-load dan 
dieksekusi. 
 Bagian terbesar dari swap time adalah transfer time, total transfer 
time secara proporsional dihitung dari jumlah memori yang di swap. 
 Modifikasi swapping dapat ditemukan pada sistem UNIX, Linux dan 
Windows.
18 
Skema Swapping
19 
Contiguous Allocation 
 Memori utama biasanya terbagi dalam dua bagian: 
 Resident operating system, biasanya tersimpan di alamat 
memori rendah termasuk interrupt vector . 
 User proces menggunakan memori beralamat tinggi/besar. 
 Single-partition allocation 
 Relokasi register digunakan untuk memproteksi masing-masing 
user proses dan perubahan kode sistem operasi 
dan data. 
 Relokasi register terdiri dari alamat fisik bernilai rendah; 
limit register terdiri dari rentang/range alamat logik, setiap 
alamat logik harus lebih kecil dari limit register.
20 
Dukungan Hardware untuk Relokasi dan 
Limit Register
21 
Multiple-Partition Allocation 
 Partisi Fixed-Sized (MFT) 
 Memori dibagi menjadi beberapa blok dengan ukuran 
tertentu yang seragam 
 Jumlah proses yang bisa running max hanya sejumlah blok 
yang disediakan(misal IBM OS/360) 
 Partisi Variabel-Size (MVT) 
 Pembagian memori sesuai dengan request dari proses-proses 
yang ada. 
 Lebih rumit karena ukuran alokasi (partisi) memori dapat 
bervariasi 
 Peranan memori manajemen semakin penting: list dari 
partisi yang digunakan, free dll.
22 
Contoh: Multiple Allocation
23 
Masalah pada Dynamic Storage- 
Allocation 
Bagaimana agar proses berukuran n dapat menempati 
hole yang bebas 
 First-fit: Mengalokasikan proses pada hole pertama 
yang ditemui yang besarnya mencukupi 
 Best-fit: Mengalokasikan proses pada hole dengan 
besar paling cocok (fragmentasinya kecil). 
 Worst-fit: Mengalokasikan proses pada hole dengan 
fragmentasi terbesar. 
First-fit dan best-fit lebih baik dibandingkan worst-fit dalam 
hal kecepatan dan pemanfaatan storage.
24 
Fragmentasi (issue) 
 External (masalah variable sized partition): 
 Ruang memori free, namun tidak contiguous. 
 Hole-hole ada di antara proses-proses berturutan. 
 Tidak dapat digunakan karena proses terlalu 
besar untuk menggunakannya. 
 Internal (masalah fixed size): 
 Sifat program dinamis (alokasi dan dealokasi). 
 Memori yang teralokasi mungkin lebih besar dari 
memori yang diminta (wasted).
25 
Paging 
 Membagi memori fisik ke dalam blok (page, frame) 
dengan ukuran tertentu (fixed) yang seragam. 
 Memudahkan manajemen free memory (hole) yang dapat 
bervariasi. 
 Tidak perlu menggabungkan hole menjadi blok yang besar 
seperti pada variable partition (compaction). 
 OS lebih sederhana dalam mengontrol (proteksi dan 
kebijakan) pemakaian memori untuk satu proses. 
 Standard ukuran blok memori fisik yang 
dialokasikan (de-alokasi) untuk setiap proses. 
 Ukuranya (tergantung OS): 512 byte s/d 16 KB.
26 
Page Allocation 
 Alokasi: 
 Terdapat “free list” yang menyimpan informasi “frame” di 
memori fisik yang tidak digunakan 
 Tergantung besarnya proses => memerlukan n pages 
 Alokasi frame diberikan sesuai dengan permintaan 
(demand, expand). 
 Implikasi: 
 User’s (program) view (logical address): memori 
dialokasikan secara sinambung (contiguous) 
 Fakta (physical address): memori fisik tersebar 
(noncontiguous) sesuai dengan frame yang dialokasikan.
27 
Skema Paging 
 Bagaimana menjembatani antara “user’s view” dan 
alokasi memori sebenarnya? 
 Penerjemahan (translasi) alamat logical ke alamat fisik => 
tugas dari OS (user/program “transparant”). 
 Perlu dukungan hardware (CPU) => address translation. 
 Setiap proses mempunyai informasi “pages” yang 
dialokasikan oleh OS 
 Mapping setiap alamat logical ke alamat fisik 
 Issue: mekanisme mudah, cepat dan efisien. 
 Page table: berisi “base address” (alamat fisik) dari frame 
yang telah dialokasikan ke proses tsb.
28 
Page table 
 Setiap OS mempunyai cara menyimpan page table 
untuks setiap proses 
 Page table bagian dari setiap proses. 
 Page table berada di memori, saat proses tersebut 
dieksekusi. 
 Informasi page table disimpan oleh PCB: pointer ke page 
table dari proses tersebut. 
 Setiap kali terjadi context switch => informasi page table 
untuk proses yang baru harus di restore (misalkan 
referensi/pointer lokasi page table tsb. di memori).
29 
Page table (h/w support) 
 Menggunakan “fast register” 
 Contoh: DEC PDP11 : 16 bit address (logical 216 ): 64K, page size 
8K (213 ). 
 Memerlukan page table dengan: 8 entry (dapat diterapkan pada 
hardware register, hanya 3 bit) 
 Untuk komputer modern sulit menggunakan fast register 
 Pentium : 32 bit address logical (total: 4 GB), page size (8K), maka 
mempunyai potensi entry: 524.288 entry. 
 Page table disimpan pada memori (bagian program) dengan 
menggunakan page table base register 
 Page-table base register (PTBR) : pointer ke page-table di memori. 
 Page-table length register (PTLR) : besarnya ukuran page table 
(karena tidak semua proses memerlukan ukuran page tabel max.)
30 
Paging: translation 
 Address logik dari CPU dianggap terdiri atas dua 
bagian: 
 Page number (p): merupakan indeks dalam tabel yang 
berisi base address dari tiap page dalam memori fisik 
 Page offset (d): menunjukkan lokasi address memori 
berdasarkan “base address” pada page tersebut.
31 
Address: hardware support
32 
Contoh Paging
33 
Model Paging
34 
Contoh : 
Misalkan LA: 4 bits (max. logical addres: 16 
lokasi) 
 Page size => 4 bytes (ditentukan oleh 
designerOS). 
 2 bits: menunjuk ke alamat dari masing-masing byte 
dalam setiap page tersebut. 
 Page table: tersisa 2 bits 
 Max. 4 entry 
 Jadi setiap proses max. akan menggunakan 4 pages 
=> mencakup seluruh alamat logical.
35 
Contoh (2)
36 
Contoh (3) : 
 Logical address: 11 10 (program view: 14 desimal => “o”) 
 Page translation (physical memory allocation): 
 Bagian: p (index page) => base address dari frame. 
Binary 11 => 3 (index = 3 dari page table) 
=> berisi base address untuk frame 2 di memori. 
 Bagian offset: d (displacement) 
Binary 10 => 2 
 Alamat fisik: 
base address frame 2 : 2 * 4 => 8; 
=> 8 + 2 = 10 (berisi “o”).
37 
Frame table 
 OS harus mempunyai informasi “frame” dari 
memori fisik: 
 Berapa banyak frame yang bebas? 
 Mana saja frame yang bebas (identifikasi) => 
frame table (list) 
 Informasi hubungan antara satu frame dengan 
page mana dari proses yang aktif 
 List ini akan terus di-update, misalkan jika proses 
terminate maka semua frame yang dialokasikan 
akan di kembalikan ke free list.
38 
Frame Bebas 
Before allocation After allocation
39 
Page size 
 Fragmentasi internal pada page terakhir 
 Tidak ada fragmentasi eksternal 
 Fragmentasi internal bisa terjadi 
 Worst-case: 
 Untuk proses yang memerlukan n page + 1 byte 
 bila ukuran page = 4096 byte maka akan terbuang 4095 byte / process 
 Besarnya ukuran pages 
 Independent dari program/proses (system wide) 
 Intuitif: small pages preferable 
 Apakah keuntungan ukuran pages kecil? 
 Page table entry dapat dikurangi dengan memperbesar ukuran pages 
 Apakah keuntungan ukuran pages besar? 
 Umumnya page disesuaikan dengan kapasitas memori (tipikal) pada sistim 
(range: 2 – 8 Kbytes)
40 
Implementasi Page Table 
 Page table disimpan di main memory. 
 Page-table base register (PTBR) menunjuk ke page table. 
 Page-table length register (PRLR) mengindikasikan ukuran 
page table. 
 Pada skema ini, setiap akses data/instruksi membutuhkan 
dua memori akses. Satu untuk page table dan satu untuk 
data/instruksi. 
 Masalah yang ada pada dua akses memori dapat 
diselesaikan dengan menggunakan cache memori 
berkecepatan tinggi yang disebut associative memory or 
translation look-aside buffers (TLBs)
41 
Paging Hardware dengan TLB
42 
Multilevel Paging 
 Address logical besar => page table menjadi besar. 
 Misalkan: LA => 32 bits, dan ukuran page frame: 12 bits, 
maka page table: 20 bits (2^20 => 1 MB). 
 Page table dapat dipisah dalam bentuk pages juga, 
sehingga tidak semua page table harus berada di memori. 
 Address lojik terdiri atas: section number s, page 
number p, offset d 
 s indeks ke dalam outer page table dan p displacement 
dalam page table
43 
Two level page table
44 
Translation: multilevel
45 
Proteksi Memory 
 Proteksi memori diimplementasikan dengan 
asosiasi proteksi bit pada setiap frame 
 Valid-invalid bit ditambahkan/dimasukkan pada 
page table : 
 Bit akan diset valid jika page yang bersangkutan ada 
pada area ruang alamat logika 
 Bit akan diset “invalid” jika page yang bersangkutan 
berada di luar area ruang alamat logika.
46 
Valid (v) or Invalid (i) Bit pada 
Page Table
47 
Inverted Page Table 
 Satu masukan untuk setiap real page dari 
memori 
Masukan dari alamat virtual disimpan pada 
lokasi real memori, dengan informasi proses 
pada page 
 Penurunan memori dibutuhkan untuk 
menyimpan setiap page table, tetapi setiap 
kenaikan waktu dibutuhkan untuk mencari 
tabel saat pager refference dilakukan
48 
Arsitektur Inverted Page Table
49 
Shared Pages 
 Shared code 
 Satu copy kode read-only (reentrant) dibagi diantara 
proses (contoh text editor, compiler, window system). 
 Shared code harus dimunculkan pada lokasi yang sama 
pada alamat logik semua proses. 
 Private code dan data 
 Setiap proses menyimpan sebagian copy kode dan data. 
 Page untuk kode private dan data dapat ditampilkan 
dimana saja pada ruang alamat logik.
50 
Contoh Shared Pages
51 
Segmentasi 
 Skema pengaturan memori yang mendukung user 
untuk melihat memori tersebut.. 
 Sebuah program merupakan kumpulan dari 
segment. Sebuah segement berisi unit logik seperti: 
main program, 
procedure, 
function, 
method, 
object, 
local variables, global variables, 
common block, 
stack, 
symbol table, arrays
52 
User View Program
53 
Pandangan Logik Segmentasi 
1 
3 
2 
4 
1 
4 
2 
3 
user space physical memory space
54 
Arsitektur Segmentasi 
 Alamat logik terdiri dari dua tuple: 
<segment-number, offset>, 
 Harus diset oleh programmer atau compiler untuk 
menyatakan berapa besar segment tersebut 
 Implikasi: segment bervariasi besarnya (bandingkan 
dengan page table: fixed dan single/flat address space => 
hardware yang menentukan berapa size) 
 Segment table – mapping dari LA ke PA 
 base table – berisi lokasi awal dari physical address 
dimana segment berada di memori. 
 limit table – berisi panjang (besar) dari segmen tersebut.
55 
Arsitektur Segmentasi (Cont.) 
 Relokasi. 
 Dynamic 
 Melalui segment table 
 Sharing. 
 Shared segments 
 Nomor segment yang sama 
 Alokasi. 
 first fit/best fit 
 external fragmentation
56 
Segmentasi Hardware
57 
Contoh Segmentasi
58 
Sharing of Segments
59 
Segmentasi Paging 
 Intel 386 
 Logical address (32 bits) dibagi atas 2: 
 Selector: Segment: S (13 bits), Descriptor Table (1 bit: 
Local or Global); Protection ( 2 bits) 
 Offset: 16 bits 
 Melalui Descriptor table 
 Selector menentukan entry pada table, melihat protection, 
dan menguji limit (tabel berisi informasi limit) 
 Menghasilkan linear address: Base address segment + 
offset 
 Logical Linear address: paging (besar page: 4 K), 2 level 
(10 bits untuk direktori dan 10 bits untuk page number), 
offset: 12 bits.
60 
Alamat Translasi Intel 30386

More Related Content

PDF
Ch 04 (Siklus Instruksi dan Interrupt)
PPTX
Normalisasi Basis Data
PPTX
Slide minggu 6 (citra digital)
PPTX
Data mining 4 konsep dasar klasifikasi
DOCX
Tugas imk hta
DOCX
Makalah Organisasi Komputer - Direct Memory Access (DMA)
PDF
Rpl 012 - perancangan berorientasi objek
PDF
Pertemuan 6 Infrastruktur Datawarehouse
Ch 04 (Siklus Instruksi dan Interrupt)
Normalisasi Basis Data
Slide minggu 6 (citra digital)
Data mining 4 konsep dasar klasifikasi
Tugas imk hta
Makalah Organisasi Komputer - Direct Memory Access (DMA)
Rpl 012 - perancangan berorientasi objek
Pertemuan 6 Infrastruktur Datawarehouse

What's hot (20)

DOCX
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
PDF
MultiProgramming and Time Sharing
PDF
Sistem input output
PPTX
Pertemuan 10 memory
PPT
Sistem File
DOCX
Materi Basis Data - Anomali dan Normalisasi
PDF
Perancangan dan Analisa Sistem
PPTX
Materi 3 Finite State Automata
PDF
Bab 4 operasi-operasi dasar pengolahan citra dijital
PPT
Struktur Data Tree
PDF
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
PDF
8 pengenalan input output
PPT
Tugas IMK : Ragam Dialog
PDF
[RPL2] Class Diagram dan Konsep Object Oriented (1)
PPTX
Data Flow Diagram
PPTX
Analisis Kebutuhan Sistem Informasi
PPTX
Sorting ppt
PPT
Modul 4 representasi pengetahuan
PPTX
Pushdown Automata
DOCX
Laporan analisis sistem informasi
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
MultiProgramming and Time Sharing
Sistem input output
Pertemuan 10 memory
Sistem File
Materi Basis Data - Anomali dan Normalisasi
Perancangan dan Analisa Sistem
Materi 3 Finite State Automata
Bab 4 operasi-operasi dasar pengolahan citra dijital
Struktur Data Tree
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
8 pengenalan input output
Tugas IMK : Ragam Dialog
[RPL2] Class Diagram dan Konsep Object Oriented (1)
Data Flow Diagram
Analisis Kebutuhan Sistem Informasi
Sorting ppt
Modul 4 representasi pengetahuan
Pushdown Automata
Laporan analisis sistem informasi
Ad

Similar to Memory (20)

PPT
Operating System--Memory
PPTX
Anggun Fatria - Manajemen Proses
PPT
 Manajemen memory dan Swapping
PPTX
Teori 5 Ruang Alamat Logika - Manajemen Memori
PPTX
Suci Arrum Meilani - Manajemen Memori
PPT
Zulyanti Megasari - Manajemen Memory
PPTX
20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptx
PPTX
Teknik Manajemen Memory.pptx
PPT
6.MANAJEMENMORIIiiiiiiiiiiiiiikkkkkii.ppt
PPTX
7.manajemen memory
PPT
6.MANAJEMEN_MEMORI.ppt
PPT
Bernis Sagita - Manajemen Memory
PPT
Slide4 manajemen memori _Bu Indra
PPT
Pertemuan 4 : Manajemen memori macam macam memori
PPT
Virtual Memory
PPT
6.MANAJEMENMORrrrr4rrrrrrrrrrrrI (1).ppt
PPTX
Robbin 8 Main memory
PPT
Ferli Apriadi - Manajemen Memory
PDF
9 man memoriaplot
PPTX
Manajemen Memory
Operating System--Memory
Anggun Fatria - Manajemen Proses
 Manajemen memory dan Swapping
Teori 5 Ruang Alamat Logika - Manajemen Memori
Suci Arrum Meilani - Manajemen Memori
Zulyanti Megasari - Manajemen Memory
20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptx
Teknik Manajemen Memory.pptx
6.MANAJEMENMORIIiiiiiiiiiiiiiikkkkkii.ppt
7.manajemen memory
6.MANAJEMEN_MEMORI.ppt
Bernis Sagita - Manajemen Memory
Slide4 manajemen memori _Bu Indra
Pertemuan 4 : Manajemen memori macam macam memori
Virtual Memory
6.MANAJEMENMORrrrr4rrrrrrrrrrrrI (1).ppt
Robbin 8 Main memory
Ferli Apriadi - Manajemen Memory
9 man memoriaplot
Manajemen Memory
Ad

More from eddie Ismantoe (20)

PDF
Object Oriented Programming (OOP) With Java Programming
PDF
Database with SQL Server
PDF
Modul Web Programming dengan PHP dan MySQL
PDF
Sistem Pendukung Keputusan Penerimaan Karyawan Dengan Metode Simple Additive ...
PDF
contoh portfolio project aplikasi sistem informasi publik (SIP) untuk badan p...
PDF
Interface Website Dinas Komunikasi dan Informatika Provinsi Riau dengan CSS B...
PDF
Interface Perancangan Website Komisi Informasi Provinsi Riau By Edi Ismanto
PDF
Interface Perancangan Website Dinas Tanama Pangan Provinsi Riau By Edi Ismanto
PDF
Contoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi Ismanto
PDF
Pratikum Sistem Operasi DOS pada Windows
PPT
Deadlock
PPT
Sinkronisasi
PPT
Penjadualan CPU
PPT
Thread di Sistem Operasi
PPT
Proses di Sistem Operasi
PPT
Struktur Sistem Operasi
PPT
Struktur Sistem Komputer
PPT
Pengantar Sistem Operasi
PPT
Introduction Operating System
PDF
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Object Oriented Programming (OOP) With Java Programming
Database with SQL Server
Modul Web Programming dengan PHP dan MySQL
Sistem Pendukung Keputusan Penerimaan Karyawan Dengan Metode Simple Additive ...
contoh portfolio project aplikasi sistem informasi publik (SIP) untuk badan p...
Interface Website Dinas Komunikasi dan Informatika Provinsi Riau dengan CSS B...
Interface Perancangan Website Komisi Informasi Provinsi Riau By Edi Ismanto
Interface Perancangan Website Dinas Tanama Pangan Provinsi Riau By Edi Ismanto
Contoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi Ismanto
Pratikum Sistem Operasi DOS pada Windows
Deadlock
Sinkronisasi
Penjadualan CPU
Thread di Sistem Operasi
Proses di Sistem Operasi
Struktur Sistem Operasi
Struktur Sistem Komputer
Pengantar Sistem Operasi
Introduction Operating System
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010

Recently uploaded (20)

PDF
PPT Yudisium Ceremony Agusus 2025 - new. pdf
PDF
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
PDF
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
PDF
Presentasi Aplikasi Persiapan ANBK 2025.pdf
PDF
GUIDE BOOK DMH SCHOLARSHIP...............................
PPTX
Modul 3 Prinsip-Pembelajaran-Mendalam.pptx
PPSX
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
PPTX
Materi-Geografi-Pendekatan-Konsep-dan-Prinsip-Geografi-Kelas-10.pptx
PPTX
PPT REVISED - SEMINAR PEMBELAJARAN MENDALAM .pptx
PPTX
Manajemen Risiko dalam Kegiatan Kepramukaan.pptx
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
PPTX
Paparan Penyesuaian Juknis BOSP Tahun 2025
PDF
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
PDF
Sosialisasi Menu DAK NF TA 2026 Promkeskom.pdf
PPTX
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
PPTX
Sejarah-Kelahiran-Pancasila kelas 8.pptx
DOCX
Modul Ajar Pembelajaran Mendalam PJOK Kelas X Terbaru 2025
PPT Yudisium Ceremony Agusus 2025 - new. pdf
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
Presentasi Aplikasi Persiapan ANBK 2025.pdf
GUIDE BOOK DMH SCHOLARSHIP...............................
Modul 3 Prinsip-Pembelajaran-Mendalam.pptx
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
Materi-Geografi-Pendekatan-Konsep-dan-Prinsip-Geografi-Kelas-10.pptx
PPT REVISED - SEMINAR PEMBELAJARAN MENDALAM .pptx
Manajemen Risiko dalam Kegiatan Kepramukaan.pptx
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
Paparan Penyesuaian Juknis BOSP Tahun 2025
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
Sosialisasi Menu DAK NF TA 2026 Promkeskom.pdf
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
Sejarah-Kelahiran-Pancasila kelas 8.pptx
Modul Ajar Pembelajaran Mendalam PJOK Kelas X Terbaru 2025

Memory

  • 1. 9 Memori Edi Ismanto, S.T, M.Kom Mata Kuliah Sistem Operasi
  • 2. 2 Memory Management  Latar Belakang  Swapping  Contiguous Allocation  Paging  Segmentation  Segmentation dengan Paging
  • 3. 3 Latar Belakang · Untuk dieksekusi program harus berada dalam memori · Eksekusi: proses · Alokasi resources memori: ruang (tempat storage) untuk menyimpan data, instruksi, stack dll. · Problem: Memori secara fisik (besarnya storage) sangat terbatas ukurannya, · Manajemen storage: alokasi dan dealokasi untuk proses-proses · Utilisasi: optimal dan efisien
  • 4. 4 alamat Binding  Sebalum eksekusi program berada di dalam disk, dan saat dieksekusi ia perlu berada pada suatu lokasi dalam memori fisik  alamat binding adalah menempatkan alamat relatif ke dalam adress fisik memori yang dapat berlangsung dalam di salah satu tahapan: kompilasi, load, atau eksekusi
  • 5. 5 Tahapan Running Program  Tahapan kompilasi: source program (source code) dikompilasi menjadi object module (object code)  Tahapan link & load: object module di-link dengan object module lain menjadi load module (execution code) kemudian di-load ke memori untuk dieskekusi  Tahapan eksekusi: mungkin juga dilakukan dynamic linking dengan resident library
  • 6. 6 Alamat Binding: Saat Kompilasi · Jika lokasi dari proses sudah diketahui sebelumnya maka saat kompilasi alamat-alamat instruksi dan data ditentukan dengan alamat fisik · jika terjadi perubahan pada lokasi tersebut maka harus direkompilasi
  • 7. 7 Alamat Binding: Saat Load · Code hasil kompilasi masih menunjuk alamat-alamat secara relatif, saat di-load alamat-alamat disubstitusi dengan alamat fisik berdasar relokasi proses yang diterima · Jika terjadi perubahan relokasi maka code di-load ulang
  • 8. 8 Alamat Binding: Saat Eksekusi  Binding bisa dilakukan ulang selama proses hal ini untuk memungkinkan pemindahan proses dari satu lokasi ke lokasi lain selama run  Perlu adanya dukungan hardware untuk pemetaan adress contoh: base register dan limit register
  • 9. 9 Tahapan Pemrosesan User rogram
  • 10. 10 Ruang Alamat Logik vs. Fisik  Konsep ruang alamat logik terhadap ruang alamat fisik adalah hal pokok dalam manajemen memori  alamat logik: alamat yang di-generate oleh CPU (disebut juga virtual alamat)  Berdasarkan eksekusi program  Note: Besarnya alamat program dapat lebih besar dari kapasitas memori fisik.  alamat fisik: alamat yang dikenal oleh unit memory  alamat sebenarnya yang digunakan untuk mengakses memori.  Perlu ada penerjemahan (translasi) dari alamat logik ke alamat fisik.
  • 11. 11 Memory-Management Unit (MMU)  Perangkat Hardware yang memetakan alamat logik (virtual) ke alamat fisik.  Dalam skema MMU  Menyediakan perangkat register yang dapat di set oleh setiap CPU: setiap proses mempunyai data set register tsb (disimpan di PCB).  Base register dan limit register.  Harga dalam register base/relokasi ditambahkan ke setiap address proses user pada saat run di memori  Program user hanya berurusan dengan addressaddress logik saja
  • 12. 12 Relokasi Dinamik menggunakan Register Relokasi
  • 13. 13 Dynamic Loading  Rutin tidak akan di load jika tidak dipanggil (execute).  Pro’s: utilisasi memory-space, rutin yang tidak dieksekusi tidak akan dipanggil (program behaviour: 70-80% dari code).  Handling execption, error, atau pilihan yang jarang digunakan.  Tidak perlu dukungan khusus dari OS:  Overlay: memori terbatas dan program lebih besar dari memori.  Disusun berdasarkan hirarkis dalam bentuk tree: root – branch dan leaves (misalkan root harus ada di memory, sedangkan yang lain dapat di load bergantian).  Tidak dilakukan otomatis tapi harus dirancang oleh programmer (user).
  • 14. 14 Dynamic Linking  Linking ditunda sampai saat eksekusi  code menjadi berukuran kecil.  Program-program user tidak perlu menduplikasi system library  system library dipakai bersama  Mengurangi pemakaian space: satu rutin library di memory digunakan secara bersama oleh sekumpulan proses.  Contoh: DLL (dynamic linking library) Win32  Mekanisme menggunakan skema Stub  stub: suatu potongan kecil code menggantikan referensi rutin (dan cara meload rutin tsb)
  • 15. 15 Overlay  Overlay membagi program yang besar menjadi bagian-bagian yang lebih kecil dan daat dimuat dalam memori utama.  Dibutuhkan ketika proses yang ada lebih besar dibandingkan memori yang tersedia  Diimplementasikan oleh user, tidak ada dukungan khusus dari sistem operasi, disain program pada struktrur overlay cukup kompleks.
  • 16. 16 Overlay pada Two-Pass Assembler
  • 17. 17 Swapping  Suatu proses dapat di-swap secara temporary keluar dari memori dan dimasukkan ke backing store, dan dapat dimasukkan kembali ke dalam memori pada eksekusi selanjutnya.  Backing store –disk cepat yang cukup besar untuk mengakomodasi copy semua memori image pada semua user; menyediakan akses langsung ke memori image.  Roll out, roll in – varian swapping yang digunakan dalam penjadualan prioritas; proses dengan prioritas rendah di-swap out, sehingga proses dengan prioritas tinggi dapat di-load dan dieksekusi.  Bagian terbesar dari swap time adalah transfer time, total transfer time secara proporsional dihitung dari jumlah memori yang di swap.  Modifikasi swapping dapat ditemukan pada sistem UNIX, Linux dan Windows.
  • 19. 19 Contiguous Allocation  Memori utama biasanya terbagi dalam dua bagian:  Resident operating system, biasanya tersimpan di alamat memori rendah termasuk interrupt vector .  User proces menggunakan memori beralamat tinggi/besar.  Single-partition allocation  Relokasi register digunakan untuk memproteksi masing-masing user proses dan perubahan kode sistem operasi dan data.  Relokasi register terdiri dari alamat fisik bernilai rendah; limit register terdiri dari rentang/range alamat logik, setiap alamat logik harus lebih kecil dari limit register.
  • 20. 20 Dukungan Hardware untuk Relokasi dan Limit Register
  • 21. 21 Multiple-Partition Allocation  Partisi Fixed-Sized (MFT)  Memori dibagi menjadi beberapa blok dengan ukuran tertentu yang seragam  Jumlah proses yang bisa running max hanya sejumlah blok yang disediakan(misal IBM OS/360)  Partisi Variabel-Size (MVT)  Pembagian memori sesuai dengan request dari proses-proses yang ada.  Lebih rumit karena ukuran alokasi (partisi) memori dapat bervariasi  Peranan memori manajemen semakin penting: list dari partisi yang digunakan, free dll.
  • 22. 22 Contoh: Multiple Allocation
  • 23. 23 Masalah pada Dynamic Storage- Allocation Bagaimana agar proses berukuran n dapat menempati hole yang bebas  First-fit: Mengalokasikan proses pada hole pertama yang ditemui yang besarnya mencukupi  Best-fit: Mengalokasikan proses pada hole dengan besar paling cocok (fragmentasinya kecil).  Worst-fit: Mengalokasikan proses pada hole dengan fragmentasi terbesar. First-fit dan best-fit lebih baik dibandingkan worst-fit dalam hal kecepatan dan pemanfaatan storage.
  • 24. 24 Fragmentasi (issue)  External (masalah variable sized partition):  Ruang memori free, namun tidak contiguous.  Hole-hole ada di antara proses-proses berturutan.  Tidak dapat digunakan karena proses terlalu besar untuk menggunakannya.  Internal (masalah fixed size):  Sifat program dinamis (alokasi dan dealokasi).  Memori yang teralokasi mungkin lebih besar dari memori yang diminta (wasted).
  • 25. 25 Paging  Membagi memori fisik ke dalam blok (page, frame) dengan ukuran tertentu (fixed) yang seragam.  Memudahkan manajemen free memory (hole) yang dapat bervariasi.  Tidak perlu menggabungkan hole menjadi blok yang besar seperti pada variable partition (compaction).  OS lebih sederhana dalam mengontrol (proteksi dan kebijakan) pemakaian memori untuk satu proses.  Standard ukuran blok memori fisik yang dialokasikan (de-alokasi) untuk setiap proses.  Ukuranya (tergantung OS): 512 byte s/d 16 KB.
  • 26. 26 Page Allocation  Alokasi:  Terdapat “free list” yang menyimpan informasi “frame” di memori fisik yang tidak digunakan  Tergantung besarnya proses => memerlukan n pages  Alokasi frame diberikan sesuai dengan permintaan (demand, expand).  Implikasi:  User’s (program) view (logical address): memori dialokasikan secara sinambung (contiguous)  Fakta (physical address): memori fisik tersebar (noncontiguous) sesuai dengan frame yang dialokasikan.
  • 27. 27 Skema Paging  Bagaimana menjembatani antara “user’s view” dan alokasi memori sebenarnya?  Penerjemahan (translasi) alamat logical ke alamat fisik => tugas dari OS (user/program “transparant”).  Perlu dukungan hardware (CPU) => address translation.  Setiap proses mempunyai informasi “pages” yang dialokasikan oleh OS  Mapping setiap alamat logical ke alamat fisik  Issue: mekanisme mudah, cepat dan efisien.  Page table: berisi “base address” (alamat fisik) dari frame yang telah dialokasikan ke proses tsb.
  • 28. 28 Page table  Setiap OS mempunyai cara menyimpan page table untuks setiap proses  Page table bagian dari setiap proses.  Page table berada di memori, saat proses tersebut dieksekusi.  Informasi page table disimpan oleh PCB: pointer ke page table dari proses tersebut.  Setiap kali terjadi context switch => informasi page table untuk proses yang baru harus di restore (misalkan referensi/pointer lokasi page table tsb. di memori).
  • 29. 29 Page table (h/w support)  Menggunakan “fast register”  Contoh: DEC PDP11 : 16 bit address (logical 216 ): 64K, page size 8K (213 ).  Memerlukan page table dengan: 8 entry (dapat diterapkan pada hardware register, hanya 3 bit)  Untuk komputer modern sulit menggunakan fast register  Pentium : 32 bit address logical (total: 4 GB), page size (8K), maka mempunyai potensi entry: 524.288 entry.  Page table disimpan pada memori (bagian program) dengan menggunakan page table base register  Page-table base register (PTBR) : pointer ke page-table di memori.  Page-table length register (PTLR) : besarnya ukuran page table (karena tidak semua proses memerlukan ukuran page tabel max.)
  • 30. 30 Paging: translation  Address logik dari CPU dianggap terdiri atas dua bagian:  Page number (p): merupakan indeks dalam tabel yang berisi base address dari tiap page dalam memori fisik  Page offset (d): menunjukkan lokasi address memori berdasarkan “base address” pada page tersebut.
  • 34. 34 Contoh : Misalkan LA: 4 bits (max. logical addres: 16 lokasi)  Page size => 4 bytes (ditentukan oleh designerOS).  2 bits: menunjuk ke alamat dari masing-masing byte dalam setiap page tersebut.  Page table: tersisa 2 bits  Max. 4 entry  Jadi setiap proses max. akan menggunakan 4 pages => mencakup seluruh alamat logical.
  • 36. 36 Contoh (3) :  Logical address: 11 10 (program view: 14 desimal => “o”)  Page translation (physical memory allocation):  Bagian: p (index page) => base address dari frame. Binary 11 => 3 (index = 3 dari page table) => berisi base address untuk frame 2 di memori.  Bagian offset: d (displacement) Binary 10 => 2  Alamat fisik: base address frame 2 : 2 * 4 => 8; => 8 + 2 = 10 (berisi “o”).
  • 37. 37 Frame table  OS harus mempunyai informasi “frame” dari memori fisik:  Berapa banyak frame yang bebas?  Mana saja frame yang bebas (identifikasi) => frame table (list)  Informasi hubungan antara satu frame dengan page mana dari proses yang aktif  List ini akan terus di-update, misalkan jika proses terminate maka semua frame yang dialokasikan akan di kembalikan ke free list.
  • 38. 38 Frame Bebas Before allocation After allocation
  • 39. 39 Page size  Fragmentasi internal pada page terakhir  Tidak ada fragmentasi eksternal  Fragmentasi internal bisa terjadi  Worst-case:  Untuk proses yang memerlukan n page + 1 byte  bila ukuran page = 4096 byte maka akan terbuang 4095 byte / process  Besarnya ukuran pages  Independent dari program/proses (system wide)  Intuitif: small pages preferable  Apakah keuntungan ukuran pages kecil?  Page table entry dapat dikurangi dengan memperbesar ukuran pages  Apakah keuntungan ukuran pages besar?  Umumnya page disesuaikan dengan kapasitas memori (tipikal) pada sistim (range: 2 – 8 Kbytes)
  • 40. 40 Implementasi Page Table  Page table disimpan di main memory.  Page-table base register (PTBR) menunjuk ke page table.  Page-table length register (PRLR) mengindikasikan ukuran page table.  Pada skema ini, setiap akses data/instruksi membutuhkan dua memori akses. Satu untuk page table dan satu untuk data/instruksi.  Masalah yang ada pada dua akses memori dapat diselesaikan dengan menggunakan cache memori berkecepatan tinggi yang disebut associative memory or translation look-aside buffers (TLBs)
  • 41. 41 Paging Hardware dengan TLB
  • 42. 42 Multilevel Paging  Address logical besar => page table menjadi besar.  Misalkan: LA => 32 bits, dan ukuran page frame: 12 bits, maka page table: 20 bits (2^20 => 1 MB).  Page table dapat dipisah dalam bentuk pages juga, sehingga tidak semua page table harus berada di memori.  Address lojik terdiri atas: section number s, page number p, offset d  s indeks ke dalam outer page table dan p displacement dalam page table
  • 43. 43 Two level page table
  • 45. 45 Proteksi Memory  Proteksi memori diimplementasikan dengan asosiasi proteksi bit pada setiap frame  Valid-invalid bit ditambahkan/dimasukkan pada page table :  Bit akan diset valid jika page yang bersangkutan ada pada area ruang alamat logika  Bit akan diset “invalid” jika page yang bersangkutan berada di luar area ruang alamat logika.
  • 46. 46 Valid (v) or Invalid (i) Bit pada Page Table
  • 47. 47 Inverted Page Table  Satu masukan untuk setiap real page dari memori Masukan dari alamat virtual disimpan pada lokasi real memori, dengan informasi proses pada page  Penurunan memori dibutuhkan untuk menyimpan setiap page table, tetapi setiap kenaikan waktu dibutuhkan untuk mencari tabel saat pager refference dilakukan
  • 49. 49 Shared Pages  Shared code  Satu copy kode read-only (reentrant) dibagi diantara proses (contoh text editor, compiler, window system).  Shared code harus dimunculkan pada lokasi yang sama pada alamat logik semua proses.  Private code dan data  Setiap proses menyimpan sebagian copy kode dan data.  Page untuk kode private dan data dapat ditampilkan dimana saja pada ruang alamat logik.
  • 51. 51 Segmentasi  Skema pengaturan memori yang mendukung user untuk melihat memori tersebut..  Sebuah program merupakan kumpulan dari segment. Sebuah segement berisi unit logik seperti: main program, procedure, function, method, object, local variables, global variables, common block, stack, symbol table, arrays
  • 52. 52 User View Program
  • 53. 53 Pandangan Logik Segmentasi 1 3 2 4 1 4 2 3 user space physical memory space
  • 54. 54 Arsitektur Segmentasi  Alamat logik terdiri dari dua tuple: <segment-number, offset>,  Harus diset oleh programmer atau compiler untuk menyatakan berapa besar segment tersebut  Implikasi: segment bervariasi besarnya (bandingkan dengan page table: fixed dan single/flat address space => hardware yang menentukan berapa size)  Segment table – mapping dari LA ke PA  base table – berisi lokasi awal dari physical address dimana segment berada di memori.  limit table – berisi panjang (besar) dari segmen tersebut.
  • 55. 55 Arsitektur Segmentasi (Cont.)  Relokasi.  Dynamic  Melalui segment table  Sharing.  Shared segments  Nomor segment yang sama  Alokasi.  first fit/best fit  external fragmentation
  • 58. 58 Sharing of Segments
  • 59. 59 Segmentasi Paging  Intel 386  Logical address (32 bits) dibagi atas 2:  Selector: Segment: S (13 bits), Descriptor Table (1 bit: Local or Global); Protection ( 2 bits)  Offset: 16 bits  Melalui Descriptor table  Selector menentukan entry pada table, melihat protection, dan menguji limit (tabel berisi informasi limit)  Menghasilkan linear address: Base address segment + offset  Logical Linear address: paging (besar page: 4 K), 2 level (10 bits untuk direktori dan 10 bits untuk page number), offset: 12 bits.
  • 60. 60 Alamat Translasi Intel 30386