• Tidak ada hasil yang ditemukan

Manjemen memori - main memory

N/A
N/A
Fatha Ariya Prasetya

Academic year: 2023

Membagikan "Manjemen memori - main memory"

Copied!
24
0
0

Teks penuh

(1)

KELOMPOK 3 | K3

KOM1311 – Sistem Operasi

(2)

Fatha Ariya Prasetya

G6401211078 TAN BIMA WIRAGAMA

G6401211085

Ronald abner

G6401211110

Made althaaf (Kotop uwu)

G6401211068

Mike Jared G

G6401211149

(3)

Untuk menjalankan suatu program, program pertama diambil dari disk ke memory lalu dijadikan sebuah proses.

Saat menjalankan sebuah proses, CPU mengambil instruksi -instruksi dari memory, lalu instruksi-instruksi tersebut mungkin membutuhkan operand yang juga berada di dalam memory.

Unit memory itu sendiri tidak mengetahui dari mana asal address-address tersebut atau isi address tersebut digunakan untuk apa, mereka hanya menerima stream address dan read request atau stream address, data, dan write request.

(4)

CPU itu sendiri hanya bisa mengakses register dan main memory. Register dapat diakses dalam waktu 1 cycle cpu clock sedangkan main memory membutuhkan banyak cycle cpu clock.

Selain itu, memori juga membutuhkan proteksi dari program lain agar address-address masing-masing program hanya digunakan oleh program itu sendiri.

Dibutuhkan metode-metode untuk mengelola memori dengan segala kerumitan ini. Misalnya menggunakan cache untuk mempercepat akses ke data yang ada di main memory untuk mencegah stall, pair base dan limit register untuk proteksi program, logical address dan physical address, dll.

(5)

Pengertian

Segmentasi adalah salah satu teknik manajemen memori yang membagi ruang alamat logis

menjadi segmen-segmen yang berukuran variabel dan

independen

Setiap segmen memiliki alamat

awal (base) dan ukuran (limit) yang disimpan dalam tabel segmentasi.

Alamat logis terdiri dari nomor

segmen dan offset dalam segmen

Segmentasi memungkinkan

pemrogram untuk mengorganisir program dalam modul-modul logis yang dapat diberi proteksi dan

bersifat dinamis. Segmentasi juga mendukung pemrograman

modular, pemanggilan prosedur, alokasi memori dinamis, dan

berbagi kode atau data antar

proses.

(6)

Memudahkan pemrograman dengan

memungkinkan pemisahan kode dan data secara logis.

Menimbulkan fragmentasi internal

karena ukuran segmen tidak selalu tepat dengan ukuran blok memori

Memfasilitasi berbagi dan perlindungan memori dengan memberikan atribut akses

untuk setiap segmen

Memerlukan mekanisme penggabungan (compaction) untuk mengurangi

fragmentasi eksternal

Mengurangi fragmentasi eksternal dengan mengalokasikan memori sesuai

dengan ukuran segmen

Memerlukan tabel segmentasi yang besar untuk menyimpan informasi setiap segmen

advantages and disadvantages

(7)

Dalam pengelolaan memori komputer, segmen program atau proses tidak harus memiliki ukuran yang sama dan dapat ditempatkan di mana saja di dalam memori utama. Alamat logis dari segmen adalah alamat dua dimensi, sedangkan alamat fisik memori adalah alamat satu dimensi. Untuk memudahkan implementasi dari alamat logis ke alamat fisik, digunakan Tabel Segmen yang terdiri dari base dan limit. Base menunjukkan alamat awal segmen dalam alamat fisik dan limit menunjukkan panjang segmen.

Segmen baris (base) berisi alamat fisik awal Segmen limit merupakan panjang segmen

Alamat Logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan:

<nomor segmen, offset>

Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari

Tabel segmen dapat berupa register atau memory berkecepatan tinggi. Pada program yang berisi sejumlah segmen yang besar, maka harus menyimpan tabel page di memory

Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table

Segment-table legth register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang digunakan program

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.

(8)

Pemetaan dari alamat logika ke alamat fisik

membutuhkan 2 acuan memoriuntuk setiap alamat logika. Hal ini akan menurunkan kecepatan sistem dengan faktor2. Solusi standar yang digunakan

adalah dengan cache (atau associative register) untuk menyimpan entri tabel segmen yang sering digunakan. Misalnya alamat logika dengan nomor segment 0 offset 88 akan dipetakan ke alamat fisik 1400 + 88 = 1488 karena offset < limit (88 < 1000).

