<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Fork on Nalar</title>
    <link>https://nalar.dev/id/tags/fork/</link>
    <description>Recent content in Fork on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Wed, 23 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/tags/fork/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>fork Linux Memakai Copy-on-Write untuk Menunda Salinan Page Privat</title>
      <link>https://nalar.dev/id/fork-linux-memakai-copy-on-write-untuk-menunda-salinan-page-privat/</link>
      <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/fork-linux-memakai-copy-on-write-untuk-menunda-salinan-page-privat/</guid>
      <description>&lt;p&gt;&lt;code&gt;fork()&lt;/code&gt; membuat proses baru dengan virtual address space yang berasal dari proses pemanggil, tetapi Linux tidak perlu menggandakan setiap physical page privat ketika syscall selesai. Untuk mapping privat yang writable, kernel dapat mengatur page table parent dan child agar keduanya pada awalnya merujuk physical memory yang sama, sementara operasi write dibatasi oleh state copy-on-write.&lt;/p&gt;&#xA;&lt;p&gt;Desain ini membuat biaya pembuatan proses lebih bergantung pada page table dan bookkeeping kernel daripada seluruh ukuran data privat yang resident. Penyalinan fisik ditunda sampai sebuah write membuat kedua address space harus berbeda.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MADV_DONTFORK Mengecualikan Range Memori dari Address Space Child</title>
      <link>https://nalar.dev/id/madv-dontfork-mengecualikan-range-memori-dari-address-space-child/</link>
      <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/madv-dontfork-mengecualikan-range-memori-dari-address-space-child/</guid>
      <description>&lt;p&gt;&lt;code&gt;MADV_DONTFORK&lt;/code&gt; mengubah satu bagian spesifik dari pembuatan proses di Linux: mapping yang ditandai dengan advice ini tidak dibuat tersedia pada child hasil &lt;code&gt;fork()&lt;/code&gt;. Parent tetap memiliki mapping tersebut. Child dimulai tanpa range address itu, sehingga address yang valid pada parent tidak otomatis valid pada child.&lt;/p&gt;&#xA;&lt;p&gt;Ini adalah kontrol semantik terhadap pewarisan mapping, bukan sekadar petunjuk cache. Operasi ini termasuk extension &lt;code&gt;madvise()&lt;/code&gt; khusus Linux yang dapat mengubah perilaku memori yang terlihat oleh program.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MADV_WIPEONFORK Mengganti Memori Private yang Diwariskan dengan Nol</title>
      <link>https://nalar.dev/id/madv-wipeonfork-mengganti-memori-private-yang-diwariskan-dengan-nol/</link>
      <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/madv-wipeonfork-mengganti-memori-private-yang-diwariskan-dengan-nol/</guid>
      <description>&lt;h1 id=&#34;madv_wipeonfork-mengganti-memori-private-yang-diwariskan-dengan-nol&#34;&gt;MADV_WIPEONFORK Mengganti Memori Private yang Diwariskan dengan Nol&lt;/h1&gt;&#xA;&lt;p&gt;&lt;code&gt;fork()&lt;/code&gt; normal memberikan child mapping yang berasal dari address space parent, dengan page private yang writable umumnya ditangani melalui copy-on-write. &lt;code&gt;MADV_WIPEONFORK&lt;/code&gt; mengubah aturan pewarisan itu untuk range anonymous private tertentu: mapping tetap ada pada child, tetapi isinya menjadi zero-filled.&lt;/p&gt;&#xA;&lt;p&gt;Parent tetap menyimpan byte yang sudah ada. Operasi ini mengubah memori yang terlihat oleh child pada batas pembuatan proses, bukan menghapus range milik parent.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
