How does libuv and the operating system actually schedule timers like setTimeout and setInterval in Node.js? I see that no CPU is used by the node process until a timer fires. Does this mean the OS schedules the timer, and wakes up the Node process when the timer is fired? If so, how does an OS schedule a timer and how exactly does the hardware execute it?
When a page fault occurs in a Linux system, the interrupt-handler has to figure out the reason why the page fault happened. But how ?
ed, a minimal text editor, cannot be exited by sending it an interrupt through using Ctrl–C, instead printing the error message “?” to the console. Why doesn’t
ed just exit when it receives the interrupt? Surely there’s no reason why a cryptic error message is more useful here than just exiting. This behavior leads many new users into the following sort of interaction: