It has been a while since I have done anything like that so I will have to look at my notes to get back into it. I think the simplest way would be to run a Virtual Machine, but not sure if there is an emulator for ARM architecture (but there should be). Also getting a full documentation of the CPU is needed. The biggest hurdle you will have is that you need a bootloader of some sort and some simple kernel code that will give you output before you know if your code is working.
Also in the start instead of doing Virtual Memory for each proses you can hardcode the memory address they run in when you compile it. Then when you got that working you can start with virtual memory, and thus build the OS one piece at a time.
Mainly the OS is mostly doing interupt calls and setting flags on commands to the CPU… At least in the start.
I have not played with ARM when I did it it was x86.
Also this: >>5966>>5967
Getting the basics up and running (a bit more advanced DOS) should not be a problem on x86. (It is a semester course).
What is hard is Drivers, and I would not aim for making it network capable before you got other things working. Also on x86 I would imagine it is easier to do output to screen as it is well documented (look into old games and interupt calls to graphic card to set resolution and such).
>all this is from vague memory from when I did it