Anda di halaman 1dari 37

MANAJEMEN MEMORI NYATA

Tim Dosen
FAKULTAS ILMU KOMPUTER UMI
MAKASSAR
NOVEMBER 2019
MANAJEMEN MEMORI NYATA
• Salah satu aspek rancangan sistem operasi yang paling sulit
adalah manajemen memori.
• Meskipun harga memori telah turun secara dramatis dan
berakibat pada bertambahnya ukuran memori pada mesin-mesin
modern, yang telah mencapai range gigabyte, tidak akan pernah
ada memori yang dapat menampung seluruh program dan
struktur data yang diperlukan oleh proses-proses aktif dan oleh
sistem operasi.
Tugas utama sistem operasi adalah untuk mengatur memori, yang
meliputi tugas memasukkan (swap in) dan mengeluarkan (swap
out) blok-blok data da memon sekunder.
1/O memori merupakan operasi yang lambat dan kecepatan
relatifnya terhadap waktu siklus instruksi prosesor semakin jauh
tertinggal dari tahun ke tahun.
Untuk menjaga agar prosesor tetap sibuk maka sistem operasi
harus dengan cerdik dapat mengatur swap in dan swap out
sehingga dapat meminimalkan efek 1/O memori terhadap kinerja.
Memori utama harus diaur sebaik mungkin supaya :
1 Meningkatkan utitas CPU yang sebesar-besarnya
2. Data dan mstruksi dapat diakses dengan cepat oleh CPU.
3.Memori utama memiliki kapasitas yang sangat terbatas, sehingga
pemakaian harus seefisien mungkin
4. Transfer data dari/ke memori ulama ke/da CPU dapat efisien
5. Memori merupakan pusat untuk operasi dai suatu operasi sistem
komputer modern
Gambar 1 Proses manajemen Memori
KONSEP DASAR MANAJEMEN MEMORI

• Operasi manajemen memori adalah membawa program-program ke dalam


memori utama untuk dieksekusi oleh prosesor.
• virtual memori didasarkan pada penggunaan salah satu atau dua buah
teknik dasar yaitu segmentasi dan paging.
• Sebelum menuju ke virtual memori, maka dapat disiapkan dasar teknik
teknik yang lebih sederhana yang tidak melibatkan virtual meinori. Di
bawah ini ada beberapa teknik untuk manajemen memori yang dibuat
menjadi table dengan menampilkan kekurangan dan kelebihannya sebagai
berikut
Gambar 2 teknik-teknik manajemen Memori
Pencatatan Pemakaian Memori
• Memori yang tersedia harus dikelola, dilakukan dengan pencatatan pemakaian
memori. Terdapat dua cara utana pencatatan pemakaian memori, yaitu:
1. Pencatatan Memakai Peta Bit: Memori dibagi menjadi unit-unit alokasi,
berkorespondensi dengan tiap urit alokasi adalah satu bit pada bit map.
a.Nilai 0 pada peta bit berarti unit itu masih bebas
b.Nilai 1 berarti unit digunakan

