diff options
| -rw-r--r-- | doc/assignment1.md | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/doc/assignment1.md b/doc/assignment1.md index aaf1e0e..f723172 100644 --- a/doc/assignment1.md +++ b/doc/assignment1.md @@ -276,9 +276,70 @@ Instructions: Please answer the following questions in about 1-2 pages each. [execute system call]-| ``` - 1. Describe the overall structure of virtual machines, and compare VMware and JVM. (15 marks) + A virtual machine creates an abstraction over hardware to present + the illusion that the guest operating system is running on bare + metal hardware. The virtual machine provides an interface that + looks the same as the hardware that the guest operating system + thinks that it is interacting with. + This capability allows a host operating system to run multiple + guest operating systems on a single system. + + A regular system would usually have a single operating sytem + like the following example: + + ```plaintext + ------------- + | | + | | + | processes | + | | + | | + ------------- + | kernel | + ------------- + | hardware | + ------------- + ``` + + Virtual machines allow multiple operating systems + to run simultaneously while using the same hardware. + Each guest operating system is unaware that it + is sharing hardware with other guest operating systems. + + ```plaintext + ------------- + | | ------------- + | |-----------| | + | processes | processes | processes | + | | | | + |-----------|-----------|-----------| + | kernel | kernel | kernel | + |-----------|-----------|-----------| + | VM1 | VM2 | VM3 | + ------------------------------------- + | hypervisor | + ------------------------------------- + | hardware | + ------------------------------------- + ``` + + VMWare is a company that build virtual machine + technology to allow multiple guest operating systems + on a single machine. + + The JVM is the Java Virtual Machine which acts + as a different type of virtual environment. The + JVM takes bytecode and converts it into architecture + specific instructions are run time using just in + time compilation. This type of virtual machine + allows programmers to write software in multiple + languages that compile down to JVM bytecode. + The same JVM bytecode can be used to conver it + to architecture specific instructions for different + platforms such as Microsoft Windows, Linux and macOS. + # Sources: * [Wikipedia][wiki-von-neumann] |
