BAB
I
PENDAHULUAN
1.1
Pendahuluan
Sistem Operasi adalah
perangkat lunak sistem yang mengatur sumber daya dari perangkat keras(Hardware)
dan perangkat lunak(Software), serta sebagai jurik (daemon) untuk program
komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program
aplikasi pada komputer mereka, kecuali program booting.Sistem operasi mempunyai
penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan
data, penyimpanan data, dan sumber daya lainnya.
Didalam
system operasi sering kita mendengar istilah dari manajemen memori, algoritma
page replacement, paging dan segmentasi.kali ini kami akan membahas sedikit
mengenai manajemen memori, algoritma page replacement, paging dan segmentasi.
1.2
Rumusan masalah
a. Apa
pengertian manajemen memori.
b. Apa
saja fungsi manajemen memori.
c. Jenis-jenis
algoritma page replacement dan pembahasan nya.
d. Apa
pengertian paging dan segmentasi.
1.3
Tujuan
penulisan
a.
Mengetahui pengertian dan fungsi dari
manajemen memori.
b.
Mengetahui penegrtian dari jenis-jenis
algoritma page replacement.
c. Mengetahui
pengertian dari paging dan segmentasi.
BAB
II
PEMBAHASAN
2.1
Pengertian
manajemen memori
Manajemen memori adalah proses
pengendalian dan koordinasi memori komputer, menugaskan bagian yang disebut
blok ke berbagai program untuk mengoptimalkan kinerja sistem secara
keseluruhan. Manajemen memori berada di perangkat keras (hardware), dalam OS
(sistem operasi), dan dalam program dan aplikasi.
Pada perangkat keras, manajemen
memori melibatkan komponen penyimpanan data, seperti RAM (random access memory)
chip, memori cache, dan flash berbasis SSD (solid-state drive). Manajemen memori sistem operasi adalah
menangani atau mengelola memori utama dan bergerak bolak-balik antara memori
utama dan disk selama eksekusi.
Pada prinsipnya memori
dalam sistem komputer dapat dibedakan menjadi dua bagian yaitu memori kerja dan
memori backing store. Memori Kerja bertugas untuk menampung pekerjaan pada saat
sebelum atau sesudah pekerjaan itu dilaksanakan oleh prosesor dan untuk
menampung segala hal yang diperlukan oleh prosesor, Beberapa Contoh memori
kerja untuk memori tetap adalah ROM (Read Only Memory) ,
PROM (Programmable
ROM ), EEPROM (Erasable EPROM ), dan Register mikroprosesor.
Sementara itu Contoh memori kerja
untuk memori bebas adalah RAM (Random Access Memory).
2.2
Fungsi manajemen memori.
Fungsi manajemen memori mempunyai peranan yang sangat penting
dalam sistem komputer. Fungsi menejemen memori tersebut antara lain ialah :
meningkatkan kecepatan akses CPU terhadap data dan instruksi Data dan instruksi dapat diakses dengan cepat oleh CPU.
meningkatkan kecepatan akses CPU terhadap data dan instruksi Data dan instruksi dapat diakses dengan cepat oleh CPU.
1)
meningkatkan efisensi
pemakaian memori yang terbatas.
2)
Meningkatkan efisiensi
transfer atau perpindahan data .
3)
Mengelola informasi
yang dipakai dan tidak dipakai.
4)
Mengalokasikan memori
ke proses yang memerlukan.
5)
Mendealokasikan memori
dari proses telah selesai.
6)
Mengelola swapping atau
paging antara memori utama dan disk.
7)
meningkatkan kecepatan
akses CPU terhadap data dan instruksi Data dan instruksi dapat diakses dengan
cepat oleh CPU.
2.3
Jenis-jenis
algoritma page replacement dan pembahasan nya.
Algoritma page replacement adalah beberapa bentuk
algoritma untuk mengganti halaman pada computer dikarenakan terjadi apabila terjadi page fault. Page fault bukan suatu
jenis error yang fatal, page fault terjadi apabila ada halaman yang
ingin diakses tetapi halaman tersebut tidak terdapat di dalam memori
utama. Page fault pasti terjadi minimal satu kali saat pertama kali
halaman itu ingin diakses.
Prinsip ganti halaman adalah sebagai berikut:
a. Proses meminta halaman tertentu.
b. Jika halaman berada di memori, tidak
dilakukan ganti halaman.
c. Jika halaman tidak berada di memori, maka:
1)
Jika
ada frame kosong, maka halaman itu di-load ke dalam frame
yangkosong tersebut.
2)
Jika
tidak ada frame yang kosong, maka pilih halaman yang akan di-swap dengan
menggunakan algoritma ganti halaman.
d. Update tabel halaman dan table memori.
e. Restart proses.
Algoritma pengganti
merupakan perintah yang memiliki fungsi untuk melakukan seleksi terhadap item
yang harus dibuang untuk menyediakan ruang bagi item yang lain. Terdapat
beberapa jenis algoritma pengganti antara lain:
1) Least Recently Used (LRU)
Perintah
untuk membuang item yang paling jarang dipergunakan belakangan. Algoritma ini
memerlukan pencarian jejak terhadap apa yang telah dipergunakan ketika, dimana
mahal jika seseorang ingin untuk memastikan bahwa algoritma selalu membuang
item yang paling jarang dipergunakan.
Cara
kerja algoritma LRU adalah menggantikan halaman yang sudah tidak digunakan
dalam jangka waktu yang paling lama. Pertimbangan algoritma ini yaitu
berdasarkan observasi bahwa halaman yang sering diakses kemungkinan besar
akan diakses kembali. Sama halnya dengan algoritma optimal, algoritma LRU juga
tidak akan mengalami anomali Belady. Namun, sama halnya juga dengan algoritma
optimal, algoritma LRU susah untuk diimplementasikan, walaupun sedikit lebih
mudah dari algoritma optimal. Pengimplementasian algoritma LRU dapat dilakukan
dengan dua cara.
2) Algoritma pergantian page acak
Mekanisme
algoritma Setiap terjadi page fault, page yang diganti dipilih secara acak.
Teknik ini tidak memakai informasi apapun dalam menentukan page yang diganti. Semua page di memori utama mempunyai bobot sama untuk dipilih. Teknik ini dapat memilih sembarang page, termasuk page yang sedang diacu (page yang seharusnya tidak diganti, pilihan terburuk). Teknik ini sangat buruk, percobaan menunjukkan algoritma acak menimbulkan rate terjadinya page fault yang sangat tinggi.
Teknik ini tidak memakai informasi apapun dalam menentukan page yang diganti. Semua page di memori utama mempunyai bobot sama untuk dipilih. Teknik ini dapat memilih sembarang page, termasuk page yang sedang diacu (page yang seharusnya tidak diganti, pilihan terburuk). Teknik ini sangat buruk, percobaan menunjukkan algoritma acak menimbulkan rate terjadinya page fault yang sangat tinggi.
3) Algoritma
FIFO (First In First Out)
Algoritma ini adalah algoritma yang paling sederhana.
Prinsip dari algoritma ini adalah seperti prinsip antrian (antrian tak
berprioritas), halaman yang masuk lebih dulu maka akan keluar lebih dulu juga.
Algoritma ini menggunakan struktur data stack. Apabila tidak ada frame kosong
saat terjadi page fault, maka korban yang dipilih adalah frame yang berada di
stack paling bawah, yaitu halaman yang berada paling lama berada di memori.
Dengan hanya informasi mengenai lama berada di memori, maka algoritma ini dapat
memindahkan page yang sering digunakan.Boleh jadi page itu berada terus di
memori karena selalu digunakan.Page itu karena mengikuti pola antrian berdasar
lamanya berada di memori menjadi elemen terdepan, diganti, dan segera harus
masuk kembali ke memori sehingga terjadi page fault kembali.
4) Algoritma
optimal
Algoritma ini adalah algoritma yang paling optimal
sesuai namanya. Prinsip dari algoritma ini adalah mengganti halaman yang tidak
akan terpakai lagi dalam waktu lama, sehingga efisiensi pergantian halaman
meningkat (page fault yang terjadi berkurang) dan terbebas dari anomali Belady.
Strategi ini akan menghasilkan jumlah page-fault paling sedikit. Algoritma ini
memiliki page fault rate paling rendah di antara semua algoritma di semua
kasus.Akan tetapi, optimal belum berarti sempurna karena algoritma ini ternyata
sangat sulit untuk diterapkan. Sistem tidak dapat mengetahui halaman-halaman
mana saja yang akan digunakan berikutnya. Pendekatan ini dapat dilakukan dengan
simulasi.Tapi simulasi hanya spesifik untuk suatu program.Bila yang terbaik tak
dimungkinkan, maka yang perlu dilakukan adalah berusaha mendekatinya.Algoritma
penggantian page diusahakan kinerjanya mendekati optimal.Tiap algoritma
penggantian page mengumpulkan dan memakai informasi untuk menentukan page yang
diganti sehingga mendekati optimal.
2.4
Sistem
paging dan segmentasi
A. Sistem
paging
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.Paging itu memecah memori fisik menjadi blok-blok yang berukuran
tertentu di sebut frame, dan memecah memori logika menjadi blok-blok yang
disebut page, seperti di jelaskan dalam point pengertian di atas, Jadi karena
ada program yang melebihi memori utama, maka dengan paging ini, dapat dipecah-pecah menjadi beberapa bagian, sehingga
program dapat di eksekusi.
Untuk mengatasi hal tersebut Sistem paging mempunyai 2 solusi
yaitu :
·
Konsep Overlay
Dimana program yang dijalankan dipecah menjadi
beberapa bagian yang dapat dimuat memori (overlay). Overlay yang belum
diperlukan pada saat program berjalan (tidak sedang dieksekusi) disimpan di
disk, dimana nantinya overlay tersebut akan dibuat ke memori begitu diperlukan
dalam eksekusinya.
·
Virtual Memory
Yaitu kemmapuan mengamati ruang memori melebihi
memeori utama yang tersedia. Konsep ini pertama kali ditemukan Fotheringham
pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.
Gagasan
virtual memory 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.
Masalah yang terjadi pada paging
a. Masalah Utama Sistem Paging
1) Working Set Model
·
Prinsip
Lokalitas
Prinsip Lokalitas adalah
proses-proses cenderung mengacu penyimpan secara tak seragam, mempunyai
pola-pola sangat setempat.
·
Working
set of Program Behavior
Himpunan kerja secara informal
didefinisikan sebagai kumpulan page proses yang secara aktif diacu. Denning
menyatakan bahwa agar suatu program berjalan secara efisien, himpunan kerja
harus dijaga berada di memori utama. Selain itu akan terjadi aktivitas page
fault yang berlebihan. Peristiwa page fault yang sangat berlebihan disebut
trashing, yaitu setelah hanay beberapa intruksi terjadi page fault.
Prinsip yang digunakan oleh Working
Set Model ini adalah dengan melacak dan menjamin himpunan kerja terdapat di
memori sebelum proses dijalankan. Cara ini mengurangi terjadinya page fault.
2)
ebijaksanaan
penggantian lokal vs global
Teradapat dua pendekatan untuk
mengganti page, yaitu :
·
Penggantian
lokal adalah page yang dipilih untuk diganti hanya pada partisi dimana proses
diletakkan.
·
Penggantian
global adalah page yang dipilih untuk diganti adalah tempat kosong dengan tidak
memperdulikan partisi proses.
3) Frekuensi
page fault
Frekuensi
terjadinya page fault dapat dikendalikan dengan algoritma PFF (Pafe Fault
Frequency Algorithm).
4) Ukuran
page
Ukuran
page ditentukan perancang sistem operasi. Ukuran page harus ditentukan agar
sistem berperilaku opimal. Penentuan ukuran page memerlukan penilaian dan
pemahaman mendalam perangkat keras, perangkat lunak dan aplikasi sistem.
b.
Masalah Implementasi Sistem Paging
1)
Back-up
Intruksi
Bila
trejadi page fault berarti sebgaian intruksi telah dijalankan. Pengkopina
program counter dan informasi register-register pemroses harus dilakukan.
Setelah pergantian page selesai maka intruksi yang menyebabkan page fault dapat
dijalankan kembali dengan konteksnya.Masalah yang harus diatasi adalah untuk
mengulangi intruksi, sistem harus menetukan byte pertama intruksi.
2)
Buffer
Pernagkat Maaukan / Keluaran (Penguncian Page)
Pergantian
page akan menimbulkan masalah mengacaukan proses yang melakukan operasi masukan
/ keluaran jika :
·
Buffer
perangkat masukan / keluaran ikut tergusur
·
Adanya
buffer satu perangkat masukan / keluaran menjaid rangkap.
3)
Pemakaian
Page Bersama
Apabila
beberapa pemakai menggunakan program yang sama maka terjadi perngakapan page
(page yang sam aterdapat di banyak bagian di memori). Lebih efisien menggunakan
page secara bersama, menghindari keharusan mempunyai copyan-copyan page yang
sama di saat yang sama.
4)
Backing
Store
Masalah
lain adalah menyangkut dimana diletakkan page yang keluar dari memori utama.
Terdapat dua algoritma untuk mengatasi hal ini, yaitu :
- Menggunakan ruang ganti khusus
- Dialokasikan berdasarkan
kebutuhan
5)
Paging
Daemon
Paging
bekerja bagus saat terdapat banyak page frame bebas yang dapat diklaim begitu
page fault terjadi. Jika setiap page frame penuh dan telah dimodifikasi,
sebelum page baru dimasukkan, pag eharus ditulis terlebih dahulu ke disk.Untuk
menjamin pasokan (supply) page frame yang banyak, sistem paging biasanya
mempunyai proses background, disebut Paging Daemon.
6)
Penanganan
Page Fault (Page Fault Handling)
Implementasi
sistem paging harus mengatasi rincian aksi yang harus dilakukan saat terjadi
page fault.
B.
Segmentasi memori
Segmentasi memori adalah skema manajemen memori yang memungkinkan user untuk melihat
memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap segmen
mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan offset.
Segment diberi nomor dan disebut dengan nomor segmen (bukan nama segmen) atau
segment number. Segmen dibentuk secara otomatis oleh compiler.
1)
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 memori dilihat sebagai kumpulan segmen dengan ukuran
berbeda-beda, tidak perlu berurutan diantara segment tersebut. 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
2)
Arsitektur
Segmentasi
Alamat logika terdiri dari dua bagian yaitu nomor segmen (s)
dan offset (d) yang dituliskan dengan . Pemetaan alamat logika ke alamat
fisik menggunakan tabel segmen (segment table), terdiri dari :
o Segmen basis (base) berisi alamat fisik awal
o Segmen limit merupakan panjang segmen Seperti tabel page, tabel segmen dapat berupa register atau memori berkecepatan tinggi.
o Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table.
o Segment-table length register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang digunakan program.
o 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.
o Segmen basis (base) berisi alamat fisik awal
o Segmen limit merupakan panjang segmen Seperti tabel page, tabel segmen dapat berupa register atau memori berkecepatan tinggi.
o Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table.
o Segment-table length register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang digunakan program.
o 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.
3)
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 illegal.
BAB
III
PENUTUP
3.1
Kesimpulan
Manajemen memori adalah proses
pengendalian dan koordinasi memori komputer, menugaskan bagian yang disebut blok
ke berbagai program untuk mengoptimalkan kinerja sistem secara keseluruhan. Manajemen
memori berada di perangkat keras (hardware), dalam OS (sistem operasi), dan
dalam program dan aplikasi.
Algoritma page replacement adalah
beberapa bentuk algoritma untuk mengganti halaman pada computer dikarenakan
terjadi apabila terjadi page fault. Page fault bukan suatu jenis error yang fatal, page fault terjadi
apabila ada halaman yang ingin diakses tetapi halaman tersebut tidak terdapat
di dalam memori utama.
Macam-macam algoritma
pergantian halaman yakni ; Least Recently Used (LRU), Algoritma pergantian page acak, Algoritma FIFO (First In First Out) dan algoritma
optimal.
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.Paging itu memecah memori fisik menjadi blok-blok yang berukuran
tertentu di sebut frame, dan memecah memori logika menjadi blok-blok yang
disebut page.
Segmentasi memori adalah skema manajemen memori yang memungkinkan user untuk
melihat memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap
segmen mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan
offset. Segment diberi nomor dan disebut dengan nomor segmen (bukan nama
segmen) atau segment number. Segmen dibentuk secara otomatis oleh compiler.
Sekian makalah presentasi kami dimana terdapat
kekurangan dan kesilapan kami mohon maaf dan mengharapkan koreksi supaya
makalah ini dapat menjadi sumber ilmu yang bermanfaat,terimakasih.