BAB 1
PENDAHULUAN
1.1
Latar
Belakang
Selama
bertahun-tahun, pelaksanaan manajemen memori pada intinya adalah dengan
menempatkan semua bagian proses yang akan dijalankan ke dalam memori sebelum
proses dapat mulai dieksekusi. Dengan demikian semua bagian proses tersebut
harus memiliki alokasi sendiri di dalam memori fisik.
Operating system (OS)
atau yang sering di sebut sistem operasi adalah sekumpulan perintah
dasar yang berperan untuk menjalankan dan mengoperasikan komputer .Sekarang ini
banyak sekali macam-macam sistem operasi di pasaran baik yang asli
ataupun yang bajakan.Ada beberapa sistem operasi yang biasa kita jumpai di
pasaran diantranya Windows,Unix,Linux Dan masih banyak lagi yang lainya.Dari
sekian banyak sistem operasi Yang beredar,sistem operasi milik perusahaan
microsoft lah yang paling populer untuk para pengguna pc notebook,bahkan ponsel
dan PDA sekalipun Dengan sistem operasi berbasis mobilenya .
Sebagian besar algoritma manajemen
memori memerlukan satu kebutuhan dasar yaitu instruksi yang akan dieksekusi
harus berada di memori fisik. Pada beberapakasus, keseluruhan program tidak
diperlukan. Misalnya :
Program mempunyai kode untuk menangani
kondisi error yang tidak biasa. Karenaerror-error ini jarang terjadi, kode ini
hampir tidak pernah dieksekusi.
Array, list dan tabel dialokasikan lebih
dari kapasitas memori yang diperlukan.
Pilihan dan gambaran program jarang
digunakan.
Pada
kasus dimana keseluruhan program dibutuhkan, mungkin tidak semuadiperlukan pada
saat yang sama. Kemampuan mengeksekusi program hanya padabeberapa bagian dari
memori mempunyai beberapa keuntungan yaitu :
Ø Program
tidak terbatas jumlah memori fisik yang tersedia sehingga user dapatmenulis
program untuk ruang alamat virtual yang sangat besar yang
berartimenyederhanakan programming task.
Ø Karena
setiap program user dapat menggunakan memori fisik yang lebih kecil, padawaktu
yang sama dapat menjalankan lebih banyak program.\
Ø I/O
yang lebih sedikit diperlukan untuk load atau swap program user ke
memori,sehingga setiap program user dapat berjalan lebih cepat.
Perkembangan Sistem Operasi
Perkembangan
sistem operasi Berawal dari altair,yaitu perangkat komputer pertama pada tahun
1975 yang menggunakan sistem operasi CP/M dan kemudian oleh perusahaan
microsoft dirilis menjadi MS-DOS Dan berkembang dari MS-DOS versi 1.0 Pada
tahun 1981 sampai MS-DOS versi 5.0 pada tahun 1991 dan sampai sekarang ini
microsoft telah mengeluarkan beberapa sistem operasi mulai dari
Mswindows,windows97,windows98,windows98Me,Windows2000.Windows ME,Windows XP dan
yang paling terbaru adalah windows vista yang terkenal dengan tatatp mukanya .
1.2
Rumusan
Masalah
Berdasarkan latar belakang maka kita dapat
merumuskan penting nya kita dalam
mempelajarin dari setiap perkembangan sistem operasi, apa lagi di zaman era
seperti ini, karena kita juga di tuntun untuk lebih jelih terhadap perkembangan
teknologi serta berpacu untuk mengetahui tentang perkembangan sistem operasi.
1.3
Batasan
Masalah
Dalam perkembangan teknologi informasi ini, maka
kami membuat suatu pembahasan sistem
operasi yang meliputin tentang sebagai berikut :
1. Overlays
2. Memory Virtual
-
Paging
-
Segmentasi
-
Segmentasi
dan kombinasi
Yang
kesemuanya itu akan di bahas secara garis besar nya saja, mana nanti akan di
berikan sedikit pengertian dan penjelasan
pada setiap pembahasan dan aka nada contoh gambar.
1.4
Tujuan
v Untuk menjelaskan keuntungan dari
sistem memori virtual.
v Untuk menjelaskan konsep dari demand
paging, algoritma penggantian halaman, dan juga alokasi page frame.
v Untuk mendiskusikan prinsip dari
model working set.
v Agar kita juga memahami apa – apa yang di maksud dengan everlays, memory virtual, serta apa yang di
maksud dengan paging, segmentasi, dan segmentasi dan kombinasi.
v Kita juga di tuntun untuk mampu memperaktekan ilmu-ilmu yang telah kita
dapat ini yaitu tentang bagaiman sistem kerja dari sistem operasi.
1.5
Manfaat
Manfaat
yang ingin dicapai dari pembuatan makalah ini adalah
:
a. Menambah pengetahuan dalam sistem operasi serta kita mampu menganalisa dan mengimplementasikan sistem operasi
b. .Dapat mengaplikasikan teori yang didapat di perkuliahan
dengan menganalisa masalah dan menyelesaikannya.
c. Di harapkan dengan adanya makalah ini dapat membantu kita
serta menambah ilmu pengetahuan kita di sistem operasi khusus nya yang
meliputin overlays,memory virtual, paging, segmentasi dan kombinasi.
Dan di harapakan
dari isi makalah ini dapat menjadi suatu panduan untuk kita mempelajarin
tentang ilmu sistem operasi khususnya di
bidang, overlays dan memory virtual.
BAB II
PENGERTIAN
2.1
OVERLAY
Overlay adalah suatu
teknik pemrograman yang berfungsi membagi program yang besar, menjadi bagian
yang kecil sehingga dapat dimuat secara parsial kedalam suatu page memori
yang berukuran lebih kecil.
2.2
VIRTUAL MEMORY
Memori
virtual adalah suatu teknik yang memisahkan antara memori logis dan memori
fisiknya.Memori logis merupakan kumpulan keseluruhan halaman dari suatu
program. Tanpa memori virtual, memori logis akan langsung dibawa ke memori
fisik (memori utama). Disinilah memori virtual melakukan pemisahan dengan
menaruh memori logis ke secondary storage (disk sekunder) dan hanya
membawa halaman yang diperlukan ke memori utama (memori fisik). Teknik ini
menempatkan keseluruhan program di disk sekunder dan membawa halaman-halaman
yang diperlukan ke memori fisik sehingga memori utama hanya akan menyimpan
sebagian alamat proses yang sering digunakan dan sebagian lainnya akan disimpan
dalam disk sekunder dan dapat diambil sesuai dengan kebutuhan. Jadi jika proses
yang sedang berjalan membutuhkan instruksi atau data yang terdapat pada suatu
halaman tertentu maka halaman tersebut akan dicari di memori utama. Jika
halaman yang diinginkan tidak ada maka akan dicari ke disk sekunder.
2.3
PAGING
Paging adalah suatu metode yang
mengizinkan alamat logika proses untuk dipetakan ke alamat fisik memori yang
tidak berurutan, yaitu sebagai solusi dari masalah fragmentasi ekstern. Metode
dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok yang
berukuran tertentu (frame) dan memecah memori logika menjadi blok-blok yang
berukuran sama (page).
Paging
merupakan teknik menampilkan data dengan cara membaginya ke beberapa halaman.
Teknik ini diberikan untuk mengurangi scrolling window apabila data yang
disajikan terlalu banyak, sehingga akan menimbulkan kejemuan orang yang melihat
dan juga akan menghasilkan page load time yang besar karena ukuran filenya
besar (apabila data disajikan dalam satu halaman saja).
2.4
SEGMENTASI
Segmentasi
adalah proses membagi pasar ke dalam grup-grup konsumen potensial dimana
masing-masing grup memiliki karakter yang sama dan cenderung memiliki perilaku
pembelian yang sama. Tujuan dari melakukan segmentasi adalah untuk menganalisa
pasar, menemukan ceruk-ceruk (niche) pasar dan agar dapat mengembangkan
kompetisi perusahaan.
2.5 Teknik
Kombinasi Dan Segmentasi
Teknik kombinasi pacing dan
segmentasi adalah ruang alamat pemakai dibagi menjadi sejumlah segment sesuai
dengan kehendak pemrogram. Segment tersebut dibagi menjadi sejumlah page
berukuran tetap dan berukuran sama dengan page frame memori utama. Jika segment
kurang dari ukuran page, maka segnent hanya memerlukan satu page.
BAB III
ISI DAN PEMBAHASAN
3.1 OVERLAY
Overlay adalah suatu
teknik pemrograman yang berfungsi membagi program yang besar, menjadi bagian
yang kecil sehingga dapat dimuat secara parsial kedalam suatu page memori
yang berukuran lebih kecil.
Overlay ProgRam dipecah menjadi bagian-bagian yang
dapat dimuat memori, jika memori terlalu kecil untuk menampung seluruhnya
sekaligus. Overlay disimpan
pada disk dan di-keluar-masukkan dari dan ke memori oleh sistem operasi.
Pembagian dilakukan oleh programmer.
Struktur Umum
Overlay
Gambar 3.1
Bila bagian kode intruksi pada program yang ingin
diakses tidak terdapat dalam memori atau tidak ada dalam memori maka bagian
tersebut akan disalin ke bagian overlay. Teknik overlay ini hanya
akan menyalin intruksi dan data yang sedang dijalankan ke memori utama,
sedangkan pada bagian lain dari program tetap disimpan di media penyimpanan.
Teknik overlay ini digunakan terutama pada sistem informasi dengan manajemen memori partisi statis. Dimana pada model partisi statis, ukuran programnya tidak boleh lebih besar dari ukuran partisinya, sehingga program yang berukuran besar tidak dapat disalin ke memori utama. Dengan menggunakan teknik overlay maka hanya sebagian kode intruksi program saja yang akan disalinkan ke partisi tersebut dan jika bagian lain dari program dibutuhkan maka akan dilakukan replacement pada area overlay program tersebut. Sehingga dengan menggunakan teknik overlay ini program yang berukuran besar tetap bisa dijalankan pada OS (Operating System), atau Sistem Operasi dengan model manajemen memori partisi statis.
Teknik overlay ini digunakan terutama pada sistem informasi dengan manajemen memori partisi statis. Dimana pada model partisi statis, ukuran programnya tidak boleh lebih besar dari ukuran partisinya, sehingga program yang berukuran besar tidak dapat disalin ke memori utama. Dengan menggunakan teknik overlay maka hanya sebagian kode intruksi program saja yang akan disalinkan ke partisi tersebut dan jika bagian lain dari program dibutuhkan maka akan dilakukan replacement pada area overlay program tersebut. Sehingga dengan menggunakan teknik overlay ini program yang berukuran besar tetap bisa dijalankan pada OS (Operating System), atau Sistem Operasi dengan model manajemen memori partisi statis.
Sebuah proses
dapat lebih besar daripada jumlah memori yang dialokasikan untuk proses, teknik
overlay biasanya digunakan untuk kasus ini. Teknik Overlay biasanya digunakan
untuk memungkinkan sebuah proses mempunyai jumlah yang lebih besar dari memori
fisik daripada alokasi memori yang diperuntukkan. Ide dari overlay adalah
menyimpan di memori hanya instruksi dan data yang diperlukan pada satu waktu.
Jika intruksi lain diperlukan, maka instruksi tersebut diletakkan di ruang
memori menggantikan instruksi yang tidak digunakan lagi.
Overlay tidak
membutuhkan dukungan khusus dari sistem operasi. User dapat
mengimplementasikannya secara lengkap menggunakan struktur file
sederhana, membaca dari file ke memori dan meloncat ke memori dan
mengeksekusi instruksi read yang lebih baru. Sistem operasi memberitahu hanya
jika terdapat I/O yang melebihi biasanya. Penggunaan overlay terbatas untuk
beberapa sistem yang mempunyai jumlah memori fisik terbatas dan kekurangan
dukungan H/W untuk teknik yang lebih lanjut
Sebagai
contoh misalnya terdapat two-pass assembler. Selama pass 1, dibangun table
symbol, dan selama pass 2 dibangkitkan kode bahasa mesin. Kita dapat membagi
assembler ke dalam kode pass 1, kode pass 2, tabel symbol dan rutin umum yang
digunakan baik pada pass 1 maupun pass 2. Diasumsikan ukuran komponen sebagai
berikut :
Pass 1 70K
Pass 2 80K
Tabel symbol 20K
Rutin umum 30K
Apabila semua
diletakkan di memori memerlukan 200K. Jika hanya tersedia tempat 150K, proses
tidak dapat dijalankan. Pass 1 dan pass 2 tidak perlu berada di memori pada
waktu yang sama. Dengan menggunakan overlay, rutin dibagi dalam 2 overlay.
Overlay A adalah tabel symbol, rutin umum dan pass1 (membutuhkan total 120K)
dan overlay B terdiri dari tabel symbol, rutin umum dan pass 2 (membutuhkan
130K). Ditambahkan 10K untuk driver overlay dan dimulai dari overlay A. Setelah
selesai dijalankan overlay B dengan mengganti tempat dari overlay A.
3.2 MEMORY VIRTUAL
Memori virtual adalah teknik yang memisahkan memori
logika user darimemori fisik.Menyediakan memori virtual yang sangat besar
diperuntukkan untuk programmer bila tersedia memori fisik yang lebih
kecil.Programmer tidak perlukhawatir jumlah memori fisik yang tersedia,
sehingga dapat berkonsentrasi pada permasalahan pemrograman.Gambaran memori virtual
dapat dilihat pada Gambar 3.2
Gambar
3.2
Memori virtual biasanya
diimplementasikan menggunakan demand paging ataudemand segmentation juga
digunakan. Tetapi algoritma segment-replacement lebihkompleks daripada
algoritma page-replacement karena segmen mempunyai ukuranyang bervariasi.
Jadi memory virtual adalah kemampuan
mengalamati ruang memori melebihi memori utama yang tersedia.Konsep memori maya
pertama kali dikemukakan Fotheringham pada 1961 untuk sistem komputer Atlas di
Universitas Manchester, Inggris.
Gagasan
memori virtual adalah ukuran gabungan program, data, dan stack melampaui
jumlah memori fisik yang tersedia. Sistem operasi dapat menyimpan bagian-bagian
proses yang sedang digunakan di memori utama dan sisanya di disk. Begitu
bagian di disk diperlukan maka bagian di memori yang tidak diperlukan
disingkirkan diganti bagian di disk yang diperlukan itu.
Memori
virtual tidak mengubah kode program. Kecepatan eksekusi melambat dipengaruhi
waktu tunda pengambilan bagian-bagian proses di memori sekunder saat proses
berjalan. Prinsip yang berlaku kecepatan maksimum eksekusi proses di memori
virtual dapat sama tapi tidak pernah melampaui kecepatan eksekusi proses yang
sama di sistem tanpa memori virtual.
Dalam sistem
operasi berbasis Windows NT, terdapat sebuah komponen yang mengatur ngingatan
maya, yakni Pengelola Ngingatan Maya (VMM). VMM dapat memetakan alamat-alamat
maya yang dimiliki oleh sebuah proses yang berjalan ke dalam halamanmemori fisik di dalam komputer. Dengan
cara begini, setiap proses pun dapat memperoleh ngingatan maya yang cukup agar
dapat berjalan, dan yang terpenting adalah setiap proses tidak mengganggu
ngingatan yang sedang digunakan oleh proses lainnya. VMM menangani penghalaman
antara RAM dan berkas halaman, dengan memindahkan halaman dengan menggunakan
sebuah cara yang disebut sebagai penghalaman atas permintaan. Hasilnya, setiap
aplikasi 32-bit pun dapat mengakses ngingatan hingga 4 Gigabita (meskipun
Windows hanya membatasi proses yang berjalan dalam modus pengguna hanya sebatas
2 GB saja).
Mungkin sebagian dari pengguna Microsoft Windows sudah
tidak asing lagi dengan istilah itu.Karena sering sekali windows memberi
peringatan kepada user tentang “Memory is low”, ini terjadi karena komputer
kekurangan memori untuk menjalankan sebuah program.Hal ini sering terjadi pada
saat komputer ingin menjalankan program yang memerlukan sumber memori yang
besar seperti Game, mungkin banyak gamer sering sekali terganggu dengan masalah
seperti ini.
Sesuai dengan namanya “Virtual Memori” berarti :
Memori
: Ruang
penyimpanan
Virtual
: Tiruan / tidak nyata
Keuntungan yang diperoleh dari penyimpanan hanya
sebagian program saja pada memori fisik adalah:
v
Berkurangnya proses M/K yang
dibutuhkan (lalu lintas M/K menjadi rendah)
v
Ruang menjadi lebih leluasa karena
berkurangnya memori fisik yang digunakan
v
Meningkatnya respon karena
menurunnya beban M/K dan memori
v
Bertambahnya jumlah pengguna yang
dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer
untuk menerima lebih banyak permintaan dari pengguna.
Teknik
memori virtual akan memudahkan pekerjaan seorang programmer ketika besar data dan
programnya melampaui kapasitas memori utama. Sebuah multiprogramming dapat
mengimplementasikan teknik memori virtual sehingga sistem multiprogramming
menjadi lebih efisien. Contohnya: 10 program dengan ukuran 2 MB dapat berjalan
di memori berkapasitas 4 MB. Tiap program dialokasikan 256 Kbyte dan bagian -
bagian proses (swap in) masuk ke dalam memori fisik begitu diperlukan
dan akan keluar (swap out) jika sedang tidak diperlukan.
Prinsip dari
memori virtual adalah bahwa "Kecepatan maksimum ekseskusi proses di memori
virtual dapat sama, tetapi tidak akan pernah melampaui kecepatan eksekusi
proses yang sama di sistem yang tidak menggunakan memori virtual".
Memori virtual dapat diimplementasikan dengan dua
cara:
- Demand Paging yaitu dengan menerapkan konsep pemberian halaman pada proses
- Demand segmentation, lebih kompleks diterapkan ukuran segmen yang bervariasi.
3.2.1 Konsep
Memori Maya (virtual Memory)
Adalah
kemampuan mengalamati ruang memori melebihi memori utama yang tersedia.Konsep
ini pertama kali dikemukakan Fotheringham pada tahun 1961 untuk sistem komputer
Atlas di Universitas Manchester, Inggris.
Gagasan
Memori Maya adalah ukuran gabungan program, data dan stack melampaui jumlah
memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang
sedang digunakan di memori utama dan sisanya di disk. Begitu bagian di disk
diperlukan maka bagian memori yang tidak diperlukan disingkirkan dan diganti
bagian disk yang diperlukan.
3.2.2 Pengertian
Memori Maya
Didalam menejemen memori dengan
system partisi statis dan system dinamis sudah dapat menyelesaikan masalah
menejemen memori didalam banyak hal, tetapi masih memiliki kekurangan atau
keterbatasan di dalam pengakses. Dimana keterbatasan akses hanya sebatas addres
memori yang ada secara fisik ( memori nyata ).
Misalnya memori 64 MB maka addres
maksimum yang dapat diakses hanya sebesar 64 MB saja. Pada hal banyak program yang
akan diakses yang melebihi 64 MB. Untuk mengatasi hal tersebut agar kemampuan
akses lebih besar lagi maka dibentuklah memori maya( yang pertama sekali
di kemukakan oleh Fotheringham pada tahun 1961 untuk system komputer Atlas di
Universitas Manchester, Inggris).
Dengan memori maya program yang
besar tadi akan dapat diterapkan pada memori kecil saja, misalnya program 500
MB dapat ditempatkan secara maya di memori 64 MB. Untuk mengimplementasikan
memori maya tersebut dapat dilakukan dengan tiga cara :
Ø Sistem
Paging
Ø Sistem
Segmentasi
Ø Sistem
kombinasi Paging dan Segmentasi
3.3 PAGING
Paging adalah suatu metode yang
mengizinkan alamat logika proses untuk dipetakan ke alamat fisik memori yang
tidak berurutan, yaitu sebagai solusi dari masalah fragmentasi ekstern. Metode
dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok yang
berukuran tertentu (frame) dan memecah memori logika menjadi blok-blok yang
berukuran sama (page).
Paging
merupakan teknik menampilkan data dengan cara membaginya ke beberapa halaman.
Teknik ini diberikan untuk mengurangi scrolling window apabila data yang
disajikan terlalu banyak, sehingga akan menimbulkan kejemuan orang yang melihat
dan juga akan menghasilkan page load time yang besar karena ukuran filenya
besar (apabila data disajikan dalam satu halaman saja).
3.3.1 Kekurangan dan Kelebihan Sistem Paging
Sistem
paging mempunyai keunggulan dan kelemahan masing-masing. Sistem paging
transparan bagi pemrograman, mengeleminasi fragmentasi eksternal, penggunaan
memori utama yang efisisen. Karena ptongan-potongan yang dipindahkan masuk dan
keluar memori utama berukuran sama, maka dimungkinkan mengembangkan algoritma
manajemen memori yang memanfaatkan kelakuan program.
Sistem Paging Adalah sistem manajemen pada sistem operasi dalam
mengatur program yang sedang berjalan.Program yang berjalan harus dimuat di
memori utama.Kendala yang terjadi apabila suatu program lebih besar
dibandingkan dengan memori utama yang tersedia.
3.3.2 Memori system Paging
Untuk menginplementasikan addres maya yang besar ke
dalam memori yang kecil diperlukan index
register, base register, segment
register dan MMU ( Memory
Menegement Unit ).
3.3.3 Pemetaan
Memori Sistem Paging
Sistem kinerja komputer akan
menerjemahkan alamat maya menjadi alamat fisik. Dengan kata lain dalam system memori maya alamat memori tidak langsung di tuliskan ke BUS tetapi terlebih dahulu dimasukkan
ke MMU untuk diterjemahkan. Ada dua kemungkinan
keluaran MMU yaitu :
Alamat yang dicari ada dimemori
nyata, maka proses dapat langsung dikerjakan.
Alamat yang dicari tidak ada didalam memori nyata,
maka MMU mengeluarkan page fault,
yaitu permintaan alokasi memori untuk proses itu.MMU mempunyai fungsi untuk memetakan memori maya ke memori fisik.
Apabila alamat memori yang dipetakan tidak tersedia di memori fisik, MMU
menertibkan exception page fault
yang melewatkan ke system operasi untuk menengani.
Gambar memperlihatkan Implementasi pemetaan memori system paging.
Gambar 3 3 .
Implementasi Pemetaan Memori sistem paging
Apabila exception page fault meminta alokasi memori akan ditangani oleh
system operasi yaitu memilih partisi yang telah selesai diakses dan kemungkinan proses ini akan digunakan
lagi, dalam waktu yang lama lagi. Jika sudah dipilih maka program akandikosongkan dari memori dan
selanjutnya program yang alamatnya yang diminta akan dimasukkan ke memori.
3.3.4
Proses Pemetaan Pada MMU
Dibawah ini adalah suatu proses
pemetaaan memori yang terjadi pada MMU.
Alamat maya terdiri dari bagian nomor
page dan offset. Alamat
ini dicarikan didalam tabel page,
bila ketemu maka MMU mengeluarkan page
frame ( register alamat fisik ).Register alamat fisik terdiri darei nomor page dan offset, dimana nomor page
frame lebih sedikit dari nomor
page.Apabila alamat tersebut tidak
ada pada tabel page maka MMU
mengeluarkan page fault.
Gambar 3.4 pemetaan pada MMU
3.4
SEGMENTASI
Segmentasi adalah proses membagi pasar ke dalam
grup-grup konsumen potensial dimana masing-masing grup memiliki karakter yang
sama dan cenderung memiliki perilaku pembelian yang sama. Tujuan dari melakukan
segmentasi adalah untuk menganalisa pasar, menemukan ceruk-ceruk (niche) pasar
dan agar dapat mengembangkan kompetisi perusahaan.
Kesuksesan sebuah strategi pemasaran tidak bisa lepas
dari cara memahami dan mendalami pasar yang kita sasar. Ada produk yang mencoba
menembak satu jenis pasar yang homogen, tetapi ada produk yang menembak
beberapa jenis pasar.Kenyataannya memang tidak semua elemen dalam marketing mix
dapat memenuhi setiap jenis pasar.Oleh karena itu sangatlah penting bagi
perusahaan untuk memilah-milah terlebih dahulu pasar mereka sebelum menjalankan
strategi pemasaran.Dengan mengidentifikasi, mengevaluasi dan akhirnya memilih
target pasar tertentu, perusahaan dapat menjalankan strategi pemasaran dengan
lebih efisien dan efektif.
Segmentasi didefinisikan secara sederhana sebagai
proses membagi sebuah pasar menjadi kelompok-kelompok lebih kecil, dimana
setiap kelompoknya memiliki sifat-sifat yang relatif seragam (homogen). Istilah
segmentasi biasanya langsung dikaitkan dengan istilah targeting, yakni upaya
untuk memilih segmen-segmen spesifik yang paling berpotensi untuk membeli
produk kita.
Salah satu cerita legendaris yang terkait dengan
segmentasi adalah bagaimana Henry Ford membuat sebuah mobil yang disebut
sebagai model T. Henry Ford dengan sombongnya memproduksi semua model T dengan
warna hitam. “the car is car as long it is black”, katanya. Sebaliknya Alfred
Sloan dari General Motors mencoba membangun model yang spesifik untuk setiap
kelompok konsumen.Hasil akhirnya, strategi yang dilakukan oleh General Motors
membuat perusahaan ini menggantikan Ford sebagai pemimpin pasar otomotif di
Amerika Serikat.
Cerita ini menggambarkan bagaimana upaya
menyamaratakan semua orang ternyata tidak berhasil.Setiap orang pasti memiliki
perbedaan dalam hal selera, kebutuhan, pilihan dan lain-lain. Oleh karena itu
mengelompokkan konsumen berdasarkan perbedaan-perbedaan tersebut sangat penting
dilakukan sebelum aktifitas marketing mix dijalankan.
3.4.1 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 alamatfisik awal dari segment,
panjang dan bit-bit proteksinya.Alamat
fisik dihitung dengan menambahkan alamat dasar segment ke alamat maya.
Gambar 3.5. Skema
Segmentasi
Keunggulan sistem ini dimana
segment-segment tersebut saling berhubungan dengan unit-unit program, sehingga
segment – segment indeal untuk proteksi dan pemakaian bersama.Kelemahan sistem
ini adalah dimana segment – segment berukuran bervariasi menyebabkan
fragmentasi eksternal dan sulit menyelesaikan pertumbuhan dinamis.Segment-segment
tidak memetakan blok-blok disk untuk memori maya secara alami.
Compiler bisa memiliki beberapa tabel dengan alamat
virtual yang terpisah, misalnya terdiri dari tabel-tabel untuk:
1.
Source text,
2.
Tabel simbol,
3.
Tabel
untuk semua konstanta integer dan floating point,
4.
Parse tree, berisi
analisis sintaksis program, dan
5.
Stack yang digunakan
untuk pemanggilan prosedur.
Tabel
1 s/d 4 bisa bertambah pada saat kompilasi berjalan, sehingga dengan sistem
paging yang berukuran tetap, batas satu page bisa terlampaui.
Dengan
alasan ini dipakai bagian-bagian dengan alamat yang relatif independen, yang
disebut segmen. Setiap segmen
mempunyai ukuran yang berbeda dengan yang lain. Panjang segmen juga bisa
berubah selama eksekusi.
Program
harus menyediakan alamat yang terdiri dari dua bagian:
-
nomer segmen
-
alamat di dalam segmen
Segmentasi
juga memberikan fasilitas pemakaian bersama prosedur atau data antar beberapa
proses. Contoh umumnya adalah shared
library.
Segmen
|
Segmen
|
Segmen
|
Segmen
|
Segmen
|
|||||
0
|
1
|
2
|
3
|
4
|
|||||
0
|
0
|
0
|
Konstanta
|
0
|
0
|
||||
4K
|
4K
|
4K
|
4K
|
||||||
Source
|
Parse
|
Call
|
|||||||
text
|
tree
|
stack
|
|||||||
8K
|
8K
|
8K
|
8K
|
||||||
Tabel
|
|||||||||
simbol
|
|||||||||
12K
|
12K
|
12K
|
12K
|
||||||
16K
|
16K
|
||||||||
20K
|
Memori yang tersegmentasi memungkinkan setiap tabel bertambah atau berkurang.
Pertimbangan
|
Paging
|
Segmentasi
|
Apakah programmer harus menyadari bahwa teknik ini sedang digunakan?
|
Tidak
|
Ya
|
Berapa banyak ruang alamat linier yang ada?
|
1
|
Banyak
|
Dapatkah
ruang alamat total melebihi ukuran memori fisik?
|
Ya
|
Ya
|
Apakah
tabel yang ukurannya berubah-ubah dapat diakomodasi?
|
Tidak
|
Ya
|
Dapatkan prosedur dan data dibedakan dan diproteksi
secara terpisah?
|
Tidak
|
Ya
|
Adakah
fasilitas pemakaian bersama prosedur antar user?
|
Tidak
|
Ya
|
Mengapa
teknik ini diciptakan?
|
Untuk
mendapatkan ruang alamat linier yang besar tanpa harus membeli memori fisik
tambahan
|
Untuk
memungkinkan program dan data dibagi menjadi ruang alamat yang secara logik
independen dan untuk membantu pemakaian bersama dan proteksi
|
Perbandingan paging dan segmentasi.
Checkerboarding:
Timbulnya blok-blok memori yang kosong (hole) pada saat isi segmen dikeluarkan.
Hal ini diatasi dengan pemampatan (compaction).
Segmentasi
dengan Paging : Setiap segmen dapat dianggap sebagai satu virtual memori, dan
masing-masing dibagi menjadi page-page.
Salah
satu mesin yang memakai cara ini adalah MULTICS. Setiap program MULTICS
memiliki satu tabel segmen, dengan satu descriptor per segmen.Segmen descriptor berisi keterangan
apakah segmen yang bersangkutan ada di memori atau tidak.
Segmen
descriptor
|
Tabel
page untuk segmen 0
|
||||
36
bit
|
Page
0 entry
|
||||
Descriptor
segmen 0
|
Page
1 entry
|
Pointer-
|
|||
Descriptor
segmen 1
|
Page
2 entry
|
Pointer
|
|||
Descriptor
segmen 2
|
Page
3 entry
|
ke
page
|
|||
Descriptor
segmen 3
|
|||||
Descriptor
segmen 4
|
|||||
Descriptor
segmen 5
|
Tabel
page untuk segmen 1
|
||||
Descriptor
segmen 6
|
Page
0 entry
|
||||
Descriptor
segmen 7
|
Page
1 entry
|
||||
Page
2 entry
|
|||||
Page
3 entry
|
|||||
Page
4 entry
|
|||||
Page
5 entry
|
|||||
Alamat
di dalam segmen
Nomer
segmen
|
Nomer
page
|
Offset
di dalam page
|
|||||
18
|
6
|
10
|
|||||
Nomer
segmen
|
Nomer
page
|
Offset
di dalam page
|
|||||
Nomer
|
|||||
segmen
|
|||||
Nomer
|
|||||
Descriptor
|
page
|
||||
Page
frame
|
Offset
|
||||
Segmen
|
Tabel
page
|
||||
descriptor
|
Word
|
||||
Page
|
Konversi alamat MULTICS menjadi
alamat memori utama.
3. 5 Teknik
Kombinasi Paging Dan Segmentasi
Teknik kombinasi pacing dan
segmentasi adalah ruang alamat pemakai dibagi menjadi sejumlah segment sesuai
dengan kehendak pemrogram. Segment tersebut dibagi menjadi sejumlah page
berukuran tetap dan berukuran sama dengan page frame memori utama. Jika segment
kurang dari ukuran page, maka segnent hanya memerlukan satu page.
Dari segi pandangan pemrogram,
alamat maya masih berisi nomor segment dan offset di segment itu. Dari segi
pandangan sistem, offset segment dipandang sebagai nomor page dan offset page
untuk page di segment yang dispesifiksikan. Penggabungan dengan proses adalah
tabel segment dan sejumlah tabel page, merupakan satu tabel persegment
proses.saat proses running, register menyimpan alamat awal tabel segment untuk
proses, pemroses menggunakan bagian nomor segment untuk mengindeks tabel
segment proses guna menemukan tabel page untuk segment. Bagian angka page
alamat maya digunakan untuk indeks tabel page dan mencari nomor page
korespondensi.Angka tersebut kemudian dikombinasikan dengan bagian offset alamat
maya untuk menghasilkan alamat nyata yang diinginkan.
DAFTAR ISI
Halaman
ABSTRAK..................................................................................................... i
DAFTAR ISI.................................................................................................. ii
DAFTAR GAMBAR...................................................................................... iii
BAB I PENDAHULUAN
1.1.
Latar
Belakang........................................................................ I-1
1.2.
Rumusan
Masalah................................................................... I2
1.3.
Batasan
Masalah...................................................................... I-2
1.4. Tujuan .................................................................................... I-3
1.5. Manfaat................................................................................... I-3
2.1.
Overlays.................................................................................. II-4
2.2. Virtual Memory...................................................................... II-4
2.3.
Paging .................................................................................... II-4
2.4.
Segmentasi ............................................................................ II-5
2.5.
Teknik
Kombinasi dan Segmentasi.......................................... II-5
BAB III ISI DAN PEMBAHASAN
3.1. Overlays ................................................................................. III-6
3.2. Memory Virtual....................................................................... III-8
3.2.1
konsep
memory virtual (virtual memory)....................... III-11
3.2.2 pengertian memory maya............................................... III-11
3.3. Paging...................................................................................... III-12
3.3.1
Kekurangan dan kelebihan sistem paging....................... III-12
3.3.2
memory
sistem paging ................................................... III-12
3.3.3
pemetaan
memory sistem paging.................................... III-13
3.3.4
proses pemetaan pada MMU.......................................... III-14
3.4. Segmentasi.............................................................................. III-14
3.5. Teknik kombinasi paging dan segmentasi............................... III-22
ii
DAFTAR GAMBAR
Halaman
3.1 Gambar
3.1 .............................................................................. III-6
3.2 Gambar......................................................................................
3.2 III-8
3.3
Implementasi pemetaan memory
paging................................... III-13
3.4 Pemetaan pada MMU.................................................................. III-14
3.5 Skema segmentasi....................................................................... III-16
iii
ABSTRAK
Konsep memori
virtual dikemukakan pertama kali oleh John Fotheringham pada tahun 1961 denganmenggunakan
dynamic storage allocation pada sistem komputer atlas di Universitas
Manchester.Sedangkan istilah memori virtual dipopulerkan oleh Peter J. Denning
yang mengambil istilah 'virtual'dari dunia optic. Sistem operasi menemukan
bahwa terjadi page fault, dan mencoba menemukan page virtual mana yang
diperlukan. Seringkali salah satu register hardware berisi informasi ini. Jika
tidak, sistem operasi harus menarik program counter, mengambil instruksi, dan
melakukan parsing pada software untuk mengetahui apa yang dilakukan sebelum
terjadi fault. alamat virtual yang menyebabkan fault diketahui, sistem operasi
memeriksa apakah alamat ini valid dan proteksinya konsisten dengan akses. Jika
tidak, proses dikirimi sinyal atau ditutup. Jika alamat valid dan tidak ada
pelanggaran proteksi, sistem berusaha untuk mendapatkan frame page dari daftar
frame bebas. Jika tidak ada frame yang bebas, dijalankan algoritma penggantian
page.
Kunci
: pembagian memory virtual dalam sistem operasi
i
KESIMPULAN
Ø Instruction
backup
Instruksi
yang menyebabkan referensi ke page yang belum ada di memori (menyebabkan page
fault) harus diulang ketika page tersebut telah tersedia. Beberapa sistem operasi
meng-copy setiap instruksi sebelum dilaksanakan sehingga hal ini tidakmakan
waktu terlalu lama.
Ø Locking
pages in memory
Pada saat satu proses menjalani tahap I/O, proses lain
bisa dijalankan. Yang mungkin terjadi ialah page proses I/O tersebut digantikan
oleh proses yang kedua ini (jika dipakai alokasi global). Jalan keluarnya ialah
dengan me-lock page-page proses I/O.
Ø Shared
pages
Dua
atau lebih proses bisa memakai bersama page-page yang berasal dari editor yang
mereka pakai. Penutupan salah
satu proses ini tanpa disengaja bisa mengosongkan juga page yang dipakai
bersama tersebut. Diperlukan suatu struktur data khusus untuk memantau
page-page yang dipakai bersama ini.
Ø Backing
Store
Pada
disk, disediakan area untuk menampung page yang dikeluarkan dari memori (paged
out) yang disebut swap area. Setiap proses memiliki swap area di disk. Swap
area ada yang statis ada juga yang dinamis.
Ø Paging
Daemon
Untuk
meyakinkan tersedianya frame bebas yang cukup banyak, banyak sistem paging yang
menggunakan proses background yang disebut paging daemon. Jika jumlah frame
bebas terlalu sedikit, paging daemon akan mengosongkan beberapa page setelah
menulisnya ke disk jika pernah dimodifikasi.
Tidak ada komentar:
Posting Komentar