Masalah-masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi memor,
yaitu:
1.Unit lokasi memori berukuran kecil berarti membesarkan ukuran peta bit
2.Unit alokasi memori n berukuran besar berari peta bit kecil tap1 memori banyak
disiapkan pada unit terakhir jika ukuran proses bukan kelipatan unit alokasi
• Keunggulan:
1. Dealokasi dapat dilakukan secara mudah, hanya tinggal menset bit yang
berkorespondensi dengan un yang telah tidak digunakan dengan 0
• Kelemahan
1.Harus dilakukan penghitungan blok lubang memori saat unit memori bebas
2.Memerlukan ukuran bit map besar untuk memori yang besar.
pencatatan Memakai Senarai Berkait
(Linked List)
• Sistem operasi mengelolah senarai berkaitan (linkedlist) untuk
segmen-segmen memori yang telah dialokasikan dan behas
.Segmen memori menyatakan memori menyatakan memori
untuk proses atau memori yang bebas (lubang). Senarai
segmen diurutkan sesuai alamat blok. Memori yang digunakan
pada metode lebi kecil dibandingkan dengan peta bit.
• Kenggulan:
1. Tidak harus dilakukan perhitungan blok lubang memori
karena sudah tercatat di node
2.Memori yang diperlukan relative lebih kecil.
• Kelemahan
1. Dealokasi sulit dilakukan karenar terjadi berbagai operasi
peng gabungan node node di senarai.
Pengikatan Alamat (Address Binding)
• Pengikatan alamat adalah cara instruksi dan data (yang berada di disk sebagai file yang dapat
dieksekiusi) dipetakan ke alamat memori. Sebagian besar sistem memperbolehkan sebuah
proses user (user process) untuk meletakkan di sembarang tempat dari memori fisik. Sehingga,
meskipun alamat dari komputer dimulai pada 00000, alamat pertama dari proses user lidak
perlu harus dimulai 00000. Pada beberapa kasus, program user akan melalui beberapa langkah
sebelunm dieksekusi .
• Alamat pada source program umumnya merupakan alamat simbolik. Sebuah kompiler
biasanya melakukan pengikatan alamat simbolik (symbolic address) ke alamat relokasi
dipindah (relocatable address). Misalnya kompiler mengikatkan alamat simbolik ke alamat
relokasi "14 byte from the beginning of this module". Editor Linkage mengikatkan alamat
relokasi ini ke alamat absolute (absolute addresses) 74014". Instruksi pengikatan instruksi dan
data ke alamat memori dapat dilakukan pada saat:
1. Compile time: Jika lokasi memori diketahui sejak awal, kode absolut dapat dibangkitkan,
apabila terjadi perubahan alamat awal harus dilakukan konpilasi ulang. Misalnya: program format
.com pada MS- DOS adalah kode absolut yang diikat pada saat waktu kompilasi
2. Load time Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada saat
kompilasi.
3. Execution time: Pengikatan ditunda sampai waktu eksekusi jika proses dapat dipindalhkan
selama eksckusi dari satu segmen memnori ke segmen memori lain.
Gambar 3 Beberapa langkah Proses Program User
1. Dinamic Loading
Untuk memperoleh utilitas ruang memori, dapat menggunakan dynamic loading. dynamic
loading, sebuah rutin tidak disimpan di memori sampai dipanggil. Semua rutin disimpan
pada disk dalam format relocatableload. Mekanisme dari dynamic loading adalah program
utama di-load dahulu dan dicksekusi. Bila suatu routine perlu memanggil routine lain,
routine yang dipanggil lebih dahulu diperiksa untuk mengetahui apakah rutin yang
dipanggil sudah di-load. Jika tidak, relocatatble linking loader dipanggil untuk me-load
rutin yg diminta ke memori dan mengubah tabel alamat
2. Dinamic Linking
Sebagian besar sistem operasi hanya men-support static linking, di mana sistem library
language diperlakukan seperti obyek modul yang lain dan dikombinasikan dengan loader
ke dalam binary program image. Konsep dynamic linking sama dengan dynamie loading.
Pada saat loading, linking ditunda sampai waktu eksekusi.
3. Overlay
Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan untuk proses.
Teknik overlay biasanya digunakan untuk kasus ini. Teknik ini biasanya digunakan untuk
memungkinkan sebuah proses mempunyai jumlalh yang lebih besar dari memori fisik
daripada alokasi memori yang diper untukkan. Ide dari overlay adalah menyimpan di
memori hanya instruksi dan data yang diperlukan pada satu waktu. Jika instruksi lain
diperlukan, maka instruksi tersebut diletakkan di ruang memori menggantikan instruksi
yang tidak digunakan lagi.
Gambar 4 Overlay untuk Two Pass assemblies
RUANG ALAMAT LOGIKA DAN RUANG ALAMAT FISIK

Alamat yang dibangkitkan olch CPU disebut alamat logika (logical address) mana
alamaf terlihat sebagai uni memory yang disebut alamat fisik address).
Tujuan utana manajemen memori adalah konsep meletakkan ruang alamat logika ke
ruang alamat fisik. Hasil skema waktu kompilasi dan waktu pengikatan alamat pada
alamat logika dan alamat memori adalah sama. Tetapi, hasil skema waktu pengikatan
alanat waktu eksekusi berbeda. Dalam hal in, alamat logika disebut dengan alamat
maya (virtunl address).
Himpunan dari semua alamat logika yang dibangkitkan oleh program disebut dengan
ruang alamat logika (logical adress space), himpunan dari semua alamat fisik yang
berhubungan dengan alamat logika disebut dengan ruang alamat fisik (physical
address space).
Memory Manajemen Unit (MMU) adalah perangkat keras yang memetakan alanat
virtual ke alamat fisik, Pada skema MMU, nilai register relokasi ditambahkan ke setiap
alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.
SWAPPING
Multiple partition allocation mengizinkan memori user dialokasikan untuk proses
yang berbeda yang berada di antrian input (input queue) yang menunggu dibawa ke
memori. Terdapat dua skema yaitu partisi tetap (fixed partition) di mana memori
dibagi dalam sejumlah partisi tetap dan setiap partisi berisi tepat satu proses.
Menggunakan MVT, terdapat beberapa lubang dengan ukuran berbeda. Bila
proses datang clan memerlukan memori, dicari dari lubang yang cukup untuk proses.
Dynamic storage-allocation dapat dilibatkan untuk memenuhi permintaan ukuran
dari lubang yang bebas. Strategi yang digunakan meliputi:
• First-fit: Alokasi lubang pertama yang cukup untuk proses.
• Next-fit: Alokasi lubang berikutnya yang cukup untuk proses
• Best-fit: Alokasi lubang terkeeil yang cukup untuk proses. Strategi ini
memerlukan pencarian keseluruhan lubang, kecuali bila ukuran Sudah terurut.
• Worst-lit: Alokası lubang terbesar yang cukup untuk proses.
• Strategi n memerlukan pencarian keseluruhan lubang, kecuali disimpan
berdasarkan urutan ukuran.
• Quick-lit: Alokası lubang yang ditemui pertama kali yang kosong dan cukup
untuk proses.
1. First-Fit Algorithm
Strategi ini dapat dilakukan pada pencatalan memori dengan bit map
maupun Senarai berkait Manajer memori men-scan sampai menemukan
lubang besar yang mencukupi penempatan proses. Lubang dibagi dua,
untuk proses dan lubang iak digunakan, kecuali ketika lubang lersebut
tepat sama dengan ukuran yang diperlukan proses.

2. Next-Fit Algorithm
Strategi ini dapat dilakukan pada pencatatan memori dengan bit-map
maupun senarai berkait. Mekanisme algoritma ini sama dengan algoritma
first-fit algorithm, hanya tidak dimulai di awal tapi dari posisi terakhir kali
menemukan segmen paling cocok. Next-fit algorithm merupakan algoritma
dengan kinerja lebih buruk dibanding first-fit algorithm.

3. Best-Fit Algorithm
Strategi ini dapat dilakukan pada pencatatan memori dengan bit-map
maupun senarai berkait. Algoritma mencari sampai akhir dan mengambil
lubang terkecil yang dapat memuat proses. Algoritma ini mencoba
menemukan lubang yang mendekati ukuran yang diperlukan.
4. Worst-Fit Algorithm
Strategi ini dapat dilakukan pada pencatatan memori dengan bit-
map maupun senarai berkait. Selalu mencari lubang besar yang
tersedia sehingga lubang dapat dipecah menjadi cukup besar, agar
berguna untuk proses-proses berikutnya. Simulasi menuniukkan
bahwa worst-fit algorithm bukan gagasan yang bagus.

