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