Saturday, December 14, 2019

SEGMENTASI (SISTEM OPERASI)

SEGMENTASI

Segmentasi merupakan skema manajemen memori yang 
mendukung cara pandang seorang programmer terhadap 
memori. Ruang alamat lojik merupakan sekumpulan dari
segmen-segmen. Masing-masing segment mempunyai 
panjang dan nama. Alamat diartikan sebagai nama segmen 
dan offset dalam suatu segmen. Jadi jika seorang pengguna 
ingin menunjuk sebuah alamat dapat dilakukan dengan 
menunjuk nama segmen dan offsetnya. Untuk lebih 
menyederhanakan implementasi, segmen-segmen diberi 
nomor yang digunakan sebagai pengganti nama segment. 
Sehingga, alamat lojik terdiri dari dua tupple 
[segment-number,offset].

Secara sederhana segmentasi bisa diartikan sebagai suatu 
ruang alamat atau segment yang berada di memori
Segment-segment itu dalam keadaan independent. Setiap
segment berisi alamat 0 sampai maksimum secara linier. 
Panjang setiap segment berbeda beda sampai panjang 
maksimun, perobahan panjang segment terjadi selama proses
eksekusi. Segment stack bertambah ketika terjadi operasi push 
dan turun saat operasi pop, dimana setiap segment merupakan 
ruang alamat terpisah segment-segment dapat tumbuh dan 
mengkerut secara bebas tanpa mempengaruhi yang lain.

Alamat terdiri dari dua bagian pada memori bersegment yaitu :
a.Nomor segment
b.Alamat pada segment (offset).
Segment dapat berisi :
a.Prosedure
b.Array

Sistem Segmentasi
Sistem dengan memori maya dengan segmentasi murni 
adalah alamat maya adalah offset di segment, setiap proses 
mempunyai tabel segment dan pada saat proses running 
alamat awal maya tabel dimuatkan ke register dasar. 
Nomor segment digunakan mencari deskriptor segment 
di tabel segment yang menyediakan alamat fisik awal dari 
segment, panjang dan bit-bit proteksinya. Alamat fisik 
dihitung dengan menambahkan alamat dasar segment 
ke alamat maya.

















Ilustrasi penggunaan segmen dapat dilihat pada Gambar 
“Arsitektur Segmentasi”. Suatu alamat lojik terdiri dari 
dua bagian, yaitu nomor segmen(s), dan offset pada segmen(d).
Nomor segmen digunakan sebagai indeks dalam segmen table. 
Offset d alamat lojik harus antara 0 hingga dengan segmen limit. 
Jika tidak maka diberikan pada sistem operasi. Jika offset 
ini legal maka akan dijumlahkan dengan segmen base untuk 
menjadikannya suatu alamat di memori fisik dari byte yang 
diinginkan. Jadi segmen table ini merupakan suatu array 
dari pasangan base dan limit register.




















Sebagai contoh, kita mempunyai nomor segmen dari 
0 sampai dengan 4. Segmen-segmen ini disimpan dalam 
suatu memori fisik. Tabel segmen berisi data untuk masing-masing
segmen, yang memberikan informasi tentang awal alamat 
dari segmen di fisik memori (atau base) dan panjang dari 
segmen (atau limit). Misalkan, segmen 2 mempunyai panjang 400
dan dimulai pada lokasi 4300. Jadi, referensi di byte 53 dari 
segmen 2 dipetakan ke lokasi 4300 + 53 = 4353. 
Suatu referensi ke segmen 3, byte 852, dipetakan ke 3200 
(sebagai base dari segmen) + 852 = 4052. 
Referensi ke byte 1222 dari segmen 0 akan menghasilkan
suatu trap ke sistem operasi, karena segmen ini hanya 
mempunyai panjang 1000 byte.

Segmen-segmen dapat berukuranberbeda dan dinamis. 
Pengacuan-pengacuan memori berbentuk (nomor segmen,offset).

















Saling Berbagi dan Proteksi
Segmen dapat terbagi jika terdapat elemen di tabel segmen 
yang berasal dari dua proses yang berbeda yang menunjuk 
pada alamat fisik yang sama. Saling berbagi ini muncul di
level segmen dan pada saat ini terjadi semua informasi dapat 
turut terbagi. Proteksi dapat terjadi karena ada bit-proteksi 
yang berhubungan dengan setiap elemen dari segmen tabel.
Bit-proteksi ini berguna untuk mencegah akses ilegal ke memori.
Caranya: menempatkan sebuah array di dalam segmen 
itu sehingga perangkat keras manajemen memori secara
otomatis akan mengecek indeks array -nya legal atau tidak.

