Font Size: a A A

Research On Designing And Implementing Java Operating System

Posted on:2009-02-22Degree:MasterType:Thesis
Country:ChinaCandidate:X LiFull Text:PDF
GTID:2178360278956869Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the network technology developing rapidly, people inquire more and more about ubiquitous computing. The traditional technology which combines operating system and midware together can not satisfy the need of ubiquitous computing. Ubiquitous computing requires a new kind of operating system which is both platform-independent and highly-secure. Using Java language to implement this type of operating system not only can make the system platform-independent, but also can solve safety threats such as buffer-overflow-attack. Using Java to implement an operating system will bring us a lot of advantages, also it will introduce some challenges. This thesis deeply studies the architecture design of Java operating system, behavior rules of Java objects, full system garbage collection algorithm and the implementing technology of Java operating system.The architecture design is the basic of operating system technology. According to the features of Java language, this thesis designs the architecture of Java operating system, under the new architecture, studies the technology of software-isolation among processes which based on the JTOC (Java Table of Contents) can define the memory and interface border. In order to make the system memory management secure and efficient, this thesis put forwards the idea which should integrate the garbage collection and system management together to implement full-system garbage collection.Life behavior rules of Java objects can provide important evidence for the design of garbage collection algorithms, but the analysis of Java program behavior using data which was gathered more than ten years ago and is not suitable for current applications because of the differences in hardware and software. This thesis designs a new framework and implements E-Merlin tracing algorithm to trace the behavior of every Java object. After using this framework to trace programs in SPECjvm98, we discover two basic rules about Java objects. First, Java objects typically distribute equally in five categories and in each category, broader objects account for large percents. Second, the structure of Java objects in memory is just like a broad fat-tree which is flat. There are a lot of objects directly attach to the root object.All of garbage collection algorithms are designed for processes currently, not for operating systems. To use them directly as the garbage collection algorithms of operating system will be inefficient, because they could not cooperate with the mechanism of memory management effectively. This thesis deeply studies the principle of four classic garbage collection algorithms (reference count, mark-sweep, semi-space and generation algorithm) and two new algorithms (train and mark-copy algorithm), and analyses the advantages and shortages of every algorithm. Using the principle of Mark-Copy algorithm and behavior rules of Java objects, this thesis designs and implements a new full system algorithm named FSMC. According to the test results, FSMC improves the performance by 20% compared with Mark-Copy, which is very efficient.This thesis implements a prototype of Java operating system named Junicorn on the X86 platform. The hardware abstract layer of Junicorn, which is implented in C and assemble language, accomplishes system booting and the initialization of hardware, provides basic hardware control and interrupt management service for micro-kernel. The micro-kernel of Junicorn implements the dynamic compiling engine and full system garbage collector basing on JikesRVM and the generation garbage collection algorithm, designs interrupt and exception service framework for the system. Now Junicorn supports keyboard and character output, can run testing programs of SPECjvm98 on Huasuo-EPC.
Keywords/Search Tags:ubiquitous computing, process soft-isolation, full system garbage collection, Java objects tracing framework, hardware abstract layer, dynamic compiling engine, Junicorn prototype system
PDF Full Text Request
Related items