The figure provides a conceptual view of how Java applications interact with the operating system through a JVM. The Java bytecode is interpreted by the JVM to perform action supported by the underlying operating system. The operating system also communicates with the Java application through the JVM.