Segmentasi dengan Pemberian Halaman
Kelebihan Pemberian Halaman : tidak ada fragmentasi 
                                                     luar - alokasinya cepat.
Kelebihan Segmentasi : saling berbagi - proteksi.

Metode segmentasi dan paging masing-masing memiliki 
keuntungan dan kerugian. Selain kedua metode itu ada 
metode pengaturan memori lain yang berusaha menggabungkan
metode segmentasi dan paging. Metode ini disebut dengan 
segmentation with paging. 
Dengan metode ini jika ukuran segmen melebihi ukuran 
memori utama maka segmen tersebut dibagi-bagi jadi 
ukuran-ukuran halaman yang sama ==> paging.

Keuntungan segmentasi :
1.Menyederhanakan penanganan struktur data yang 
   berkembang. Seringkali penanganan struktur data menuntut 
   perubahan panjang data. Hal ini dimungkinkan dengan adanya 
   segmentasi. Jadi dengan segmentasi membuat penanganan 
   struktur data menjadi fleksibel.

2.Kompilasi ulang independen tanpa mentautkan kembali 
   seluruh program. Teknik ini memungkinkan program-program 
   dikompilasi ulang secara independen tanpa perlu mentautkan 
   kembali seluruh program dan dimuatkan kembali. 
  Jika masing-masing prosedur terdapat di segmen terpisah 
  beralamat 0 sebagai alamat awal, maka pentautan prosedur
  prosedur yang dikompilasi secara terpisah sangat lebih mudah. 
  Setelah semua prosedur dikompilasi dan ditautkan, panggilan 
  ke prosedur di segmen n akan menggunakan alamat dua bagian 
  yaitu (n,0) mengacu ke word alamat 0 (sebagai titik masuk) 
  segmen ke n. Jika prosedur di segmen n dimodifikasi dan 
  dikompilasi ulang, prosedur lain tidak perlu diubah (karena tidak 
  ada modifikasi alamat awal) walau versi baru lebih besar 
  dibanding versi lama.

3.Memudahkan pemakaian memori bersama di antara 
   proses-proses. Pemrogram dapat menempatkan program 
   utilitas atau tabel data berguna di segmen yang dapat diacu
   oleh proses-proses lain. Segmentasi memberi fasilitas 
   pemakaian bersama terhadap prosedur dan data untuk 
   dapat diproses, berupa shared library. Pada workstation 
   modern yang menjalankan sistem Windows sering 
   mempunyai pustaka grafis sangat besar. Pustaka ini diacu 
   hampir semua program. Pada sistem bersegmen, pustaka 
   grafis diletakan di satu segmen dan dipakai secara bersama 
   banyak proses sehingga menghilangkan mempunyai
   pustaka di tiap ruang alamat proses. 

4.Memudahkan proteksi karena segmen dapat dikonstruksi 
   berisi sekumpulan prosedur atau data terdefinisi baik, 
   pemrogram atau administrator sistem dapat memberikan
   kewenangan pengaksesan secara nyaman.





























































Perbedaan Segmentasi dan Paging
Ada beberapa perbedaan antara Segmentasi dan Paging 
diantaranya adalah:
1.Segmentasi melibatkan programer (programer perlu 
   tahu teknik yang digunakan), sedangkan dengan paging, 
   programer tidak perlu tahu teknik yang digunakan.

2.Pada segmentasi kompilasi dilakukan secara terpisah 
   sedangkan pada paging, kompilasinya tidak terpisah.

3.Pada segmentasi proteksinya terpisah sedangkan pada 
   paging proteksinya tidak terpisah.

4.Pada segmentasi ada shared code sedangkan pada paging 
   tidak ada shared code.

5.Pada segmentasi terdapat banyak ruang alamat linier 
   sedangkan pada paging hanya terdapat satu ruang alamat linier.

6.Pada segmentasi prosedur dan data dapat dibedakan dan 
   diproteksi terpisah sedangkan pada paging prosedur dan 
   data tidak dapat dibedakan dan diproteksi terpisah.

