In message <[email protected]>, tian galaxy writes: > > Hindess .Thanks for the help ! I realized that this far more complex than I > thought before . > So I think I need a deeper look into both osgi and harmony . > Here are several things I don't qiute understand and I noted them below.May > be it's because I am not quite familiar with the low level , classloading > details . > thanks! > > 2009/5/19 Mark Hindess <[email protected]> > > > > In message <[email protected]>, > > tian galaxy writes: > > > > > > OK ,thanks .Seems the minimal class set has been defined by the osgi. > > > > Not sure how this helps though. The OSGi Minimum Execution Environment > > says what is theoretically the minimum required to run OSGi. What we > > need to concern ourselves with is the *practical* minimum and that > > really depends on our implementation details. > > > > I don't think that we should implement OSGi in the VM. Instead the > > existing bootstrap classloader should load the OSGi framework (with > > a unique classloader) > > If we load the osgi with the bootstrap class loader , why comes a unique > class loader?
It isn't necessary but I think it is useful to use a separate classloader for the OSGi framework so that we can isolate the classes use by the VM's OSGi framework and avoid polluting the namespace. > Do you mean the bootstrap class loader should delegate the loading to > the 'unique class loader '? Yes. > > and the system classes (with a "temporary" classloader). > > Again ,the relation between temporary and bootstrap classloder? And > why temporary ? Temporary because until the OSGi framework is up you wont know which bundle the classes belong to and thus wont know which bundle classloader the classes should belong to. Alternatively, I suppose you could implement minimal support for reading OSGi headers from manifests in the VM so that you could assign classes to what would become a bundle classloader when the framework is up. -Mark. > > Once the OSGi framework is configured the system classes need to be > > moved to the correct classloader for the OSGi bundle to which they > > belong. > > > > This means that during the initial starting-OSGi-framework phase > > the OSGi bundle import/exports will not be enforced but, other than > > implementing OSGi in the VM, I don't see how to avoid this. > > > > The multiplicity of bootstrap classloaders still needs to be hidden > > since the API demands that getClassLoader should return null for the > > bootstrap classloader(s). > > > > The biggest problem is probably how to implement this as VM-independent > > API such that a VM wanting to implement OSGi had to provide only a > > minimal C/Java interface in order to gain OSGi support. > > > > Regards, > > Mark. > > > > > I will look more closely on this problems and let you know if there some > > > progresses made. > > > Thanks a lot ! > > > > > 2009/5/18 Pavel Pervov <[email protected]> > > > > > > > I do not know osgi model in detail, but what minimal set of classes is > > > > needed to start osgi model itself? Then we could delegate to "system" > > > > bundle loader from bootstrap classloader. > > > > > > > > 2009/5/18, tian galaxy <[email protected]>: > > > > > Yes , implement osgi loading model in there is too complex. > > > > > > > > > > We know some modules are more important than others , performing some > > > > > fundamental , basic functions . > > > > > Is it possible to only load these more" basic " modules with > > bootstrap > > > > class > > > > > loader and make the other modules work the osgi bundle? > > > > > Actually I don't quite understand why system classes could only be > > loaded > > > > by > > > > > bootstrap class loader?I noticed that there are some safety concerns > > > > > ,is there any reasons other than that? > > > > > Thanks ! > > > > > > > > > > > > > > > 2009/5/18 Pavel Pervov <[email protected]> > > > > > > > > > >> Short answer is "no". You'll have to implement osgi loading model > > > > >> inside bootstrap classloader. Is it too complex? > > > > >> > > > > >> 2009/5/18, tian galaxy <[email protected]>: > > > > >> > Hi Pavel. > > > > >> > > > > > >> > Thanks. > > > > >> > Yes ,that's right .My question is whether there is a way to load > > the > > > > >> system > > > > >> > class by class loader other than the bootstrap class loader ? > > > > >> > If we could load the system class by different loaders other than > > the > > > > >> > bootstrap class loader then there is a chance to make the harmony > > > > >> > runtime > > > > >> to > > > > >> > be osgi-ed. > > > > >> > I trying to work on this problem . Do you have any suggestions ? > > > > >> > > > > > >> > > > > > >> > 2009/5/18 Pavel Pervov <[email protected]> > > > > >> > > > > > >> >> Tian, > > > > >> >> System classes are all loaded with bootstrap classloader. It is > > > > >> >> written in C++ and is located in > > > > >> >> working_vm/vm/vmcore/src/class_support/classloader.cpp > > > > >> >> > > > > >> >> 2009/5/17, tian galaxy <[email protected]>: > > > > >> >> > Hi all > > > > >> >> > I have a question about the classloading in the drlvm. > > > > >> >> > > > > > >> >> > I know that there are kernel library inside the drlvm such as > > > > >> >> > java.lang.classloader, which enclose the the systemclassloader. > > And > > > > >> this > > > > >> >> > class is loaded and used in the process of creating VM . > > > > >> >> > While the systemclassloader is a subtype of urlclassloader > > which is > > > > >> >> > in > > > > >> >> the > > > > >> >> > "luni" module.So does the JNI_CreateJavaVM > > > > >> >> > also load the urlclassloader in the boot procedure of vm ?(I > > failed > > > > >> >> > to > > > > >> >> > search related code in the source code of drlvm). > > > > >> >> > If so , when ?Before or after the jni available ? > > > > >> >> > Since I am trying to implement the osgi on harmony and the osgi > > > > works > > > > >> >> with > > > > >> >> > bundles (modules) , I think I need to know the procedure of > > booting > > > > >> and > > > > >> >> > loading of class from different modules at the start up time. > > > > >> >> > Any clue about this ?Thanks > > > > >> >> > > > > > >> >> > plus,do we have the source code of java.exe ?Where?
