Sabs UTDocs
Msim4201

MSIM4201 - Modul 5

Ringkasan materi Manajemen Memori: Cache dan Virtual Memory untuk persiapan UAS MSIM4201

Manajemen Memori: Cache dan Virtual Memory

Memori merupakan salah satu sumber daya komputer yang esensial. Modul ini membahas konsep dasar manajemen memori, khususnya Cache Memory dan Virtual Memory, yang bertujuan untuk mengoptimalkan kinerja sistem operasi dalam menyimpan dan mengolah data.

Cache Memory

Cache memory adalah memori semikonduktor berukuran kecil yang berfungsi sebagai buffer berkecepatan tinggi. Letaknya antara prosesor dan memori utama, menyediakan data kepada instruksi yang akan diolah oleh prosesor, sehingga mempercepat waktu akses.

Hirarki Memori

Dalam hirarki memori, posisi cache memory berada satu level di bawah register. Semakin tinggi posisi dalam hirarki (mendekati register):

  • Ukuran kapasitas semakin kecil.
  • Kecepatan akses semakin cepat.
  • Harga per bit semakin mahal.

Elemen Perancangan Cache Memory

Menurut Lumenta (2013), elemen perancangan dasar cache memory meliputi:

  1. Cache Address: Meliputi alamat logis dan fisik. Virtual memory memungkinkan program mengalami memori dari sudut pandang logika, yang diterjemahkan ke alamat fisik oleh memory management unit (MMU).
  2. Cache Size: Ukuran cache yang lebih besar cenderung lebih lambat karena melibatkan lebih banyak gate dalam pengalamatan. Ukuran cache harus diminimalisir untuk kinerja optimal.
  3. Mapping Function: Teknik pemetaan blok memori utama ke line cache memory.
    • Direct Mapping: Setiap blok memori utama dipetakan ke hanya satu cache line yang mungkin. Paling sederhana tetapi rawan konflik.
    • Associative Mapping: Setiap blok memori utama dapat dimuat ke setiap line pada cache. Mengatasi kelemahan direct mapping.
    • Set Associative Mapping (k-way set associative): Kompromi antara direct dan associative mapping, menggabungkan kelebihan keduanya.
  4. Replacement Algorithms: Menentukan cache memory line mana yang akan ditimpa.
    • First In First Out (FIFO): Mengganti page yang paling pertama masuk.
    • Least Frequently Used (LFU): Mengganti cache memory yang paling jarang digunakan.
    • Least Recently Used (LRU): Mengganti entry yang paling tidak baru saja digunakan.
    • Random: Teknik penggantian secara acak, dianggap paling buruk karena bisa mengganti page yang masih dibutuhkan.
  5. Write Policy: Menjaga konsistensi antara isi cache memory line dengan blok memori utama.
    • Write Back: Penulisan hanya dilakukan pada cache memory line, memori utama diperbarui saat cache line dihapus.
    • Write Through: Penulisan dilakukan pada memori utama bersamaan dengan penulisan pada cache memory line.

Swapping

Swapping adalah mekanisme di mana suatu proses dapat sementara dipindahkan (swapped out) dari memori ke backing store (disk) dan kemudian dimasukkan kembali (swapped in) ke memori untuk melanjutkan eksekusi. Ini umumnya digunakan dalam penjadwalan prioritas, di mana proses berprioritas rendah di-swap out untuk memberi ruang bagi proses berprioritas tinggi.

Contiguous Memory Allocation

Dalam alokasi memori yang berdekatan, memori utama dibagi menjadi dua bagian:

  1. Resident Operating System: Tersimpan di alamat memori rendah, termasuk interrupt vector.
  2. User Process: Menggunakan memori beralamat tinggi/besar.

