<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on Nalar</title>
    <link>https://nalar.dev/id/linux/</link>
    <description>Recent content in Linux on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Thu, 17 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>O_APPEND Menggabungkan Posisi Akhir dengan Setiap Write</title>
      <link>https://nalar.dev/id/o-append-menggabungkan-posisi-akhir-dengan-setiap-write/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/o-append-menggabungkan-posisi-akhir-dengan-setiap-write/</guid>
      <description>&lt;p&gt;&lt;code&gt;O_APPEND&lt;/code&gt; mengubah write dari dua tindakan yang dapat dipisahkan menjadi satu operasi terpadu: Linux menempatkan open file description pada akhir file saat ini lalu melakukan write sebagai satu langkah atomik.&lt;/p&gt;&#xA;&lt;p&gt;Sifat ini penting ketika beberapa writer menulis ke regular file yang sama. Urutan &lt;code&gt;lseek(fd, 0, SEEK_END)&lt;/code&gt; lalu &lt;code&gt;write(fd, ...)&lt;/code&gt; tidak memiliki semantik append yang sama karena writer lain dapat mengubah file di antara kedua system call tersebut.&lt;/p&gt;&#xA;&lt;h2 id=&#34;status-append-berada-pada-open-file-description&#34;&gt;Status append berada pada open file description&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;O_APPEND&lt;/code&gt; adalah file status flag. File status flag disimpan pada open file description, bukan pada integer file descriptor itu sendiri.&lt;/p&gt;</description>
    </item>
    <item>
      <title>O_CLOEXEC Menutup Descriptor Secara Atomik Saat exec</title>
      <link>https://nalar.dev/id/o-cloexec-menutup-descriptor-secara-atomik-saat-exec/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/o-cloexec-menutup-descriptor-secara-atomik-saat-exec/</guid>
      <description>&lt;p&gt;File descriptor yang dibuat tanpa status close-on-exec dapat ikut terbawa ke program baru selama celah konkurensi yang sangat sempit. Pada proses Linux multithread, mengatur &lt;code&gt;FD_CLOEXEC&lt;/code&gt; lewat pemanggilan &lt;code&gt;fcntl()&lt;/code&gt; setelah descriptor dibuat meninggalkan interval antara pembuatan descriptor dan pembaruan flag tersebut.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;O_CLOEXEC&lt;/code&gt; menghilangkan operasi dua tahap itu. Kernel membuat descriptor dengan flag close-on-exec yang sudah aktif sejak awal, sehingga thread lain tidak dapat melihat kondisi antara ketika descriptor sudah ada tetapi masih bisa diwariskan melalui &lt;code&gt;execve()&lt;/code&gt; yang berhasil.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SO_RCVLOWAT Menaikkan Ambang Readability pada Socket Linux</title>
      <link>https://nalar.dev/id/so-rcvlowat-menaikkan-ambang-readability-pada-socket-linux/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/so-rcvlowat-menaikkan-ambang-readability-pada-socket-linux/</guid>
      <description>&lt;p&gt;Socket Linux dengan &lt;code&gt;SO_RCVLOWAT&lt;/code&gt; di atas satu byte dapat memiliki data dalam antrean sementara &lt;code&gt;poll()&lt;/code&gt;, &lt;code&gt;select()&lt;/code&gt;, atau &lt;code&gt;epoll&lt;/code&gt; belum melaporkan readiness baca normal. Sejak Linux 2.6.28, antarmuka readiness tersebut menghormati receive low-water mark yang dikonfigurasi.&lt;/p&gt;&#xA;&lt;p&gt;Opsi ini mengubah ambang yang terkait dengan readiness penerimaan normal. Opsi ini tidak menetapkan batas pesan, tidak mencadangkan ruang receive buffer, dan tidak menjamin operasi penerimaan berikutnya mengembalikan tepat sejumlah byte sesuai nilai konfigurasi.&lt;/p&gt;&#xA;&lt;h2 id=&#34;readability-dapat-memerlukan-lebih-dari-satu-byte-dalam-antrean&#34;&gt;Readability dapat memerlukan lebih dari satu byte dalam antrean&lt;/h2&gt;&#xA;&lt;p&gt;Readiness penerimaan socket biasanya diamati dengan low-water mark bawaan sebesar satu byte. Pada kondisi ini, data biasa yang sudah masuk antrean cukup untuk memenuhi bagian volume data dari kondisi readable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SO_REUSEPORT Membagi Trafik ke Beberapa Grup Socket</title>
      <link>https://nalar.dev/id/so-reuseport-membagi-trafik-ke-beberapa-grup-socket/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/so-reuseport-membagi-trafik-ke-beberapa-grup-socket/</guid>
      <description>&lt;p&gt;&lt;code&gt;SO_REUSEPORT&lt;/code&gt; mengubah satu endpoint lokal dari binding satu socket menjadi sebuah grup socket. Di Linux, beberapa socket TCP atau UDP dapat melakukan bind ke alamat lokal yang sama ketika semua socket yang ikut mengaktifkan opsi ini sebelum &lt;code&gt;bind()&lt;/code&gt; dan kredensial binding memenuhi aturan reuse dari kernel.&lt;/p&gt;&#xA;&lt;p&gt;Perilaku ini berbeda dari sekadar melonggarkan pemeriksaan konflik alamat. Trafik yang masuk juga harus diarahkan ke salah satu anggota grup. Batas pemilihan ini memengaruhi arsitektur listener, isolasi antrean, restart proses, penempatan flow UDP, dan desain apa pun yang menganggap satu port selalu identik dengan satu socket.&lt;/p&gt;</description>
    </item>
    <item>
      <title>TCP_NODELAY Menonaktifkan Penggabungan Nagle pada Socket</title>
      <link>https://nalar.dev/id/tcp-nodelay-menonaktifkan-penggabungan-nagle-pada-socket/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/tcp-nodelay-menonaktifkan-penggabungan-nagle-pada-socket/</guid>
      <description>&lt;p&gt;Socket TCP dapat menahan write kecil alih-alih langsung mengirimkannya ketika data sebelumnya belum menerima acknowledgment. Perilaku ini berasal dari penggabungan Nagle: aliran segmen TCP kecil dibatasi dengan membiarkan data yang masih outstanding memengaruhi pengiriman byte yang baru masuk antrean.&lt;/p&gt;&#xA;&lt;p&gt;Di Linux, pengaturan &lt;code&gt;TCP_NODELAY&lt;/code&gt; menonaktifkan aturan penggabungan tersebut untuk socket. Write kecil menjadi memenuhi syarat untuk segera dikirim, dengan tetap tunduk pada bagian lain dari stack TCP, congestion control, flow control, keadaan antrean, dan penjadwalan perangkat.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
