Most Java Virtual Machines cooperate with the underlying operating system and abstract from the underlying hardware. They provide a unified interface for the execution of Java classes. A Virtual Machine loads the classes with help of the class loader and it manages the classes by storing them in suitable structures. In particular, it executes the Java byte code by acting as a bytecode interpreter. The interpreter contains a connection to external peripheral devices and runs services like the garbage collection for heap memory management. The JVM offers structures like the heap, the stack, and the program counter.
In contrast to most Java Virtual Machines our Komodo microcontroller executes most Java bytecode instructions directly (by hardware or microcode). Complex Java bytecodes like getstatic,invokevirtual, monitorenter, and new are executed in terms of trap routines, which make up the software part of our Virtual Machine (besides the garbage collector). We omit an operating system layer between the Virtual Machine and the hardware. So, our system calls are mapped directly to the underlying hardware. Because of the combined hardware/software based design of our system, we call it a Komodo Java Machine (KJM) instead of a Java Virtual Machine.
There are some modifications required for making our Java Machine capable for real-time. The class loader must be modified to offer predictable execution times of the loaded methods. Finally a garbage collection that fulfils real-time requirements is needed for the execution of realtime applications on the microcontroller. In our concept of helper threads, the garbage collector and the class loader run in separate thread slots concurrently to the (real-time) application threads.
Most Java Virtual Machines cooperate with the underlying operating system and abstract from the underlying hardware. They provide a unified interface for the execution of Java classes. A Virtual Machine loads the classes with help of the class loader and it manages the classes by storing them in suitable structures. In particular, it executes the Java byte code by acting as a bytecode interpreter. The interpreter contains a connection to external peripheral devices and runs services like the garbage collection for heap memory management. The JVM offers structures like the heap, the stack, and the program counter.In contrast to most Java Virtual Machines our Komodo microcontroller executes most Java bytecode instructions directly (by hardware or microcode). Complex Java bytecodes like getstatic,invokevirtual, monitorenter, and new are executed in terms of trap routines, which make up the software part of our Virtual Machine (besides the garbage collector). We omit an operating system layer between the Virtual Machine and the hardware. So, our system calls are mapped directly to the underlying hardware. Because of the combined hardware/software based design of our system, we call it a Komodo Java Machine (KJM) instead of a Java Virtual Machine.มีบาง modifications ที่จำเป็นสำหรับเครื่องเราจาวามีความสามารถในแบบเรียลไทม์ โหลดคลาสต้อง modified ให้เวลาดำเนินการได้วิธีโหลด สุดท้ายการเก็บรวบรวมขยะที่ fulfils ความจริงเป็นสิ่งจำเป็นสำหรับการดำเนินการของโปรแกรมเรียลไทม์บนไมโครคอนโทรลเลอร์ ของเราแนวคิดของเธรดผู้ช่วย ตัวเก็บรวบรวมขยะและโหลดคลารันในช่องหัวข้อที่แยกต่างหากพร้อมการเธรดแอพลิเคชัน (เวลาจริง)
การแปล กรุณารอสักครู่..