Langsung ke konten

Topic archive

Teknologi

Panduan teknologi praktis yang membahas perangkat sehari-hari, konektivitas internet, alat digital, troubleshooting, dan konsep teknologi umum.

93 articles
Teknologi 23 Sep 2026 4 min read

Probe TCP Keepalive Mendeteksi Peer Mati yang Senyap

Koneksi TCP yang sudah terbentuk dapat tetap senyap dalam waktu lama. Kondisi ini tidak langsung berarti salah satu endpoint gagal: aplikasi mungkin memang sedang tidak memiliki data untuk dipertukarkan. Sifat tersebut berguna untuk sesi berumur panjang, tetapi juga menimbulkan masalah operasional ketika peer menghilang tanpa mengirim FIN atau RST. Mesin dapat kehilangan daya, jalur jaringan dapat terputus, atau state pada perangkat perantara dapat hilang. Endpoint yang masih aktif bisa mempertahankan socket yang tetap terlihat established karena tidak ada paket yang datang untuk membuktikan kondisi sebaliknya. TCP keepalive menyediakan mekanisme opsional untuk menguji koneksi idle seperti ini.

Teknologi 23 Sep 2026 5 min read

Posted Write PCIe Memisahkan Transmisi dari Observasi Perangkat

PCI Express tidak memperlakukan setiap request sebagai perjalanan pulang-pergi. Memory Write Request biasanya merupakan transaksi posted: requester mengirim transaction layer packet yang membawa data write, tetapi completer tidak mengembalikan Completion TLP untuk request tersebut. Mekanisme ini mengurangi traffic completion pada jalur ber-volume tinggi, sekaligus membuat ordering dan sinkronisasi eksplisit menjadi penting saat software memerlukan bukti bahwa write sudah mencapai batas tertentu. Perbedaan ini sangat relevan pada device driver. Penulisan register perangkat yang dipetakan ke memori dapat membuat instruksi store CPU selesai sebelum perangkat target bertindak atas nilai baru. Di antara core dan endpoint terdapat aturan ordering CPU, host bridge, antrean transaksi PCIe, switch, dan buffering pada sisi perangkat.

Teknologi 23 Sep 2026 6 min read

Mode Readiness epoll Mengubah Cara Event Loop Menguras File Descriptor

epoll di Linux memungkinkan satu thread menunggu perubahan readiness pada banyak file descriptor tanpa memindai seluruh descriptor pada setiap iterasi. Interface ini umum dipakai pada server jaringan, proxy, runtime, dan program lain yang mempertahankan banyak socket aktif. Mode registrasinya berpengaruh langsung pada pola kerja event loop. Operasi level-triggered terus melaporkan descriptor selama kondisi terkait masih ready. Operasi edge-triggered melaporkan transisi readiness dan mengharuskan aplikasi mengonsumsi pekerjaan yang tersedia sampai descriptor akan memblokir.

Teknologi 23 Sep 2026 5 min read

Grace Period RCU Linux Memisahkan Penghapusan dari Reklamasi

Read-Copy Update, yang umum disebut RCU, adalah keluarga mekanisme sinkronisasi yang banyak dipakai kernel Linux untuk data yang sering dibaca dan lebih jarang diubah. Langkah utamanya adalah memisahkan dua kejadian yang pada locking biasa kerap dianggap satu: menghapus objek dari struktur bersama dan mereklamasi memori yang menyimpannya. Writer dapat memublikasikan state baru atau melepas objek lama sementara reader tetap berjalan di dalam read-side critical section. Storage lama dipertahankan sampai kernel memastikan bahwa setiap reader yang mungkin sempat melihat referensi lama telah melewati quiescent state. Interval tersebut adalah RCU grace period.

Teknologi 23 Sep 2026 5 min read

fork Linux Memakai Copy-on-Write untuk Menunda Salinan Page Privat

fork() 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. 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.

Teknologi 22 Sep 2026 5 min read

TCP TIME_WAIT Memisahkan Koneksi yang Sudah Ditutup dari Segmen Terlambat