Pertimbangan penting dalam alokasi memori yang tersedia:

  • Proteksi Memori: Mencegah proses mengakses memori yang tidak sah. Menggunakan relocation register dan limit register.
  • Memory Allocation: Metode pembagian partisi memori.
    • Single Partisi: Hanya satu proses program pengguna.
    • Multiple Partisi: Banyak proses program pengguna dalam memori.
      • Fixed Sized: Memori dibagi blok ukuran seragam.
      • Variable Size/Dynamic: Pembagian memori sesuai permintaan proses.
      • Dynamic Storage Allocation:
        • First-fit: Alokasi pada hole pertama yang mencukupi.
        • Best-fit: Alokasi pada hole paling cocok (fragmentasi kecil).
        • Worst-fit: Alokasi pada hole dengan fragmentasi terbesar.
        • First-fit dan Best-fit lebih baik dibandingkan Worst-fit dalam kecepatan dan pemanfaatan storage.
  • Fragmentation: Munculnya ruang memori kosong (hole) yang tidak cukup besar untuk permintaan alokasi.
    • Fragmentasi Internal: Terjadi pada partisi fixed sized.
    • Fragmentasi Eksternal: Terjadi pada partisi variable size.

Segmentation

Segmentasi adalah skema manajemen memori yang mendukung pandangan programmer terhadap memori sebagai kumpulan segmen. Setiap segmen memiliki panjang dan nama. Alamat terdiri dari nama segmen dan offset dalam segmen tersebut.

Paging

Paging adalah metode dasar yang membagi memori fisik menjadi blok-blok berukuran tetap yang disebut frame, dan memori logis menjadi blok-blok berukuran sama yang disebut page. Alamat memori yang dihasilkan CPU terdiri dari page number (p) dan offset (d). Page table memetakan page logis ke frame fisik.

Virtual Memory

Memori virtual adalah teknik yang memisahkan memori logis dari memori fisik. Ini memungkinkan program untuk menggunakan memori lebih besar dari yang fisik tersedia, dengan menempatkan sebagian besar program di disk sekunder dan hanya membawa halaman yang diperlukan ke memori utama. Konsep ini pertama kali dikemukakan oleh John Fotheringham (1961).

Demand Paging

Demand paging adalah implementasi paling umum dari memori virtual, di mana halaman (page) tidak akan dibawa ke memori fisik sampai benar-benar diperlukan.

Keuntungan Demand Paging:

  • Sedikit I/O yang dibutuhkan.
  • Sedikit memori yang dibutuhkan.
  • Respon lebih cepat.
  • Dapat melayani lebih banyak pengguna.

Skema Bit Valid – Tidak Valid

Bit valid-invalid pada page table menunjukkan apakah suatu halaman legal dan berada di memori (1) atau tidak (0). Jika bit adalah 0, ini menandakan terjadinya page fault.

Penanganan Kesalahan Halaman (Page Fault)

Page fault adalah interupsi yang terjadi ketika halaman yang diminta tidak berada di memori utama. Langkah-langkah penanganan page fault:

  1. CPU mengambil instruksi, mengakses page table.
  2. Bit page table tidak valid, terjadi interupsi page fault (trap ke OS).
  3. Jika referensi ilegal, proses dihentikan. Jika legal, halaman dicari di disk.
  4. Halaman dibawa ke memori fisik.
  5. Page table diatur ulang. Jika tidak ada ruang, dilakukan page replacement.
  6. Proses diulang.

Kelebihan dan Kekurangan Demand Paging

Kelebihan:

  1. Memori virtual yang besar: Ukuran program tidak terbatas pada memori fisik.
  2. Penggunaan memori yang lebih efisien: Hanya bagian program yang dibutuhkan yang dimuat.
  3. Meningkatkan derajat multiprogramming: Lebih banyak proses dapat berada di memori fisik.
  4. Penggunaan I/O yang lebih sedikit: Hanya bagian program yang diperlukan yang dimuat.

