Minggu, 04 Oktober 2015

Pagging dan Segmentasi


Sistem Paging

     Sistem paging adalah suatu sistem manajemen pada sistem operasi yang mengatur program yang sedang berjalan. Metode dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok yang berukuran tertentu yang disebut dengan frame dan memecah memori logika menjadi bok-blok yang berukuran sama dengan frame yang disebut page. Untuk mengatasi apabila suatu program lebih besar dibandingkan dengan memori utama adalah dengan konsep overlay dan konsep memori maya(virtual memori) :

* Konsep Overlay,
          yaitu dimana program yang di jalankan dipecah menjadi beberapa bagian yang dapat dimuat oleh memory (overlay), sedangkan yang belum dieksekusi akan disimpan di dalam disk, yang nantinya akan dimuat ke memori begitu diperlukan dalam ekekusi.

* Konsep Memori Maya
          yaitu kemampuan untuk mengalamati ruang memori melebihi memori utama yang tersedia.


Implementasi Sistem Paging
          Setiap sistem operasi mempunyai metode sendiri untuk menyimpan tabel page. Beberapa sistem operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel page disimpan dengan nilai register lainnya dari PCB. Pada dasarnya terdapat 3 metode yang berbeda untuk implementasi tabel page :


  1. Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register. Register berupa      rangkaian logika berkecepatan sangat tinggi untuk efisiensi translasi alamat paging. Contoh : DEC PDP-11. Alamat terdiri dari 16 bit dan ukuran page 8K. Sehingga tabel page berisi 8 entri yang disimpan pada register. Penggunaan register memenuhi jika tabel page kecil (tidak lebih dari 256 entry).  
  2. Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. Akan tetapi penggunaan metode ini memperlambat akses memori dengan faktor : pertama untuk lokasi tabel page dan kedua untuk lokasi alamat fisik yang diperlukan. 
  3. Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative registe. Merupakan solusi standar untuk permasalahan penggunaan memori untuk implementasi tabel page.

          Sedangkan tabel page digunakan untuk menerjemahkan memori logika ke memori fisik, dengan perantara MMU (Memory Management Unit), dan pengeksekusian proses akan mencari memori berdasarkan table page ini.

Segmentasi

          Segmentasi merupakan skema manajemen memori yang mendukung cara pandang seorang programmer terhadap memori. Ruang alamat logika merupakan sekumpulan dari segmen-segme. Masing-masing segment mempunyai panjang dan nama. Untuk lebih menyederhanakan implementasi, segmen-segmen diberi nomor yang digunakan sebagai pengganti nama segment. Sehingga, alamat logika terdiri dari dua tupple: [segment-number, offset]. 




Segmentasi Perangkat Keras
Setiap alamat dibangkitkan oleh CPU dengan membagi ke dalam 2 bagian yaitu :


  • Page number (p) digunakan sebagai indeks ke dalam table page (page table). Page table berisi alamat basis dari setiap page pada memori fisik.
  • Page offset (d) mengkombinasikan alamat basis dengan page offset untuk mendefinisikan alamat memori fisik yang dikirim ke unit memori. 
          Sebuah program adalah kumpulan segmen. Suatu segmen adalah unit logika seperti program utama, prosedur, fungsi, metode, obyek, variabel lokal, variabel global, blok umum, stack, tabel simbol, array dan lain-lain. Pandangan user terhadap sistem segmentasi dapat dilihat pada Gambar Arsitektur Segmentasi.

Alamat logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan(nomor segmen, offset)


Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari :
  • Segmen basis (base) berisi alamat fisik awal
  • Segmen limit merupakan panjang segmen. Seperti tabel page, tabel segmen dapat berupa register atau memori berkecepatan tinggi. Pada program yang berisi sejumlah segmen yang besar, maka harus menyimpan tabel page di memori.
  • Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table.
  • Segment-table length register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang digunakan program.
  • Untuk alamat logika (s, d), pertama diperiksa apakah segment number s legal (s < STLR), kemudian tambahkan segment number ke STBR, alamat hasil (STBR + s) ke memori dari segment table.

          Perangkat keras yang digunakan pada sistem segmentasi. Pemetaan dari alamat logika ke alamat fisik membutuhkan 2 acuan memori untuk setiap alamat logika. Hal ini akan menurunkan kecepatan sistem dengan faktor 2. Solusi standard yang digunakan adalah dengan cache (atau associative register) untuk menyimpan entri tabel segmen
 


  
       Dimulai dengan model 80386, microprocessor Intel menampilkan translasi alamat dengan 2 cara berbeda, yang disebut real mode dan protected mode. Real mode untuk memelihara kompatibilitas prosesor dengan model yang lebih lama dan untuk OS agar dapat melakukan bootstrap.

  • Segmentation Registers
          Logical address terdiri atas dua bagian : segment identifier dan sebuah offset yang menunjukkan alamat yang bersangkutan pada segment. Segment identifier adalah sebuah 16-bit field yang disebut segment selector. Untuk mempermudah memperoleh segment selectors dengan cepat, prosesor menyediakan segmentation register yang tujuannya hanya untuk memegang segment selectors. Ada enam segmentation register : cs, ss, ds, es, fs, dan gs.

  • Segment Descriptor 
          Setiap segment direpresentasikan dengan 8-byte segment descriptor yang menggambarkan karakteristik segment. Segment descriptor disimpan pada Global Descriptor Table(GDT) atau pada Local Descriptor Table(LDT). 


  •   Segment Selectors
            Untuk mempercepat pengubahan dari logical address ke linear address, Intel menyediakan nonprogrammable register tambahan untuk setiap dari 6 programmable segmentation registe  pada sebuah segmentation register, segment descriptor yang bersangkutan di-load dari memori ke nonprogrammable CPU register yang bersesuaian. Jadi, pengubahan dari logical address ke linear address dilakukan tanpa mengakses GDT atau LDT yang berada pada memori utama. 




-      Sebuah index 13-bit yang menunjukkan masukan segment descriptor yang berhubungan    yang terdapat pada GDT atau LDT.

-      Sebuah TI (tabe indicator) flag yang menunjukkan apakah segment descriptor terdapat pada GDt (Ti = 0) atau pada LDT (TI = 1).

-      Sebuah RPl (requestor privilege level) 2-bit field, yang membuat current privilege level cPu tepat saat segment selector yang berhubungan di-load ke register cs.





  • Segmentation Unit
  Segmentatipn Unit melakukan operasi-operasi berikut :
-      Memeriksa TI dari segment selector, untuk memutuskan apakah descriptor table berada pada segment descriptor.

-      Menghitung alamat dari segment descriptor dari index filed segment selector.

-      Menambahkan ke Base field dari segment descriptor, offset dari logical address, sehingga diperoleh linear address.











CARA MEMBUAT LONTONG

  Assalamuallaikum Wr.Wb'           Hallo sobat blogger ketemu lagi bersama saya, pada kali ini saya akan memposting tentang Cara Membua...