To the foregoing post, "I respectfully dissent."
The kernel plays by fundamentally different rules. Its purpose is to create the environment in which user-land programs operate, and to conceal from those programs any specific knowledge of the hardware. For that very reason, the kernel is ruled by "specific knowledge of the hardware."
The POSIX standard is designed to allow transportable programs to be written, and since those programs run in the nice, fat, cozy virtual-memory environment that is so thoughtfully provided for them by the operating system kernel, "hey, those programs can afford to be 'fat, dumb, and happy ... with our compliments.'" But for the kernel, the extreme opposite is true. And frankly, to the kernel, "POSIX is completely irrelevant."