<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Virtual Memory on Nalar</title>
    <link>https://nalar.dev/id/tags/virtual-memory/</link>
    <description>Recent content in Virtual Memory on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Fri, 18 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/tags/virtual-memory/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MAP_SHARED mmap Menghubungkan Write Memori dengan State Page Berbasis File</title>
      <link>https://nalar.dev/id/map-shared-mmap-menghubungkan-write-memori-dengan-state-page-berbasis-file/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/map-shared-mmap-menghubungkan-write-memori-dengan-state-page-berbasis-file/</guid>
      <description>&lt;p&gt;Mapping &lt;code&gt;MAP_SHARED&lt;/code&gt; yang writable memungkinkan proses mengubah state berbasis file dengan memory store biasa. Byte diakses melalui virtual memory, bukan dikirim lewat &lt;code&gt;write()&lt;/code&gt;, tetapi mapping tersebut tetap berpartisipasi dalam state filesystem: perubahan dapat terlihat melalui shared mapping lain dan file I/O, lalu dirty page dapat ditulis kembali ke storage.&lt;/p&gt;&#xA;&lt;p&gt;Antarmuka ini menyatukan beberapa mekanisme ke dalam satu rentang alamat. CPU store, page fault, residensi page cache, writeback filesystem, dan persistensi storage dapat terlibat dalam siklus hidup byte yang sama. Menyamakan store yang berhasil dengan output file yang sudah durable menghapus batas yang tetap dipisahkan oleh sistem operasi.&lt;/p&gt;</description>
    </item>
    <item>
      <title>userfaultfd Mengubah Page Fault Menjadi Event Userspace</title>
      <link>https://nalar.dev/id/userfaultfd-mengubah-page-fault-menjadi-event-userspace/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/userfaultfd-mengubah-page-fault-menjadi-event-userspace/</guid>
      <description>&lt;p&gt;Sebuah thread dapat mengalami fault pada virtual address lalu tetap terblokir sementara thread atau proses userspace lain menentukan state page yang membuat akses tersebut dapat dilanjutkan. &lt;code&gt;userfaultfd&lt;/code&gt; menyediakan batas ini dengan mengubah page fault terpilih menjadi message pada file descriptor dan memasangkan message tersebut dengan ioctl untuk menyelesaikan fault.&lt;/p&gt;&#xA;&lt;p&gt;Mekanisme ini tidak menggantikan page-fault machinery milik kernel. Kontrol userspace disisipkan pada range dan kelas fault yang didaftarkan, sementara kernel tetap memiliki page table, pemblokiran fault, dan transisi yang membuat page dapat diakses kembali.&lt;/p&gt;</description>
    </item>
    <item>
      <title>userfaultfd Memindahkan Resolusi Missing Page ke User Space</title>
      <link>https://nalar.dev/id/userfaultfd-memindahkan-resolusi-missing-page-ke-user-space/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/userfaultfd-memindahkan-resolusi-missing-page-ke-user-space/</guid>
      <description>&lt;p&gt;Sebuah thread dapat mengakses alamat virtual yang valid lalu berhenti sebelum akses selesai karena page tersebut belum memiliki backing yang present. Pada range yang didaftarkan dengan &lt;code&gt;UFFDIO_REGISTER_MODE_MISSING&lt;/code&gt;, Linux dapat melaporkan fault itu melalui &lt;code&gt;userfaultfd&lt;/code&gt; alih-alih menyelesaikannya sepenuhnya di kernel. Manager di user space kemudian menentukan isi page yang menjadi terlihat sebelum akses yang tertahan dilanjutkan.&lt;/p&gt;&#xA;&lt;p&gt;Mekanisme ini memindahkan kendali atas satu bagian penanganan page fault. Kernel tetap mendeteksi fault, memvalidasi virtual memory area, menahan eksekusi yang mengalami fault, dan memasang mapping melalui antarmuka &lt;code&gt;UFFDIO_*&lt;/code&gt;. User space memperoleh kendali atas isi dan waktu resolusi untuk fault yang terdaftar.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