Sebuah koneksi TCP dapat selesai bertukar data aplikasi tetapi masih meninggalkan catatan socket. State TIME_WAIT merupakan bagian dari mekanisme penutupan TCP, bukan tanda bahwa proses lupa menutup descriptor. Endpoint yang melakukan active close biasanya masuk ke TIME_WAIT setelah closing handshake. Kernel mempertahankan state secukupnya selama interval terbatas agar segmen terlambat dari koneksi lama tidak tercampur dengan traffic dari koneksi baru yang memakai identitas endpoint yang sama. Perilaku ini paling terlihat pada sistem yang membuat banyak koneksi berumur pendek. Jumlah TIME_WAIT yang besar dapat tampak mencolok pada daftar socket, tetapi state tersebut menjaga ketepatan protokol dan tidak berarti setiap entri masih memiliki proses aplikasi.

Teknologi 22 Sep 2026 4 min read

Registered Buffer io_uring Menahan Halaman Memori untuk I/O Berulang

Linux io_uring dapat mengirim I/O asynchronous dengan buffer user biasa, tetapi operasi berulang masih dapat membuat kernel harus mencari dan menahan halaman user yang relevan pada setiap request. Registered buffer memindahkan sebagian pekerjaan itu ke fase setup yang eksplisit. Aplikasi mendaftarkan satu atau beberapa region memori ke ring. Kernel mencatat region tersebut dan mempertahankan halaman backing dalam keadaan pinned selama registrasi masih aktif. Request berikutnya dapat merujuk region terdaftar melalui indeks, bukan menyerahkan buffer arbitrer yang harus disiapkan dari awal.

Teknologi 22 Sep 2026 7 min read

Phase Tag Completion Queue NVMe Menandai Entri yang Digunakan Ulang

Completion Queue NVMe adalah array melingkar berukuran tetap di memori host. Controller menulis entri completion ketika command selesai, sedangkan software host mengonsumsi entri tersebut dan memajukan head queue. Pada akhirnya, kedua sisi kembali ke slot yang masih menyimpan data dari putaran ring sebelumnya. Penggunaan ulang memori menimbulkan ambiguitas kecil tetapi penting. Sebuah slot dapat berisi completion entry yang formatnya valid walaupun controller belum menulis completion baru ke posisi itu. Mengosongkan setiap entri yang sudah dikonsumsi akan menambah traffic memori dan tetap memerlukan koordinasi yang tepat antara host dan controller.

Teknologi 22 Sep 2026 6 min read

Phase Tag Completion Queue NVMe Membedakan Entri Baru Setelah Ring Wrap

Completion queue NVMe adalah struktur memori berbentuk ring yang dipakai bersama oleh controller dan software host. Controller menaruh completion queue entry setelah command selesai, sedangkan host mengonsumsi entry tersebut dan memajukan queue head. Saat salah satu pihak mencapai slot terakhir, indeks kembali ke slot nol. Wrap tersebut menimbulkan persoalan state yang kecil tetapi penting. Memori queue masih menyimpan byte dari completion sebelumnya. Entry yang tidak nol pada posisi head saat ini belum membuktikan bahwa controller sudah menaruh completion baru di sana. NVMe menangani kondisi ini dengan Phase Tag satu bit pada setiap completion queue entry.

Teknologi 22 Sep 2026 6 min read

Penempatan First-Touch NUMA Mengaitkan Halaman Fisik dengan CPU Pemicu Fault

Pada mesin NUMA, reservasi ruang alamat virtual tidak selalu langsung menentukan node NUMA fisik yang akan menyediakan setiap halaman. Untuk memori anonim, alokasi fisik umumnya terjadi kemudian saat CPU pertama kali memicu page fault pada sebuah halaman. Di bawah kebijakan alokasi lokal default, fault tersebut dapat membuat urutan inisialisasi menjadi bagian dari keputusan penempatan memori. Perilaku ini sering disebut penempatan first-touch. Thread yang pertama kali menulis atau memicu fault pada sebuah halaman dapat membuat Linux mengalokasikan memori backing di dekat node NUMA tempat thread itu berjalan, dengan tetap tunduk pada memory policy aktif, batasan cpuset, ketersediaan memori, dan mekanisme fallback kernel.

