The reason why memory access works at OS level is that the memory protections are implemented on page-level, If a[11] is within the same allocated page, the OS does not see it as an illegal access, because it is still within the process's allowed memory and that is why it allows it.