Hi -
1. The intent in Java is to insulate you in your "own little world". You're strongly discouraged from stepping outside that little world (the Java virtual environment; the Java API) unless you absolutely must.
2. One common way for Java programs to access the "outside world" is by using Runtime.exec(). For example, you can get a process listing via "Runtime.exec ("ps -ae")".
3. Another, more difficult way, is for Java to access C libraries directly. This is done using
JNI.
4. All of the above applies to Windows, Linux and MacOS.
Things are a little different for Android, however.
The Linux kernel in Android is much slimmer than a Linux desktop kernel; the
Dalvik JVM is much, much closer integrated to the kernel (and the underlying hardware) than a "normal" J2SE JVM running in a "normal" Linux kernel.
5. If you want to experiment with Android, you should download the Android SDK stick with the (higher-level) Java API has much as you can, for as long as you can. It's more practical, you'll be more productive - it just makes more sense.
IMHO...