Teknologi 22 Sep 2026 5 min read

Buffered Write Linux Memisahkan Selesainya Write dari Persistensi Storage

Keberhasilan buffered write() umumnya tidak berarti data file yang baru sudah mencapai storage non-volatile. Pada Linux, jalur buffered I/O yang umum menempatkan data file di page cache, menandai state cache terkait sebagai dirty, lalu membiarkan I/O ke storage berlangsung kemudian. Pemisahan ini merupakan bagian utama dari I/O filesystem normal. Memori menyerap write aplikasi dengan akses yang cepat bagi CPU, sementara kernel dapat menjadwalkan traffic ke backing device secara terpisah. Mekanisme tersebut memberi fleksibilitas dan dapat mengurangi stall storage secara langsung, tetapi juga membentuk batas antara selesainya syscall dan persistensi.

Teknologi 22 Sep 2026 5 min read

Autotuning Receive TCP Linux Memperbesar Kapasitas Buffer Sesuai Kebutuhan Flow

Receiver TCP hanya dapat menerima data selama masih tersedia ruang untuk menyimpan byte yang belum dikonsumsi aplikasi. Di Linux, kapasitas itu tidak harus tetap sebesar alokasi kecil saat koneksi baru dimulai. Receive autotuning dapat memperbesar receive buffer socket ketika koneksi berkembang, dengan tetap mengikuti batas sistem dan kondisi flow. Perilaku ini paling terasa pada koneksi dengan traffic berkelanjutan melalui path yang memiliki bandwidth-delay product cukup besar. Usable window yang terlalu kecil dapat membatasi sender walaupun jaringan dan sender masih mampu membawa lebih banyak data. Kapasitas receive tambahan memberi TCP ruang untuk mempertahankan lebih banyak data in flight saat aplikasi menguras socket.

Teknologi 19 Sep 2026 5 min read

Write MMIO Posted PCIe Dapat Bertahan Setelah Store CPU Selesai

CPU dapat menyelesaikan store MMIO sebelum PCIe Memory Write yang terkait mencapai perangkat target. Jarak ini muncul karena request PCIe Memory Write bersifat posted: requester mengirimkannya tanpa menunggu paket completion dari completer. Sifat tersebut membantu throughput, tetapi juga membentuk batas penting. Store instruction yang telah selesai dari sisi software, ordering barrier, dan pengamatan write oleh perangkat bukan otomatis merupakan event yang sama. PCIe Memory Write adalah transaksi posted PCIe mengklasifikasikan Memory Write sebagai posted request. Posted request tidak memiliki Completion TLP normal yang kembali untuk menyatakan keberhasilan kepada requester. Setelah host bridge menerima write MMIO dari CPU, transaksi dapat terus bergerak melalui buffer dan tahap interconnect meski prosesor sudah melanjutkan eksekusi.

Teknologi 19 Sep 2026 6 min read

Translasi IOMMU Memisahkan Alamat DMA Perangkat dari Memori Fisik

Perangkat yang mendukung DMA dapat mengirim transaksi memori tanpa CPU menyalin setiap payload. Pada sistem dengan IOMMU, alamat yang dibawa transaksi perangkat tidak harus berupa alamat fisik host. IOMMU dapat menerjemahkan I/O virtual address yang terlihat oleh perangkat menjadi halaman fisik dan menolak akses di luar mapping yang telah dikonfigurasi. Batas translasi tersebut memengaruhi isolasi sekaligus perpindahan data. Driver dan sistem operasi dapat memberikan ruang alamat terbatas kepada perangkat, sementara hardware perlu mempertahankan state translasi cukup dekat dengan jalur I/O agar setiap permintaan DMA tidak selalu memicu page-table walk.

Teknologi 19 Sep 2026 6 min read

TLB Shootdown Mengoordinasikan Perubahan Page Table Antar-CPU

