Virtual Machine (VM) implies mostly the transperancy of executable code from the underlying computer hardware . So, a virtual machine is expected to have an independent instruction set, program description syntax and mostly a different program execution architecture independent from the underlying computer hardware. Java Virtual Machine (JVM), has the capability of executing the platform independent object file called class file which is an output of the compilation process which takes the source files written by using the java syntax and semantic rules as an input. Micro-C/OS-II is a real-time operating system which is certifed to be real-time operating system supporting safety-critical software development with FAA (Federal Aviation Agency) certification. MicroC/OS-II is already ported to more than 20 different hardware manufacturers computer architectures. The aim of this thesis work is realizing a JVM core by using the pure MicroC/OS- II system calls. So, the resulting JVM core will have the capability to be ported easly to any computer architecture which is ported by MicroC/OS-II. Also this JVM core will be, at least, a soft real-time execution environment where applications developed in Java can be deployed and executed as they are deployed and executed in other JVMs. At the end, this thesis work is also expected to be a baseline and a guide for the future developers and designer who will be improving this core to support the safety-critical real-time software development
Sanal Makine deyimi çoğunlukla işletilebilir kodun alttaki bilgisayar donanımına transparan olması kavramına karşılık gelir. Dolayısıyla, bir sanal makinenin bağımsız bir komut kümesi, program tanımlama söz dizimi ve çoğunlukla da üzerinde çalıştığı bilgisayar donanımından bağımsız bir program koşma mimarisi olur. Java Sanal Makinesi, Java programlama dili söz dizim ve anlambilim kuralları kullanılarak geliştirilen kaynak kodun derlenmesi ile elde edilen ve sınıf adıyla anılan platformdan bağımsız amaç kütükleri koşabilme kabiliyetine sahiptir. Micro-C/OS-II güven-kritik gerçek-zamanlı yazılım geliştirimini destekleyen Amerikan Federal Havacılık Ajansı (FAA) sertifikalı bir gerçek-zamanlı işletim dizgesidir. Micro-C/OS-II işletim dizgesi hali hazırda yirmiden (20) fazla donanım üreticisinin değişik bilgisayar mimarileri üzerine taşınmış durumdadır. Bu tez çalışmasının amacı Micro-C/OS-II işletim dizgesi çağrılarını kullanarak bir Java Sanal Makinesi çekirdeğini çalışır hale getirmektir. Bu sayede, elde edilecek Java Sanal Makinesi çekirdeği Micro-C/OS-II işletim dizgesinin üzerine taşındığı bütün bilgisayar mimarilerine kolayca taşınabilecektir. Bununla beraber, bu Java Sanal Makinesi, Java programla dili kullanılarak geliştirilmiş uygulamaların diğer Java Sanal Makinelerine yüklenip koşuldukları gibi yüklenip koşulabileceği hafif gerçek-zamanlı bir işletim ortamı sağlayacaktır. Yapılan çalışma sonucunda ortaya konulan tez, gelecekte bu Java Sanal Makinesi çekirdeğinin kabiliyetlerini güven-kritik gerçek-zamanlı yazılım geliştirilebilmesine imkan verecek şekilde geliştirecek yazılım mühendisleri için yetkin bir referans ve rehber olmaya aday bir çalışmadır