Kekurangan:

  1. Processor Overhead: Interupsi page fault menambah beban kerja CPU.
  2. Thrashing: Kondisi di mana CPU lebih banyak mengurusi page fault daripada menangani proses, mengurangi kinerja sistem.

Kinerja Demand Paging: Effective Access Time (EAT)

Waktu akses memori menjadi lebih lambat akibat penanganan page fault.

EAT = (1 - p) × ma + p × halaman fault time

  • p: Kemungkinan terjadi page fault (0 < p < 1).
  • ma: Memory access time.
  • halaman fault time: Waktu untuk mengatasi page fault.

Persyaratan Perangkat Keras dan Restart Instruction

1. Locality of References: Mengurangi page fault dengan prinsip: _ Temporal: Lokasi yang sekarang ditunjuk kemungkinan akan ditunjuk lagi. _ Spatial: Lokasi yang dekat dengan yang sedang ditunjuk kemungkinan akan ditunjuk juga. 2. Pure Demand Paging: Program dimulai dengan membawa satu halaman awal ke memori, kemudian halaman lain baru dimuat saat diperlukan. 3. Multiple Page Fault: Kesalahan halaman karena satu instruksi memerlukan akses beberapa halaman yang tidak ada di memori utama. 4. Restart Instruction: Kebutuhan pengulangan instruksi jika terjadi page fault, penanganannya bervariasi tergantung kompleksitas instruksi dan kemungkinan page fault.

Poin Penting

  • Cache Memory adalah memori berkecepatan tinggi yang berfungsi sebagai buffer antara prosesor dan memori utama.
  • Elemen perancangan cache meliputi Cache Address, Cache Size, Mapping Function, Replacement Algorithms, dan Write Policy.
  • Direct Mapping, Associative Mapping, dan Set Associative Mapping adalah teknik pemetaan cache.
  • Write Back dan Write Through adalah kebijakan penulisan data ke memori utama.
  • Swapping adalah pemindahan sementara proses dari atau ke memori utama.
  • Contiguous Memory Allocation berkaitan dengan proteksi memori, alokasi memori (First-fit, Best-fit, Worst-fit), dan fragmentasi.
  • Segmentation melihat memori dari sudut pandang programmer sebagai kumpulan segmen.
  • Paging membagi memori logis menjadi page dan memori fisik menjadi frame.
  • Virtual Memory memisahkan memori logis dan fisik untuk mengatasi keterbatasan kapasitas memori.
  • Demand Paging adalah implementasi umum virtual memory yang hanya memuat halaman saat dibutuhkan.
  • Page Fault adalah interupsi ketika halaman yang diminta tidak ada di memori utama.
  • Effective Access Time (EAT) mengukur kinerja demand paging, sangat dipengaruhi oleh page fault rate (p).
  • Thrashing adalah kondisi di mana sistem menghabiskan terlalu banyak waktu untuk page fault, mengurangi kinerja CPU.

Tes Formatif 1 — Kegiatan Belajar 1

Tes Formatif 1Kegiatan Belajar 1

1.Pengertian cache memory adalah ...

2.Dalam hierarki memori posisi cache memory adalah ...

3.Dalam perhitungan kecepatan cache size, cache size yang lebih besar akan lebih ...

4.Teknik yang paling sederhana, memetakan setiap block main memory ke hanya satu cache line yang mungkin adalah ...

5.Berfungsi untuk menyelesaikan kelemahan dari direct mapping dengan mengizinkan setiap block main memory dimuat ke setiap line yang ada pada cache adalah ...

6.Sebuah kompromi yang memperlihatkan kelebihan dari pendekatan *direct* dan *associative* dan sekaligus memperkecil kekurangannya adalah ...

7.Yang berperan untuk menentukan bagaimana cara menjaga konsistensi antara isi *cache memory line* tertentu dengan *main memory block* terkait adalah ...

8.Yang mempunyai peran sebagai disk yang cepat dan cukup besar untuk mengakomodasi copy semua memori *image* pada semua user; menyediakan akses langsung ke memori *image* adalah ...