Sebuah page-table entry dapat berubah di memori ketika CPU lain masih menyimpan translasi alamat lama di translation lookaside buffer (TLB). Karena itu, memperbarui page table saja tidak selalu membuat mapping baru langsung berlaku pada setiap prosesor yang pernah menjalankan address space tersebut. Sistem operasi menutup celah itu dengan invalidasi TLB. Ketika perubahan mapping dapat membuat translasi yang tersimpan menjadi tidak aman, prosesor yang mungkin masih menyimpan translasi tersebut harus menginvalidasinya sebelum kernel menganggap perubahan selesai secara global. Pada sistem multiprosesor, koordinasi invalidasi jarak jauh ini umum disebut TLB shootdown.

Teknologi 19 Sep 2026 6 min read

TLB Shootdown Memperluas Perubahan Page Table ke Banyak CPU

TLB Shootdown Memperluas Perubahan Page Table ke Banyak CPU Mengubah entry page table di memori tidak otomatis menghentikan setiap translasi yang berasal dari entry tersebut. CPU yang sebelumnya memakai mapping dapat menyimpannya di translation lookaside buffer, atau TLB. Pada sistem multiprosesor, CPU lain dapat memiliki salinan cache masing-masing, sehingga perubahan mapping dapat memerlukan koordinasi di luar CPU yang mengubah page table. Linux memperlihatkan pemisahan ini melalui interface TLB flush. Setelah state page table berubah, kode arsitektur harus membuat translasi yang terdampak tidak dapat digunakan pada setiap CPU yang relevan sebelum software bergantung pada mapping baru atau melepaskan memori yang masih dapat dijangkau mapping lama.

Teknologi 19 Sep 2026 4 min read

Streaming DMA Memindahkan Kepemilikan Buffer antara CPU dan Perangkat

Streaming DMA Memindahkan Kepemilikan Buffer antara CPU dan Perangkat Sebuah DMA buffer dapat menjadi memori yang valid bagi CPU dan perangkat, tetapi tetap memerlukan serah-terima yang ketat di antara keduanya. Streaming DMA mapping di Linux menyatakan serah-terima tersebut. Mapping API menyediakan alamat DMA yang terlihat oleh perangkat sekaligus memberi DMA layer titik untuk menjalankan cache maintenance, translasi alamat, atau bounce buffering yang spesifik terhadap arsitektur. Perilaku ini paling terlihat pada sistem yang DMA perangkatnya tidak otomatis koheren dengan cache CPU. Namun, aturan kepemilikan tetap menjadi bagian dari DMA API portabel, termasuk pada mesin yang tidak memerlukan operasi cache tambahan.

Teknologi 19 Sep 2026 5 min read

State Sensor MQTT ESP32: Mengirim Suhu dan Kelembapan DHT22 dalam Satu Pesan JSON

Satu pembacaan DHT22 menghasilkan suhu dan kelembapan relatif dari sampling yang sama. Mengirim keduanya melalui topic MQTT terpisah memang bekerja, tetapi cara itu juga membuat dua batas pesan independen. Subscriber dapat menerima suhu baru sebelum nilai kelembapan pasangannya tiba. Memasukkan kedua pengukuran ke satu payload membuat hubungan tersebut eksplisit: {"temperature":25.34,"humidity":60.21} MQTT tidak mewajibkan JSON. Bagian yang berguna adalah kedua pengukuran dikirim dalam satu publication dan dapat diperlakukan sebagai satu snapshot state sensor.

Teknologi 19 Sep 2026 6 min read

State Link PCIe ASPM Menukar Daya Idle dengan Latensi Keluar

Link PCI Express tidak perlu mempertahankan setiap blok transmitter dan receiver dalam kondisi aktif penuh saat tidak ada paket yang bergerak. Active State Power Management, atau ASPM, memungkinkan link memasuki state berdaya lebih rendah selama periode idle dan kembali ke L0 ketika traffic muncul lagi. Mekanisme ini berada di bawah I/O aplikasi. Software dapat menjalankan operasi storage, network, atau perangkat yang sama tanpa bergantung pada state link saat itu, tetapi transaksi pertama setelah periode idle dapat menerima delay tambahan ketika link kembali ke operasi aktif.

Teknologi 19 Sep 2026 6 min read

SMTP Tidak Memberikan Identitas Pengirim: Header From, SPF, DKIM, dan DMARC

