[{"data":1,"prerenderedAt":74},["ShallowReactive",2],{"term-s\u002Fsyscall":3,"related-s\u002Fsyscall":59},{"id":4,"title":5,"acronym":6,"body":7,"category":40,"description":41,"difficulty":42,"extension":43,"letter":44,"meta":45,"navigation":46,"path":47,"related":48,"seo":53,"sitemap":54,"stem":57,"subcategory":6,"__hash__":58},"terms\u002Fterms\u002Fs\u002Fsyscall.md","Syscall",null,{"type":8,"value":9,"toc":33},"minimark",[10,15,19,23,26,30],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 - The Vibe Check",[16,17,18],"p",{},"A syscall is your program raising its hand and asking the operating system kernel to do something it isn't allowed to do itself, like reading a file, opening a network connection, or allocating memory. Your program can't touch hardware directly for safety reasons, so it has to ask the kernel to do it on its behalf, and that ask-and-wait round trip isn't free, it's one of the reasons doing less I\u002FO is such a common performance tip.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A system call (syscall) is a controlled entry point that lets a user-space program request a service from the operating system kernel, such as file I\u002FO, memory allocation, or process management, since user-space code doesn't have direct hardware access. Each syscall involves a context switch into kernel mode and back, which carries measurable overhead, so I\u002FO-heavy programs often try to batch or reduce the number of syscalls they make.",[11,27,29],{"id":28},"when-youll-hear-this","When You'll Hear This",[16,31,32],{},"\"strace showed thousands of tiny read syscalls, that's why it's slow.\" \u002F \"Batching those writes cut our syscall count by 90%.\"",{"title":34,"searchDepth":35,"depth":35,"links":36},"",2,[37,38,39],{"id":13,"depth":35,"text":14},{"id":21,"depth":35,"text":22},{"id":28,"depth":35,"text":29},"backend","A syscall is your program raising its hand and asking the operating system kernel to do something it isn't allowed to do itself, like reading a file, openi...","beginner","md","s",{},true,"\u002Fterms\u002Fs\u002Fsyscall",[49,50,51,52],"Context Switch","io_uring","Zero-Copy","Page Fault",{"title":5,"description":41},{"changefreq":55,"priority":56},"weekly",0.7,"terms\u002Fs\u002Fsyscall","gPMOLMTY_dnfWUogOAufZvo1xwAvub3H42-H8Te1ad8",[60,64,68,71],{"title":49,"path":61,"acronym":6,"category":40,"difficulty":62,"description":63},"\u002Fterms\u002Fc\u002Fcontext-switch","intermediate","A context switch is the CPU pausing whatever thread it's running, carefully saving all its progress like a bookmark, and loading up a completely different...",{"title":50,"path":65,"acronym":6,"category":40,"difficulty":66,"description":67},"\u002Fterms\u002Fi\u002Fio-uring","advanced","io_uring is a modern Linux way of asking the kernel to do I\u002FO work that skips almost all the usual back-and-forth.",{"title":52,"path":69,"acronym":6,"category":40,"difficulty":62,"description":70},"\u002Fterms\u002Fp\u002Fpage-fault","A page fault happens when your program reaches for a piece of memory that isn't actually sitting in physical RAM yet, maybe it was swapped out, maybe it's...",{"title":51,"path":72,"acronym":6,"category":40,"difficulty":62,"description":73},"\u002Fterms\u002Fz\u002Fzero-copy","Normally, sending a file over the network means the OS copies its bytes from disk into your program's memory, then your program hands it to the OS again to...",1792528128589]