Langsung ke konten

Arsip

Proses

15 artikel
Linux 23 Sep 2026 4 min read

pidfd_getfd Menduplikasi Descriptor Target ke Proses Pemanggil

pidfd_getfd Menduplikasi Descriptor Target ke Proses Pemanggil pidfd_getfd() dapat menempatkan duplikat file descriptor milik proses lain ke tabel descriptor proses pemanggil. Descriptor hasil menjadi milik pemanggil, tetapi tetap merujuk ke open file description yang sama dengan descriptor terpilih pada proses target. Batas ini penting karena operasi tersebut tidak membuka ulang pathname, membangun ulang socket, atau membuat posisi file independen. Kernel menduplikasi referensi yang sudah ada melintasi batas proses. pidfd dan targetfd menunjuk dua hal berbeda Pemanggilan menerima PID file descriptor serta nomor descriptor milik proses target:

Linux 23 Sep 2026 3 min read

MADV_WIPEONFORK Mengganti Memori Private yang Diwariskan dengan Nol

MADV_WIPEONFORK Mengganti Memori Private yang Diwariskan dengan Nol fork() normal memberikan child mapping yang berasal dari address space parent, dengan page private yang writable umumnya ditangani melalui copy-on-write. MADV_WIPEONFORK mengubah aturan pewarisan itu untuk range anonymous private tertentu: mapping tetap ada pada child, tetapi isinya menjadi zero-filled. Parent tetap menyimpan byte yang sudah ada. Operasi ini mengubah memori yang terlihat oleh child pada batas pembuatan proses, bukan menghapus range milik parent.

Rekayasa Perangkat Lunak 19 Sep 2026 5 min read

process_vm_readv dan process_vm_writev Mentransfer Memori Melintasi Batas Proses

process_vm_readv() dan process_vm_writev() memungkinkan satu proses Linux menyalin byte secara langsung antara address space miliknya dan address space proses lain. Kedua call bekerja pada vektor rentang memori lokal dan remote, tetapi keberhasilan pencarian proses tidak membuat remote memory menjadi stabil. Perubahan mapping, aksesibilitas page, permission, dan mutasi concurrent tetap menjadi bagian kontrak yang terpisah. Interface ini merupakan system call khusus Linux. Keduanya tidak menetapkan lifetime object C, sinkronisasi, atau model interprocess memory yang portabel.

Linux 19 Sep 2026 5 min read

pidfd_getfd Menduplikasi Descriptor Aktif Lintas Batas Proses

Sebuah proses dapat memperoleh descriptor baru yang merujuk ke open file description yang sama dengan descriptor milik proses lain tanpa meminta proses target mengirimkannya. Linux menyediakan operasi ini melalui pidfd_getfd(). Descriptor hasilnya berada di descriptor table caller, tetapi objek kernel di belakangnya tetap sama dengan descriptor target. Perbedaan tersebut penting karena nomor descriptor hanya merupakan entri pada descriptor table sebuah proses. Open file description membawa state seperti posisi file saat ini dan file status flags. Duplikasi lintas proses karena itu memberikan referensi ke instance file kernel yang sudah ada, bukan membuka ulang pathname atau membuat instance independen.

Linux 19 Sep 2026 5 min read

PID File Descriptor Memberi Linux Referensi Stabil untuk Siklus Hidup Proses

PID numerik dapat menunjuk satu proses saat ini dan proses lain pada waktu berikutnya. PID file descriptor di Linux mengubah batas tersebut: pidfd adalah file descriptor yang merujuk sebuah task, sehingga operasi proses dapat tetap terikat pada objek kernel yang dituju tanpa mengulang pencarian berdasarkan PID numerik. Perbedaan ini relevan bagi supervisor, service manager, container runtime, dan perangkat lunak lain yang mengamati siklus hidup proses. PID berguna sebagai nama, tetapi bukan capability yang tahan terhadap penggunaan ulang. Pidfd dapat dipertahankan selama jeda antara identifikasi proses dan operasi terhadap proses tersebut.

Rekayasa Perangkat Lunak 19 Sep 2026 6 min read

Linux pidfd Mengikat Operasi Proses ke Referensi Kernel yang Stabil

