I know that there is a hardware in CPU, the
MMU which takes care of mapping a given address to physical address. For example:
int *ptr = 0x12345
Will make a pointer to my process address of
0x12345 which gets translated by CPU to a real address. Now my question is if I write a small kernel myself and run the above code, is
0x12345 is still considered a virtual address or I can access the physical address directly at OS level?