7.Pada segmentasi pengubahan ukuran tabel dapat dilakukan 
   dengan mudah sedangkan pada Paging pengubahan 
   ukuran tabel tidak dapat dilakukan dengan mudah.

8.Segmentasi digunakan untuk mengizinkan program dan data 
  dapat dipecahkan jadi ruang alamat mandiri dan juga untuk 
  mendukung sharing dan proteksi sedangkan paging digunakan 
  untuk mendapatkan ruang alamat linier yang besar tanpa perlu 
  membeli memori fisik lebih.


Kombinasi Sistem Paging dan Segmentasi

A.Pada kombinasi paging dan segmentasi, ruang alamat 
   pemakai dibagi menjadi sejumlah segmen sesuai kehendak 
   pemrogram.
B.Tiap segmen dibagi menjadi sejumlah page berukuran tetap, 
    berukuran sama dengan page frame memori utama.
C.Jika segmen kurang dari ukuran page, segmen hanya 
    memerlukan satu page.

1.Memori Maya dengan Segmentasi Murni
   Perangkat keras memberikan pengacuan memori suatu 
   segmen tertentu. Pilihan segmen dapat dibuat dengan 
   sembarang kombinasi berikut :
   a.Instruksi
   b.Target dari suatu alamat (program atau data)
   c.Status saat itu (proses, sistem, interupsi)

   > Alamat maya adalah offset di segmen.
   >Tiap proses mempunyai tabel segmen.
   >Ketika proses running, alamat awal tabel dimuatkan 
     ke register dasar.
   >Nomor segmen digunakan untuk mencari deskriptor segmen 
     di tabel segmen yang menyediakan alamat fisik awal 
     dari segmen, panjang, dan bit-bit proteksinya.
   >Alamat fisik dihutung dengan menambahkan alamat dasar 
     segmen ke alamat maya.
   >Contoh sistem : Intel 80386

2.One Level Paging
   >Nomor page maya digunakan sebagai indeks ke tabel page 
     yang biasanya berlokasi di memori utama.
   >Isian tabel page berisi nomor page fisik dan bit-bit proteksi.
   >Offset pada page fisik sama dengan offset pada page maya.
   >Register panjang (Length register) digunakan untuk 
     menetapkan akhir tabel page untuk menghindari ruang yang 
     akan disiakan untuk isian-isian tak berguna.
   >Contoh Sistem : DEC PDP-11, DEC VAX, Data General 
     Eclipse, Motorola MC86030.

3.Two Level Paging
   >Indeks 1 ditambahkan ke alamat root atau dasar tabel 
     segmen untuk memperoleh alamat isian tabel segmen 
     (Segment Tabel Entry-STE)
   >STE dibaca dari memori dan alamat dasarnya ditambah 
     indeks 2 untuk memperoleh alamat isian tabel page 
     (Page Tabel Entry).
   >PTE dibaca dari memori untuk memperoleh nomor 
     page fisik. Nomor page fisik ini ditambah offset di alamat 
     maya untuk memperoleh alamat fisik akhir.
   >Contoh Sistem : DEC VAX, IBM S/370, Data General 
     Eclipse 32 bit, Motorola MC68030, Intel 80386.

4.Three Level Paging
   >Translasi nomor page maya ke nomor page fisik 
     memerlukan tiga tahap.
   >Tiap fields indeks ditambahkan alamat dasar tabel 
     yang berkorespondensi untuk menemukan isian tabel berikutnya.
   >Isian tabel menyediakan bit-bit proteksi dan alamat dasar
     tabel berikutnya.
   > Contoh Sistem : SUN SPARC 

5.Four Level Paging
   >Translasi nomor page maya ke nomor page fisik 
     memerlukan empat tahap.
   >Tiap fields indeks ditambahkan alamat dasar tabel yang 
     berkorespondensi untuk menemukan isian tabel berikutnya.
   >Isian tabel menyediakan bit-bit proteksi dan alamat dasar 
     tabel berikutnya.
   >Contoh Sistem : Motorola MC68030.

Sumber: Diolah dari berbagai sumber


                         >>>>>TERIMAKASIH<<<<<


No comments:

Post a Comment

ARSITEKTUR & ORGANISASI KOMPUTER (UNIT MASUKAN & KELUARAN)

UNIT MASUKAN DAN KELUARAN Definisi dan Fungsi: Unit masukan dan keluaran merupakan bagian komponen   utama dari sistem komputer ...