5. Quick-Fit Algorithm
Strategi ini hanya untuk pencatatan memori dengan senarai
berkait. Keempat algoritma dapat dipercepat dengan mengelola
dua senarai, yaitu senarai untuk proses dan senarai untuk lubang
memori. Dengan cara ini, saat alokas hanya perlu menginspeksi
senarai lubang, tidak perlu senarai proses
Sistem Buddy
Baik teknik partisi tetap maupun teknik partisi dinamik memiliki
kekurangan dan kelebihan. Teknik partisi tetap membatasi jumlah proses aktif
dan tidak dapat menggunakan ruang memori secara efisien apabila terjadi
banyak ketidaksesuaian antara ukuran partisi yang tersedia dengan ukuran
proses yang meminta memori tersebut. Teknik partisi dinamik akan lebih
kompleks untuk dilaksanakan dan memiliki overhead compaction.
Sistem buddy merupakan suatu jalan tengah yang baik untuk mengatasi
kekurangan baik teknik partisi tetap maupun teknik partisi dinamis
Alokasi Ruang Swap pada Disk
Strategi dan algoritma yang dibahas adalah untuk mencatat memori utama.
Ketika proses akan dimasukkan ke memori utama (swap-in), sistem dapat menemukan
ruang untuk proses-proses itu.
Terdapat dua strategi utama penempatan proses yang dikeluarkan dari memori utama
(swap-out) ke disk, yaitu:
1. Ruang disk tempat swap dialokasikan begitu diperlukan Ketika proses harus
dikeluarkan dari memori utama, ruang disk segera dialokasikan sesuai ukuran proses.
Untuk itu diperlukan algoritma untuk mengelola ruang disk seperti untuk mengelola
memori utama. Ketika proses dimasukkan kembalı ke memori utama, segera ruang dish
untuk swap didealokasikan.
2. Ruang disk tempat swap dialokasikan lebih dulu Saat proses diciptakan, ruang swap
pada disk dialokasikan. Ketika proses harus dikeluarkan dari memori utama, proses
selalu ditempatkan ke ruang yang telah dialokasikan, bukan ke tempat-tempat berbeda
setiap kali terjadi swap-out. Ketika proses berakhir, ruang swap pada disk
didealokasıkan
Fragmentasi
• Fragmentasi Eksternal terjadi pada situasi di mana terdapat cukup
ruang memori total untuk memenuhi permintaan, tetapi tidak
dapat langsung dialokasikan karena tidak berurutan. Fragmentasi
ek'sternal dilakukan pada algoritma alokasi dinamis, terutama
strategi first-fit dan best-fit.
• Fragmentasi Internal terjadi pada situasi di mana niemori yang
dialokasikan lebih besar daripada memori yang diminta, tetapi
untuk satu partisi tertentu hanya berukuran kecil sehingga tidak
digunakan. Pada multiple partition, fragmentasi internal mungkin
terjadi pada situasi berikut. Misalnya terdapat lubang 18464 byte,
dan proses meminta 18462 byte.
Gambar 5 Fregmentasi Internal
PAGING
Sistem paging mengimplementasikan ruang alamat besar pada
memon kecil menggunakan index register, base register, dan segment register,
dan sebagainya. User seolah mempunyai ruang memori sangat besar tanpa
mengelola overlay.
Terdapat beberapa istilah pada sistem paging, di antaranya
• Alamat maya (virtual address): Alamat maya merupakan alamat yang
dihasilkan dari perhitungan menggunakan index register, base registet,
segment register dan sebagainya. Ruang alamat yang dibentuk oleh alamat
maya disebut ruang alamat maya (virtual address spaces) yang diberi
symbol V, sedangkan jumlah alamat pada V disimbolkan dengan |V|.
Alamat maya diacu dari proses yang running alamat.
• Alamat nyata (real address): Alamat nyata merupakan suatu alamat di
memori utama fisik, ruang alamat yang dibentuk alamat nyata disebut
scbagai ruang alamat nyata (real address space) yang diberi simbol R
sedangkan jumlah alamat nyata disimbolkan dengan |R|
• Page: Page merupakan unit terkecil virtual memori space, ruang alamat
maya merupakan proses kelibatan dari page yang berukuran sama.
• Page frame: Page frame merupakan unit terkecil dari memori fisik, memori
fisik secara konseptual dibagi menjadi jumlah unit berukuran tefap tapi
page frame kadang juga disebut frame.
• Page fault: Page fault merupakan exception untuk permintaan alokas page
ke memori, dalam konteks memori maya, page fault sering juga disingkat
dengan fault.
Konsep Dasar Paging
Paging merupakan kemungkinan solusi untuk permasalahan
fragmentas eksternal di mana ruang alamat logika tidak berurutan;
mengizinkan sebuah proses dialokasikan pada memori fisik yang terakhir
tersedia. Memori fisik dibagi ke dalanm blok-blok ukuran tetap yang
disebut frame. Memori logika dibagi ke dalam blok-blok dengan ukuran
yang sama yang disebut page. Semua daftar frame yang bebas disimpan.
Untuk menjalankan program dengan ukuran n page, perlu menemukan n
frame bebas dan meletakkan program pada firame tersebut. Tabel page
(page table) digunakan untuk menerjemahkan alamat logika ke alamat
fisik. Setiap alamat dibangkitkan oleh CPU dengan membagi ke dalam 2
bagian yaitu:
1. Page number (p) digunakan sebagai indeks ke dalam table page (page
table). Page table berisi alamat basis dari setiap page pada memori fisik.
2. Page offset (d) mengombinasikan alamat basis dengan page offset
untuk mendefinisikan alana: memori fisik yang dikirim ke unit memori.
Gambar 6 Arsitektur Sistem Paging
Implementasi Sistem paging
1. Tabel page diimplementasikan sehagai kumpulan dari “dedicated” register.
Register berupa rangkaian logika berkccepatan sangat tinggi untuk efisiensi
translası alamat paging. Contoh: DEC PDP-11 Alamat terdiri atas 16 bit dan
ukuran page 8K. Sehingga tabel page berSI 8 entri yang disan pada register.
Penggunaan register memenuhi jika table page kecil (tidak lebih dari 256 entry)
2. tabel page yang disimpan di main memori dan menggunakan page table base
register (PTBR) untuk menunjuk ke table page yang disimpan di main memori.
Penggunaan memori untuk mengimplementasikan table page akan memungkinkan
tabel page sangat besar (sekitar 1 juta entry) Perubahan tabel page hanya mengubah
PTBR dan menurunkan waktu context-witch Akan tetapi, penggunaan metode ini
memperlambat akses memori dengan faktor 2 Hal ini dikarenakan untuk
mengakses memori, diperlukan dua langkah. pertama untuk kedua untuk lokasi
alamat fisik yaig diperlukan lokası alamat fisik yang diperlukan.
3. Menggunakan perangkat keras cache yang kusus, kecil dan cepat yang disebut
assocative regisler atau ranslanon look aside buljers (TLBs). Merupakan solusi
standar umtuk permasalahan penggunaan memori untuk implementası tabel page
Sekumpulan t5socialive regster berupa memori kecepatan tnggi. Sctiap register
lerdiı atas 2 bagian. yaitu key dan Value.
Jika asscitive memberikan item, akan dibandıngkan dengan semua
key secara simultan Jika item ditemukan, nilai yang berhubungan diberikan
Model 1ni menawarkan pencarian cepat, tetapi perangkat keras masih mahal.
Jumlah entry pada TLB bervariasi antara 8 s/d 2048 Mekanisme penggunaan
associalive register sebagai berikut:
*Associaive regisier berisi hanya beberapa entry tabel page (sampa dengan
ukuran maksimum)
*Jika memori logika dibangkitkan oleh CPU, nomor page berupa sekumpulan
associalive register yang berisi lnomor jage dan nomor frame yang
berkorespondensi
*Jika nomor page ditemukan pada ssoctatve register nomor frame segera
tersedia dan digunakan untuk mengakses memori.
*Sebaliknya, jika nomor pag dak ditemukan pada assoctaive register, acuan
memori ke tabel page harus dibuat
*jika nomor frame tersedia, maka dapat mengginakannya untuk mengakses
ke memori yang tepat
*Kemudian ditambahkan nomor page dan nomor frame ke associative
register sehingga akan mudah ditemukan pada acuan berikutnya.
*Setiap kali tabel page baru dipilih, TLB harus dihapus untuk menjamin
eksekusi proses berikutnya tidak menggunakan informasi translasi yang salah
Gambar 7 Perangkat Keras Paging dengan TLB
Proteksi
Pada model page, proteksi memori menggunakan bit proteksi yang
diasosiasikan untuk setiap frame. Biasanya bit proteksi dismpan pada table
page Satu bit mendefinisikan satu page untuk "read and write atau read
Only Setiap acuan ke memori melalui tabel page untuk menemukan nomor
frame yang benar. Level proteksi yang lebih baik dapat dicapai dengan
menambah jumlah bit yang digunakan.

