05 SO0910 Segmentasi Paging Intel Pentium
Tujuan Pembelajaran
Memahami konsep segmentasi
Memahami implementasi segmentasi dan
paging pada mesin intel pentium
Segmentasi
Tampilan memori dari sisi user
Segmentasi
1
4
1
2
3
2
4
3
user space
physical memory space
Deskripsi logis segmentasi
Ilustrasi Segmentasi
Versi segmentasi (dua dimensi)
Setiap tabel dapat bertambah atau berkurang secara independen
Segmentasi
Sebuah program terdiri dari banyak segment.
Setiap segmen dapat berisikan prosedur, fungsi,
stack, symbol table, array, dan lain-lain.
Masing-masing segmen Independen
Karakteristik :
- 1
proses = n blok segmen
- besar blok tidak tetap
Mirip dengan variable/dynamic partition
- Perbedaan:
alokasi memori dapat tidak berurutan
Satu proses dapat mempunyai lebih dari satu
partisi memori
Segmentasi
Terjadi Fragmentasi Eksternal
Logical address terdiri dari pasangan:
Petakan dua dimensi alamat () ke satu dimensi alamat fisik dengan
segment table
Segment table :
- base – alamat awal segmen di memori fisik.
-
limit – panjang segmen
Fragmentasi eksternal pada
segmentasi
Segmentasi
alur segmentasi
Contoh translasi alamat
Segmentasi
Alamat logika =
Alamat logika =
Alamat Fisik = 4300+53 =4353
Alamat logika =
Alamat Fisik = 3200+852 = 4052
Alamat logika =
Alamat Fisik = trapped !
contoh pemetaan dengan segmentasi
Intel Pentium
Mendukung segmentasi, paging, dan segmentasi
dengan paging
- Windows XP & UNIX → Paging
Mendukung jumlah segmen hingga 16K untuk setiap
proses
Max ruang virtual address untuk masing-masing
segmen 4Gb (232 bytes)
Logical address space terbagi menjadi dua partisi
Partisi pertama terdiri dari 8Kb segment (private)
Informasi partisi ini disimpan di LDT (Local Description Table)
Partisi kedua terdiri dari 8k segment (shared)
Informasi Partisi ini disimpan do GDT(Global Description Table)
Alur translasi alamat pada
intel pentium
Bagan bit selector
Selector 16 bit
Offset 32 bit
Segmentasi Intel Pentium
Pengalamatan memori dalam
Pentium
CPU menghasilkan logical address
-
Dikirim ke segmentation unit
-
Menghasilkan linear address
Linear address diberikan ke paging unit
Menghasilkan physical address dalam main memory
Jika pure segmentation, maka proses paging diabaikan dan linear
address dianggap sebagai alamat fisik
Jika tidak, segmentation dilanjutkan dengan paging, maka linear
address akan diubah menjadi physical address.
Penerjemahan alamat logika ke alamat fisik pada pentium
Segmentasi Intel Pentium
Arsitektur Paging diPentium
Pentium menggunakan paging dua
tingkat untuk page size 4KB
Linux Dalam Sistem pentium
Menggunakan 6 segmen : kernel code, kernel data, user
code, user data, TSS (taks state segmen) dan default LDT
Menggunakan paging tiga tingkat (three level paging) untuk
mesin 32 bit dan 64 bit
Nilai bit untuk middle directory=0, jika menggunakan two
level paging pada mesin pentium
Bagan page table tiga tingkat di linux
Linux di sistem pentium
Paging tiga tingkat
Pertanyaan
Bagaimana segmentasi bekerja?
Apa perbedaan segmentasi dengan
paging?
Terangkan struktur page table intel
pentium?
Terangkan struktur page table Linux
dalam intel pentium?
Latihan
Jika terdapat tabel segmen sebagai berikut :
Hitung alamat fisik dari alamat logika :
(a) 0,430
(b) 1,10
(c) 2,500
(d) 3,400
(e) 4,112
Jawaban
(a) 219 + 430 = 649
(b) 2300 + 10 = 2310
(c) ilegal, ditrap oleh sistem operasi
(d) 1327 + 400 = 1727
(e) ilegal, ditrap oleh sistem operasi
Memahami konsep segmentasi
Memahami implementasi segmentasi dan
paging pada mesin intel pentium
Segmentasi
Tampilan memori dari sisi user
Segmentasi
1
4
1
2
3
2
4
3
user space
physical memory space
Deskripsi logis segmentasi
Ilustrasi Segmentasi
Versi segmentasi (dua dimensi)
Setiap tabel dapat bertambah atau berkurang secara independen
Segmentasi
Sebuah program terdiri dari banyak segment.
Setiap segmen dapat berisikan prosedur, fungsi,
stack, symbol table, array, dan lain-lain.
Masing-masing segmen Independen
Karakteristik :
- 1
proses = n blok segmen
- besar blok tidak tetap
Mirip dengan variable/dynamic partition
- Perbedaan:
alokasi memori dapat tidak berurutan
Satu proses dapat mempunyai lebih dari satu
partisi memori
Segmentasi
Terjadi Fragmentasi Eksternal
Logical address terdiri dari pasangan:
Petakan dua dimensi alamat () ke satu dimensi alamat fisik dengan
segment table
Segment table :
- base – alamat awal segmen di memori fisik.
-
limit – panjang segmen
Fragmentasi eksternal pada
segmentasi
Segmentasi
alur segmentasi
Contoh translasi alamat
Segmentasi
Alamat logika =
Alamat logika =
Alamat Fisik = 4300+53 =4353
Alamat logika =
Alamat Fisik = 3200+852 = 4052
Alamat logika =
Alamat Fisik = trapped !
contoh pemetaan dengan segmentasi
Intel Pentium
Mendukung segmentasi, paging, dan segmentasi
dengan paging
- Windows XP & UNIX → Paging
Mendukung jumlah segmen hingga 16K untuk setiap
proses
Max ruang virtual address untuk masing-masing
segmen 4Gb (232 bytes)
Logical address space terbagi menjadi dua partisi
Partisi pertama terdiri dari 8Kb segment (private)
Informasi partisi ini disimpan di LDT (Local Description Table)
Partisi kedua terdiri dari 8k segment (shared)
Informasi Partisi ini disimpan do GDT(Global Description Table)
Alur translasi alamat pada
intel pentium
Bagan bit selector
Selector 16 bit
Offset 32 bit
Segmentasi Intel Pentium
Pengalamatan memori dalam
Pentium
CPU menghasilkan logical address
-
Dikirim ke segmentation unit
-
Menghasilkan linear address
Linear address diberikan ke paging unit
Menghasilkan physical address dalam main memory
Jika pure segmentation, maka proses paging diabaikan dan linear
address dianggap sebagai alamat fisik
Jika tidak, segmentation dilanjutkan dengan paging, maka linear
address akan diubah menjadi physical address.
Penerjemahan alamat logika ke alamat fisik pada pentium
Segmentasi Intel Pentium
Arsitektur Paging diPentium
Pentium menggunakan paging dua
tingkat untuk page size 4KB
Linux Dalam Sistem pentium
Menggunakan 6 segmen : kernel code, kernel data, user
code, user data, TSS (taks state segmen) dan default LDT
Menggunakan paging tiga tingkat (three level paging) untuk
mesin 32 bit dan 64 bit
Nilai bit untuk middle directory=0, jika menggunakan two
level paging pada mesin pentium
Bagan page table tiga tingkat di linux
Linux di sistem pentium
Paging tiga tingkat
Pertanyaan
Bagaimana segmentasi bekerja?
Apa perbedaan segmentasi dengan
paging?
Terangkan struktur page table intel
pentium?
Terangkan struktur page table Linux
dalam intel pentium?
Latihan
Jika terdapat tabel segmen sebagai berikut :
Hitung alamat fisik dari alamat logika :
(a) 0,430
(b) 1,10
(c) 2,500
(d) 3,400
(e) 4,112
Jawaban
(a) 219 + 430 = 649
(b) 2300 + 10 = 2310
(c) ilegal, ditrap oleh sistem operasi
(d) 1327 + 400 = 1727
(e) ilegal, ditrap oleh sistem operasi