Process ID numerik menamai sebuah proses hanya selama PID tersebut masih dialokasikan kepadanya. Setelah proses keluar dan di-reap, Linux dapat menggunakan kembali angka itu untuk proses lain. Kode yang mengamati PID, melakukan pekerjaan lain, lalu bertindak memakai angka tersebut dapat melewati batas lifetime yang tidak dikodekan oleh integer itu sendiri. Linux pidfd menyediakan referensi berbentuk file descriptor ke sebuah proses sehingga operasi berikutnya dapat menargetkan objek proses yang direferensikan tanpa mengulang lookup PID numerik.

Linux 19 Sep 2026 5 min read

close_range Menjadikan Pembersihan File Descriptor Satu Operasi Linux

Proses yang bersiap menjalankan program lain sering memiliki batas sederhana: descriptor 0, 1, dan 2 tetap tersedia, sedangkan semua descriptor yang lebih tinggi harus hilang. Memanggil close() berulang sampai batas angka yang diperkirakan atau mengiterasi /proc/self/fd mengubah batas tersebut menjadi pemindaian di userspace. Linux close_range() menyatakan interval itu secara langsung. Kernel menerapkan satu operasi pada setiap file descriptor terbuka dari first sampai last, termasuk kedua ujungnya. Melalui flag, interface yang sama dapat mengisolasi descriptor table bersama atau menandai interval sebagai close-on-exec alih-alih langsung menutupnya.

Linux 19 Sep 2026 4 min read

CLONE_INTO_CGROUP Menempatkan Child ke cgroup Target Saat Dibuat

CLONE_INTO_CGROUP Menempatkan Child ke cgroup Target Saat Dibuat Proses yang dibuat di satu cgroup lalu dipindahkan ke cgroup lain memiliki interval singkat tetapi nyata di cgroup awal. Selama interval itu, accounting, resource control, dan freezer state berasal dari penempatan awal, bukan dari tujuan. Linux menyediakan CLONE_INTO_CGROUP agar clone3() dapat menempatkan child langsung ke target cgroup v2 sebagai bagian dari pembuatan proses. Mekanisme ini mengubah batas penempatan. Alih-alih membuat task lalu memperbaiki membership cgroup sesudahnya, pemanggil menentukan tujuan sebelum child ada.

Linux 18 Sep 2026 4 min read

process_madvise Menerapkan Saran Reklamasi Memori Lintas Proses

process_madvise() memungkinkan satu proses Linux meminta tindakan manajemen memori untuk rentang virtual address milik proses lain. Target diidentifikasi melalui pidfd, sedangkan array iovec menentukan rentang pada target. Mekanisme ini memisahkan keputusan kebijakan memori dari proses yang mapping-nya menerima saran. Interface ini relevan bagi controller yang sudah memiliki informasi eksternal mengenai status workload. Runtime manager dapat menandai memori yang tidak aktif sebagai cold atau meminta reklamasi page tanpa menyisipkan kode ke proses yang dikelola. Kemampuan tersebut dibatasi oleh pemeriksaan permission, jenis advice yang didukung, dan semantik progres parsial.

Rekayasa Perangkat Lunak 18 Sep 2026 4 min read

pidfd Mengikat Operasi Proses ke Referensi Kernel yang Stabil

PID numerik menamai sebuah proses hanya selama PID tersebut masih dialokasikan kepadanya. Setelah proses berhenti dan di-reap, Linux dapat memakai kembali nomor itu untuk proses lain. PID file descriptor, atau pidfd, menyimpan referensi kernel ke task tertentu, sehingga operasi berikutnya dapat menargetkan task tersebut tanpa melakukan resolusi ulang terhadap PID numeriknya. Perbedaan ini menghilangkan satu kelas race time-of-check/time-of-use dari pengelolaan proses. pidfd tidak membuat proses tetap hidup, tidak memberi izin tambahan, dan tidak mengubah seluruh operasi proses menjadi API descriptor yang portabel.

Rekayasa Perangkat Lunak 18 Sep 2026 6 min read

Linux pidfd Mengikat Operasi Proses ke Referensi Kernel yang Stabil