Gambar 8 Valid Invalid Bit pada Tabel Page


• Multilevel Paging
Model ultilevel paging digunakan pada sistem yang mempunyai
ruang alamat logika yang sangat besar yaitu antara 232 s.d 264. Pada
sisten ini, tabel page akan menjadi sangat besar Misalnya untuk
sistem dengan ruang

• Snarea Page
Pada skema paging, dimungkinkan untuk sharing kode umum.
Bentuk ini penting terutama pada limgkungan time sharing. Satu copy
kode read-only dibagi ke beherapa proses (misalnya editor teks,
kompiler dan sIstem window). Kode yang dibagı harus berada pada
lokasi ruang alamat logika yang sama untuk semua proses. Kode dan
data pribadi (private) untuk setiap proses diletakkan terpisah dari kede
dan data pribadi proses lan Page untuk kode dan data pribadi dapat
diletakkan di sembarung tempat pada ruang alamat logika.
• Peta Alamat Virtual NT
setiap proses pengguna NT dapat melihat ruang 32 bit yang terpisah, yang mungkinkan 4
gigabyte memori per proses. Secara default, memori ini dicadangkan untuk sistem operasi sehingga
setiap pengguna sebenarnya memiki 2 gigabyte ruang alamat virtual yang lersedia dan semua proses
berbagi pakai 2 gigabyie niang sistem yang sama NT 4.0 memiliki suatu option yang mengizinkan
ruang pengguna untuk ditingkatkan hingga 3 gigabyte, yang menyisakan I gigabyte untuk ruang
sistem. Dokumentasi NT mengindikasikan bahwa feature ini dimaksudkan untuk mendukung aplikasi
yang membutuhkan memori dalam jumlah sangat banyak pada server yang memiliki RAM dalam
ukuran beberapa gigabyte, dan bahwa penggunaan ruang alamat yang lebih besar dapat menambah
kinerja secara dramatis untuk aplikasi-aplikasi seperti dukungan pengambilan keputusan atau data
pertambangan
• Paging NT
Pada dasarmya, pada saat proses dibuat, proses tersebut dapat memakai seluruh ruang
alamat pengguna sebesar 2 gigabyte sampai 128 kilobyte. Ruang ini dibagi menjadi sejumlah page
yang berukuran dibawa ke dalam memori utama. Pada praktiknya untuk memudahkan accounting,
sebuah page dapat berada di salah satu keadaan berikut:
➢ Available: Page saat itu tidak dapat dipakai oleh proses tertentu.
➢ Reserved: Himpunan pages yang kontinu yang disisihkan manajer virtual memori bagi suatu
proses, namun tidak dihitung sebagai kuota memori hingga page-page itu digunakan. Di saat
proses perlu menulis ke dalam memori, maka beberapa memor dicanangkan akan diberikan kepada
proses
➢ Commited: Page yang telah disisihkan oleh manajer virtual memor di dalam paging file-nya, yaitu
disk file tempat manager memori menuliskan page-page bila menghapuskannya dari memori
utama.
Pembedaan antara reserved memor dengan committed memori cukup karena:
1 Mengurangi jumlah ruang disk yang disisihkan bagi ruang tertentu.
2. Memungkinkan suatu thread atau proses untuk mendeklarasıkan jumlah
SEGMENTASI
Konsep Dasar Segmentasi
• Konsep segmentasi adalah user atau programmer tidak memikirkan
sejumlah rutin program yang dipetakan ke main memori sebagai
array linier dalam byte, tetapi nmemori dilihat sebagai kumpulan
segmen dengan ukuran berbeda-beda, tidak perlu berurutan di
antara segmen tersebut. Segmentasi adalah skema manajemen
memori yang menungkinkan user untuk melihat
• Ruang alamat logika adalah kumpulan segmen. Setiap segmen
mempunyai nama dan panjang Spesifikasi alamat berupa nama
segmen dan offset. Segmen diberi nomor dan disebut dengan
nomor segmen (bukan nama segmen) atau segent mmber Segmen
dibentuk secara otomatis oleh compiler Scbuah program adalah
kumpulan segmen. Suatu segmen adalah unit logika seperti
program utama, prosedur. fungsi, metode, obyek, variable lokal,
variabel global, blok umum, stack, tabel snbol, array dan lain-lain.
Gambar 9 Pandangan User pada Suatu Program
• Arsitektur Segmentasi
Alamat logika terdiri atas dua bagian yaitu nomor segmen (s) dan
offset (d) yang dituliskan dengan <nomor segmen, oflset >.
Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen
(segment table), terdin atas:
1. Segmen basis (base) benisi alamat fisik awal
2. Segmen limit merupakan panjang segmen
• Proteksi dan Sharing
Proteksi bit dapat diletakkan pada tabel segmen. Segmen instruksi
dapat diproteksi sebagai segmen read-only atau execute only.
Segmen data dapat diproteksi sebagai segmen read-write. Pemetaan
pada perangkat keras memory akan memeriksa bit proteksi untuk
mencegah akses yang ilegal. Dengan segmentasi, juga dimungkinkan
membagi kode atau data dengan proses lain. Segmen digunakan
bersama-sama bila entry pada tabel segmen dari dua proses berbeda
menunjuk ke lokasi fisik.
SEGMENTASI DENGAN PAGING
Pada skema ini, skema paging dan segnmentasi dikombinasikan. Kombinasi
diilustrasikan menggunakan 2 arsitektur berbeda: MULTICS dan Intel 386
(OS/2).
• MULTICS
Pada sistem MULTICS, alamat logika dibentuk dari nomor segmen
18 bit dan offset 16 bit. Dengan ukuran segmen 64K word, setiap segmen
terdiri atas 36 bit, rata-rata ukuran segmen dapat lebilh besar dan fragmentasi
eksternal menjadi permasalahan karena membutuhkan banyak ruang memori.
Tetapi jika fragmentasi eksternal tidak menjadi permasalahan, waktu pencarian
untuk mengalokasikan segmen dapat membutuhkan waktu yang lama.
Solusi yang diadopsi pada MULTICS adalah dengan melakukan
paging pada segmen (page the segment). Paging menghilangkan fragmentasi
eksternal di mana frame kosong dapat digunakan untuk page yang tepat. Setiap
page terdiri atas 1K word. Segment offset (16 bit) dibagi ke dalam nomor page
6 bit dan page offset 10 bit. Nomor page mengindeks ke tabel page untuk
memberikan nomor frame. Nomor frame dikombinasikan dengan page offset
menunjuk ke alamat fisik.
Gambar 10 Skema Translasi Alamat pada MULTICS
• Intel 30386
1BM OS/2 versi 32 bit adalah sistem operasi yang
menggunakan arsitektur 30386 (dan 30486). Intel 30386 menggunakan
segmentasi dengan paging untuk manajemen memrori. Maksimum
jumlah segmen per proses adalah 16K. Setiap segnmen maksimal
berukuran 4 gigabytes. Ukuran page adalah 4K byte. Ruang alamat
logika dari suatu proses dibagi ke dalam 2 partisi:
1. Partisi I terdiri atas 8K segmen yang pribadi (private) untuk proses
tersebut
2. Partisi 2 terdiri atas 8K segmen yang digunakan bersama untuk suatu
proses.
Informasi mengenai partisi pertama disimpan dalam focal
descriptor table (LDT), sedangkan informasi mengenai partisi kedua
disimpan dalam global table (GDT). Setiap entry pada tabel LDT dan
GDT terdiri atas 8 byte, dengan informasi detail tentang segmen tertentu
termasuk lokasi basis dan panjang segmen. Alamat logika adalah
pasangan (selector, offset), di mana selector sebanyak 16 bit.
Gambar 11 Skema Tronslasi Alamat pada Intel 30386
SEKIAN

Anda mungkin juga menyukai