Linux is not an OS, it's a kernel.
Android is an OS that happens to be a Java application deployment platform, managing finite resource through application state control, and with facilities to permit applications to offer services to each other, communicate, and interoperate.
I'm no Java programmer, though. I'm just happy it has a FOSS deployment model and a variety of FOSS kernel and userland development projects, which I take advantage of (as I run
CM7). The hardware model is not as open as some H/W vendors would like, but it is open to multiple manufacturers who compete on features and price, which I also took advantage of.