Sabtu, 27 Juli 2019

MANAJEMEN MEMORI, ALGORITMA PAGE REPLACEMENT, SISTEM PAGING DAN SEGMENTASI

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.
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 faultPage 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.
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.
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 faultPage 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.