操作系统如何检测用户空间程序的堆栈溢出[然后将 SIGTERM 或 SIGSEGV 发送到这些用户空间程序]?
防护页。当操作系统为程序创建堆栈时,它将分配比指定的多一点的空间。内存按页分配(通常每页 4KB),并且额外的页将进行设置,以便任何访问它的尝试都将导致抛出异常。