Alamat logika dengannomor segmen 1 offset 412 akan terjadi error karena offset > limit (412 >

400).Alamat logika dengan nomor segmen 2 offset

320 akan dipetakan ke alamat fisik 4300 + 320 =

4620 karena offset < limit (320 < 400).

(9)

Teknik dalam manajemen memori yang memungkinkan sistem operasi untuk memindahkan bagian-bagian dari program atau data dari memori utama (RAM) ke penyimpanan sekunder (seperti hard drive) dan sebaliknya.

Mengelola penggunaan memori secara efisien dan mengatasi keterbatasan kapasitas memori fisik.

(10)

1. Penukaran Data antara RAM dan Penyimpanan Sekunder

Ketika program dieksekusi, bagian-bagian dari program dan data yang tidak aktif saat ini dapat dipindahkan dari RAM ke penyimpanan sekunder.

Data yang dipindahkan dari RAM ke penyimpanan sekunder disebut "swapped out," sementara data yang dipindahkan dari penyimpanan sekunder ke RAM disebut "swapped in."

(11)

2. Manajemen Memori Virtual

Sistem operasi menciptakan ilusi bahwa pengguna memiliki akses ke ruang memori yang lebih besar daripada yang sebenarnya tersedia di RAM fisik.

Seiring program berjalan, sistem operasi dapat memutuskan untuk menggantikan (swap out) bagian-bagian yang tidak aktif dari program dari RAM untuk memberikan ruang bagi program dan data yang lebih aktif.

(12)

3. Page dan Frame

Dalam konsep swapping, unit transfer data disebut "page" di tingkat program dan "frame" di tingkat memori fisik.

Page adalah unit data yang dapat dipindahkan antara RAM dan penyimpanan sekunder, sedangkan frame adalah unit alokasi di RAM yang memiliki ukuran yang sama dengan page.

(13)

4. Kinerja dan Latensi

Swapping dapat memengaruhi kinerja sistem karena transfer data antara RAM dan penyimpanan sekunder memerlukan waktu yang lebih lama dibandingkan dengan operasi memori internal.

Oleh karena itu, manajemen memori yang efisien harus mempertimbangkan waktu latensi dan upaya yang diperlukan untuk swapping.

(14)

pAGGING

Paging adalah suatu teknik manajemen memori yang digunakan dalam sistem operasi untuk

mengimplementasikan virtual memory. Dalam

sistem yang menggunakan paging, alamat memori fisik dari suatu program atau proses tidak harus

berurutan secara linier, melainkan dibagi-bagi menjadi blok-blok yang disebut halaman (page).

Back to Agenda Page

(15)

pAGGING

Paging adalah mekanisme penyimpanan di sistem operasi yang

membagi setiap proses menjadi halaman, dan memori utama dibagi menjadi frame. Setiap halaman proses disimpan dalam satu frame, dan halaman-halaman dapat ditempatkan di lokasi memori yang berbeda dengan prioritas menemukan bingkai yang berdekatan.

Halaman-halaman hanya dibawa ke memori utama jika diperlukan, jika tidak, disimpan di penyimpanan sekunder. Ukuran frame dan halaman harus sama dalam sistem paging.

Back to Agenda Page

(16)

Contoh pAGGING

Misalkan memori utama berukuran 16 KB dan ukuran frame adalah 1 KB, sehingga memori utama akan dibagi menjadi 16 frame, masing-masing berukuran 1 KB. Dalam sistem ini, terdapat 4 proses, yaitu P1, P2, P3, dan P4, dengan masing-masing berukuran 4 KB. Setiap proses dibagi menjadi beberapa halaman, dengan ukuran setiap halaman adalah 1 KB, sehingga satu halaman dapat disimpan dalam satu frame. Pada awalnya, semua frame kosong, sehingga halaman-halaman proses dapat disimpan secara berdekatan.

Bingkai, halaman, dan pemetaan antara keduanya dapat dilihat pada gambar di samping.

(17)

Contoh pAGGING

Kita misalkan bahwa P2 dan P4 dipindahkan ke status waiting setelah beberapa waktu. Saat ini, 8 frame menjadi kosong, sehingga halaman lain dapat dimuat di tempat kosong tersebut. Proses P5 berukuran 8 KB (8 halaman) sedang menunggu dalam antrian ready.

Hal ini, terdapat 8 frame yang tidak bersebelahan yang tersedia di memori. Paging memberikan fleksibilitas untuk menyimpan proses di lokasi yang berbeda. Oleh karena itu, kita dapat memuat halaman proses P5 menggantikan P2 dan P4.

(18)

Hardware paging

Nomor Halaman (p) Offset Halaman (d)

Setiap alamat yang dihasilkan oleh CPU umumnya terdiri dari dua bagian:

2.1.

Nomor Halaman digunakan sebagai indeks ke dalam tabel halaman yang umumnya berisi alamat dasar setiap halaman di dalam memori fisik. Sementara itu, offset Halaman digabungkan dengan alamat dasar untuk menentukan alamat fisik memori yang kemudian dikirimkan ke unit memori. Jika ukuran logical address space adalah 2^m dan ukuran halaman adalah 2^n unit, maka high order m-n bits menunjukkan nomor halaman dan n low-order bit menunjukkan offset halaman.

(19)

Hardware paging

p menunjukkan indeks ke dalam tabel halaman dan d menunjukkan pergeseran (displacement) dalam halaman. Ukuran halaman biasanya ditentukan oleh hardware namun umumnya bervariasi antara 512 byte dan 16 MB per halaman

(20)

Penjelasan lain tentang paging

(21)

Sistem operasi Windows XP dan UNIX mendukung segmentasi, paging, dan segmentasi dengan paging dengan rincian sebagai berikut:

Back to Agenda Page

Segmen Umum: Ada enam segmen umum, termasuk Data, Stack, dan Code.

Deskriptor Segmen: Setiap segmen memiliki deskriptor yang berisi informasi seperti hak akses dan lokasi memori.

Register Segmen: Prosesor memiliki register khusus untuk menunjuk segmen dalam tabel deskriptor.

Offset Addressing: Alamat logis dihitung dengan menggabungkan nilai register segmen dengan offset.

Perlindungan dan Keamanan: Segmentasi digunakan untuk mengatur hak akses dan perlindungan memori.

Struktur Keamanan Berbasis Cincin: Intel Pentium mendukung empat tingkat keamanan (ring) yang mengontrol akses memori.

Segmen dalam arsitektur Intel Pentium memiliki fitur berikut:

2.1.

3.

4.

5.

6.

(22)

Alamat Memori: Ada dua jenis alamat, yaitu alamat fisik (RAM) dan alamat logis (program).

Unit Pengelola Memori (MMU): MMU menerjemahkan alamat logis ke alamat fisik.

Paging: Intel Pentium menggunakan mekanisme paging untuk memetakan alamat logis ke alamat fisik dalam halaman kecil.

Segmentasi: Sistem juga mendukung segmen memori, yang memungkinkan atribut dan hak akses yang berbeda pada blok-blok memori.

Back to Agenda Page

(23)

Back to Agenda Page

Terdiri dari Page Directory (PD) dan Page Table (PT).

PD menghubungkan ke PT, yang berisi alamat fisik halaman.

Ketika program mengacu pada alamat logis, MMU mengonversi ke alamat fisik menggunakan PD dan PT.

Memungkinkan manajemen memori yang efisien dan perlindungan data.

Arsitektur paging dua tingkat pada Pentium dengan

ukuran halaman 4 KB:

(24)

https://skylacha.wordpress.com/2010/10/23/perbedaan-partition-segmentation-dan-paging/

https://ichi.pro/id/sistem-operasi-101-virtualisasi-alokasi-memori-segmentasi-paging-dan-tlb-v-226029833451425 https://iim6.tripod.com/ibam-os-html/x3571.html

https://www.slideshare.net/kunchoroajiputra/presentasi-segmentasi-sistem-operasi-komputer https://bundet.com/d/1291-segmentasi-memori-sistem-operasi

https://www.studytonight.com/operating-system/paging-in-operating-systems https://www.javatpoint.com/os-paging-with-example

https://www.youtube.com/watch?v=MZvXqIkev7A&ab_channel=CHEEWAILUM

Silberschatz, Galvin, Gagne. 2009. Operating System Concepts: 8th Edition. JohnWiley & Sons Inc, United States of America.

Stallings, William. 2012. Operating Systems: Internals and Design Principles 7th Edition. New Jersey. Prentice – Hall Silberschatz, A., Galvin, P. B., & Gagne, G. 2018. Operating system concepts (10th ed.). John Wiley & Sons.

Tanenbaum, A. S., & Bos, H. 2015. Modern operating systems (4th ed.). Pearson Education.

Referensi

Dokumen terkait