SMTP menjawab persoalan transport: server mana yang menerima sebuah pesan dan meneruskannya menuju tujuan? SMTP sendiri tidak membuktikan bahwa alamat yang tampil pada header From: memang dimiliki oleh sistem yang membuka koneksi SMTP. Perbedaan ini menjelaskan situasi yang sering membingungkan. Mail client dapat terhubung ke layanan SMTP eksternal, berhasil melakukan autentikasi, lalu menyerahkan pesan yang valid secara sintaksis dengan From: user@gmail.com. Login SMTP membuktikan bahwa client diizinkan memakai layanan tersebut. Login itu tidak memberikan kewenangan atas domain gmail.com kepada layanan SMTP.

Teknologi 19 Sep 2026 5 min read

Slot microSD SPI Tidak Membuat TFT Shield 8-Bit Menjadi Display SPI

TFT shield 2,8 inci bergaya Arduino dapat menempatkan LCD dan socket microSD pada PCB yang sama, tetapi keduanya tidak harus memakai interface elektrik yang sama. Label pin adalah petunjuk paling cepat untuk membedakannya. Pada shield seperti yang terlihat di gambar, sisi LCD mengekspos DB0 sampai DB7 bersama LCD_WR, LCD_RD, LCD_RS, LCD_CS, dan LCD_RST. Sinyal tersebut membentuk interface display paralel 8-bit bergaya 8080. Sementara itu, SD_MOSI, SD_MISO, SD_SCK, dan SD_SS adalah milik socket microSD.

Teknologi 19 Sep 2026 6 min read

Sensor Infrared Mengukur Efek Fisik yang Berbeda

Sensor infrared bukan satu teknologi pengukuran tunggal. Istilah “sensor IR” dapat merujuk pada detektor proximity reflektif, sensor gerak PIR, sensor suhu non-kontak, optical encoder, atau penerima infrared. Semuanya bekerja dengan radiasi di luar spektrum cahaya tampak, tetapi besaran yang diukur berbeda. Perbedaan ini menentukan apa yang dapat dideteksi sensor, seberapa jauh sensor dapat bekerja, serta kondisi lingkungan yang dapat menghasilkan pembacaan lemah atau keliru. Penginderaan infrared aktif mengukur cahaya yang kembali Sensor reflektif sederhana berisi pemancar infrared, biasanya IR LED, serta photodiode atau phototransistor sebagai penerima.

Teknologi 19 Sep 2026 4 min read

Resistor 100 Ohm yang Sama Berperilaku Berbeda pada 3 V dan 5 V

Resistor 100 Ω tetap merupakan resistor 100 Ω ketika dihubungkan ke 3 V maupun 5 V, selama masih bekerja dalam kondisi yang sesuai spesifikasinya. Yang berubah bukan nilai resistansi nominalnya, melainkan kondisi listrik di sekitarnya: arus, voltage drop, dan disipasi daya. Perbedaan ini penting karena resistor tidak menghasilkan tegangan output sendiri. Tegangan dan arusnya ditentukan oleh rangkaian tempat resistor tersebut dipasang. Resistansi adalah nilai komponennya Untuk resistor ideal, Hukum Ohm menghubungkan tegangan, arus, dan resistansi:

Teknologi 19 Sep 2026 6 min read

Performa HMI ESP32-S3 Lebih Sering Dibatasi Bandwidth Memori

ESP32-S3 dapat menjalankan HMI touchscreen tanpa prosesor kelas Linux, tetapi clock CPU saja tidak menentukan apakah antarmuka terasa responsif. Ketika display memakai framebuffer besar, jalur kritisnya mencakup kapasitas memori, bandwidth PSRAM, trafik DMA, pixel format, pixel clock, dan seberapa luas bagian layar yang digambar ulang pada setiap interaksi. ESP32-S3 menggabungkan CPU dual-core Xtensa LX7 hingga 240 MHz dengan peripheral LCD/camera, dukungan DMA, Wi-Fi, Bluetooth LE, dan opsi PSRAM eksternal. Kombinasi ini membuatnya cocok sebagai controller HMI, terutama untuk antarmuka berisi kontrol, indikator status, grafik, halaman konfigurasi, dan animasi moderat.