Earlier quoted context omitted.
It certainly doesn’t hurt that the simulator only needs to run the iOS front end on top of macOS Darwin instead of a full copy of iOS, though. Couldn’t something similar be done with Android on Linux, running x86 Android and using the host system’s kernel?
> It certainly doesn’t hurt that the simulator only needs to run the iOS front end on top of macOS Darwin instead of a full copy of iOS, though. Uh, no. The simulator literally boots an entire copy of iOS, with its own libraries, frameworks, and utilities, that's entirely separate from the host OS.
You can actually see your running iOS applications, and all of the iOS daemons etc show up as first class processes on you Mac if you run "ps".
iOS apps running in the simulator are not separate from the host OS at all - they're running on the host OS, just like any other process. Try killing "Springboard" from your Mac command line and watch what happens inside the simulator...