Segmentasi
-
Upload
vance-merrill -
Category
Documents
-
view
57 -
download
6
description
Transcript of Segmentasi
![Page 1: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/1.jpg)
Segmentasi
Oleh :Solichul Huda, M.Kom
![Page 2: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/2.jpg)
Pendahuluan
• Menggunakan pemartisian Dinamis• Partisi dilakukan pada waktu akan
mengalkasikan proses baru ke memori utama (main memory)
![Page 3: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/3.jpg)
Karakteristik
• Memerlukan pengalamatan logika khusus yang memecah image proses menjadi bagian-bagian yang disebut segmen
• Pembagian segmen dilakukan oleh Compiler, dan pemecahan segmen menjadi unit logika program seperti, main program, stack, subroutine, symbol table
![Page 4: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/4.jpg)
Karakteristik
• Pemartisian utama terjadi secara dinamis pada saat alokasi proses
• Ukuran partisi diseuaikan dengan besar segmen program yang hendak dilakukan
• Sistem segmentasi menggunakan pengalokasian memori tak berurutan
• Segmentasi membutuhkan pengelolaan informasi mengenai seluruh area kosong / hole yang tersebar di memori utama
• Tidak terjadi fragmentasi internal
![Page 5: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/5.jpg)
Alokasi Memori
• Image proses dibagi menjadi beberapa segmen yang ukurannya tidak harus sama
• Pada saat image proses dialokasikan ke memori utama, segmen proses ditempatkan di memori utama yang kosong dan dicatat pada segmen table
• Segment table berisi rekaman nilai limit yang berisi panjang segmen dan nilai base yang berisi alamat awal bagian memori utama yang dialokasikan ke segmen
![Page 6: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/6.jpg)
Alokasi Memori
Limit Base
1000 1400
400 6300
400 4300
1100 3200
1000 4700
Subroutine
Main program
Symboltable
Sqrt
Stack
Segmen 0Segmen 3
Segmen 4segmen4
segmen2
Segmen 0
Segmen 3
segmen2
Segmen 4
segmen1
Segment tableLogical address space
1400
2400
3200
4300
4700
5700
6300
6700
0
1
2
3
4
![Page 7: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/7.jpg)
Translasi Alamat (Address binding)
• Memori sistem komputer menggunakan alamat 16 bit, maksimal kapasitan main memory = 64 Kb
• Bit alamat logika dipecah menjadi nomor segmen dan alamat offset
• Nomor segmen 4 bit, segingga maksimal 16 segmen
• Offset menggunakan 12 bit, maksimum ukuran segmen 4 Kb
![Page 8: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/8.jpg)
Translasi Alamat (Address binding)
• Misal dalam program terdapa instruksi jump[4848]
• Alamat logika 4848 : 0001001011110000
• Nomor segmen 0001• Alamat offset : 752
![Page 9: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/9.jpg)
Translasi Alamat (Address binding)
001011101110 0000010000000000
011110011110 0010000000100000
Length base
0
1
Dari tabel terlihat segmen 1 dialokasikan pada memori pisik8224, sehingga pada saat eksekusi alamat 4848 ditranslasi Menjadi = 8976
![Page 10: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/10.jpg)
Translasi Alamat (Address binding)
000100101110004 12 Jump [4848]
752
Process segment table
8224+
0001100111011110
![Page 11: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/11.jpg)
Proteksi
• Membandingkan nomor offset alamat logika yang diakses dengan nilai limit segmen pada tabel segmen
• Jika nilai offset (d) lebih besar dari nilai limit, berarti terjadi trap, informasi kepada SO telah terjadi kesalahan pengalamatan
![Page 12: Segmentasi](https://reader036.fdokumen.com/reader036/viewer/2022083005/568135d5550346895d9d4102/html5/thumbnails/12.jpg)
Memory Sharing
limit base
25286 43062
4425 68348
limit base
25286 43062
4425 68348editor
Data 1
editor
Data 2
editor
data1
data2
Physical memory
Segmen tabel P1
Segmen table P2
Harus ada rekaman tabel segmen
Logical memory proses P1