9.Bagian yang biasanya tersimpan dialamat memori rendah termasuk *interrupt vector* adalah ...

10.Bagian yang biasanya menggunakan memori beralamat tinggi/besar adalah ...

11.Tujuannya untuk mencegah proses mengakses memori yang tidak sesuai adalah ...

12.Memori yang dibagi menjadi beberapa blok dengan ukuran tertentu yang seragam adalah ...

13.Teknik mengalokasikan proses pada hole pertama yang ditemui yang besarnya mencukupi adalah ...

14.Munculnya lubang-lubang (ruang memori kosong) yang tidak cukup besar untuk menampung permintaan alokasi memori dari proses adalah ...

15.Metoda dasar yang digunakan dengan memecah physical memory menjadi blok-blok berukuran tetap yang akan disebut sebagai frame adalah ...

16.Teknik pengelolaan memori yang tidak dapat dipakai untuk mendukung sistem multi-tataolah (multiprogramming/multitasking) adalah teknik ...

17.Pada suatu pemuatan relokasi (relocatable partitioned memory management), alamat pangkal (base address) adalah 14000 dan alamat awal adalah 0. Alamat mutlak dari alamat relatif 300 adalah ...

18.Dalam Dynamic Partitioned Memory Management, sebelum proses pengurutannya (sort), keadaan tabel yang memuat informasi tentang partisi yang kosong adalah sebagai berikut. Jika job baru berukuran 50 Kb akan dimuat ke memori dan algoritma alokasi yang dipakai adalah Cocok Pertama (First Fit) maka partisi yang akan diberikan adalah partisi kosong yang terdapat pada lokasi (alamat) ...

19.Untuk soal di atas, jika algoritma alokasi yang dipakai adalah cocok terbaik (Best Fit), maka partisi yang diberikan adalah partisi kosong pada alamat ...

20.Untuk keadaan memori pada soal no. 18, jika job yang menempati partisi pada lokasi 550 K besarnya adalah 62 Kb dan selesai proses, maka jumlah partisi kosong berubah menjadi ...

0/20 soal dijawab

Tes Formatif 2 — Kegiatan Belajar 2

Tes Formatif 2Kegiatan Belajar 2

1.Konsep memori virtual dikemukakan pertama kali oleh John Fotheringham pada tahun ...

2.Berikut adalah bagian dari konsep virtual memori, kecuali ...

3.Memori virtual adalah ...

4.Demand paging atau permintaan pemberian halaman adalah ...

5.Pada konsep skema bit valid-tidak valid, pengertian valid adalah ...

6.Pada Konsep skema bit valid-tidak valid, pengertian invalid adalah ...

7.Pengertian kesalahan page (page fault) adalah ...

8.Processor overhead pada kekurangan demand paging adalah ...

9.Thrashing pada kekurangan demand paging adalah ...

10.Salah satu aktivitas yang dilakukan dalam melayani kesalahan halaman (page fault) adalah ...

11.Salah satu aktivitas yang terjadi dalam pembacaan halaman adalah ...

12.Salah satu Aktivitas yang terjadi untuk mengulangi instruksi adalah ...

13.Prinsip lokalitas dibagi menjadi 2 bagian yaitu ...

14.Pada prinsip lokalitas terdapat temporal, temporal adalah ...

15.Pada prinsip lokalitas terdapat spatial, spatial adalah ...

16.Berikut adalah perbedaan physical address dengan virtual address, kecuali ...

17.Konsep yang memungkinkan pelaksanaan program pada komputer dengan kapasitas penampungan memori yang lebih kecil dari ukuran besar program adalah ...

18.Pure Demand Paging pada memori virtual adalah ...

19.Multiple Page Fault pada pengaksesan paging adalah ...

20.Restart Instruction pada kesalahan halaman adalah ...

0/20 soal dijawab

On this page