Process ID numerik adalah nama di dalam PID namespace, bukan handle permanen untuk satu masa hidup proses. Setelah proses berhenti dan PID-nya tersedia untuk dipakai kembali, proses lain dapat memperoleh nomor yang sama. PID file descriptor di Linux menyediakan batas antarmuka berbeda: sebuah pidfd adalah file descriptor yang merujuk ke task tertentu, sehingga operasi berikutnya dapat menargetkan referensi kernel tersebut tanpa meresolusi PID numerik lagi. Perbedaan ini relevan pada supervisor, service manager, launcher, dan kode lain yang bertindak terhadap proses setelah suatu jeda. Persoalannya bukan bahwa penggunaan PID selalu tidak aman. PID numerik dan referensi objek yang dipertahankan memiliki semantik masa hidup yang berbeda.

Rekayasa Perangkat Lunak 18 Sep 2026 4 min read

Linux pidfd Mengikat Operasi Proses ke Identitas Kernel yang Stabil

PID numerik menamai proses melalui lookup dalam namespace. Nomor tersebut dapat dipakai kembali setelah proses berakhir dan sudah di-reap. PID file descriptor pada Linux mengubah batas ini: sebuah pidfd adalah file descriptor yang merujuk ke task tertentu, sehingga operasi berikutnya dapat menargetkan referensi tersebut tanpa melakukan resolusi PID numerik lagi. Perilaku manajemen proses ini khusus Linux. Perilaku tersebut bukan properti identifier proses POSIX ataupun bahasa C. PID numerik adalah nama, bukan handle permanen Jalur kontrol yang umum menyimpan PID, menunggu kondisi eksternal, lalu memanggil kill(pid, sig). Kedua operasi itu terpisah oleh waktu. Jika proses awal telah berakhir dan PID-nya sudah didaur ulang sebelum operasi signal, lookup numerik baru dapat menunjuk proses yang berbeda.

Rekayasa Perangkat Lunak 17 Sep 2026 4 min read

pidfd Menjaga Identitas Proses Tetap Stabil Saat PID Dipakai Ulang

PID numerik Linux dapat dipakai ulang setelah prosesnya berakhir. Sebaliknya, PID file descriptor merujuk ke task tertentu, sehingga operasi berikutnya melalui descriptor tersebut tidak diam-diam beralih ke proses lain yang kemudian memperoleh PID numerik yang sama. Sifat ini mengubah identitas proses dari lookup yang diulang pada setiap operasi menjadi referensi yang dipertahankan kernel dengan semantik descriptor. Perbedaannya relevan untuk pengiriman signal, pemantauan exit, dan event loop yang menyimpan handle proses selama pekerjaan asinkron berlangsung.

Rekayasa Perangkat Lunak 17 Sep 2026 6 min read

pidfd Linux Mengubah Identitas Proses Menjadi Handle yang Dapat Dipantau

PID Linux adalah angka dari namespace yang dapat digunakan ulang. pidfd berbeda: ia adalah file descriptor yang merujuk ke proses tertentu. Perbedaan itu mengubah pengelolaan proses dari lookup berulang berdasarkan nama numerik menjadi operasi terhadap handle yang dipertahankan kernel dan identitasnya tidak diam-diam berpindah ketika PID didaur ulang. Perbedaannya paling terlihat pada supervisor, launcher, sandbox, dan service manager yang mempertahankan referensi proses melintasi pekerjaan asynchronous. PID numerik dapat tetap valid secara sintaksis setelah proses asli keluar, tetapi kemudian mengidentifikasi proses lain. pidfd menjaga referensi tetap terikat pada objek proses asli dan juga dapat berpartisipasi dalam event loop berbasis descriptor.

Rekayasa Perangkat Lunak 17 Sep 2026 4 min read

Linux pidfd Mengikat Identitas Proses ke File Descriptor

PID numerik adalah nama dari namespace kernel yang dapat digunakan kembali. Setelah sebuah proses keluar dan PID-nya tersedia lagi, proses lain dapat menerima nomor yang sama. Linux pidfd menyediakan bentuk referensi berbeda: file descriptor yang terikat pada task tertentu, bukan nomor yang harus diresolusi ulang pada setiap operasi. Perbedaan ini mengubah batas antara penemuan proses dan kontrol proses berikutnya. Program dapat meresolusi PID sekali melalui pidfd_open(), menyimpan descriptor hasilnya, lalu memakai antarmuka berbasis pidfd tanpa menganggap PID numerik sebagai identitas permanen.