Image Builder (Re: Mythical small kernel images?)

PhiHo Hoang phiho.hoang at rogers.com
Tue Feb 11 20:07:50 UTC 2003


Hi Alejandro,

    You are my hero ;-)

> If it is really needed we can ask for a permition to made
>  it under Squeak-L.

    Please do so. I am looking forward for your package in SqueakMap.

> Out images can determine the minimum requirements for the VM...
> They can also be used to build the minimum VM that can run them.

    Would you please elaborate on this.

    BTW, I put your 'sample2.image' thru the analyzer :

        1/- There are 124 classes in the image.

        1/-  34 classes with 0 instances  (so shouldn't be in the image):
                - ProtoObject Class
                -ArrayedCollection
                -Behavior
                -Bitmap
                -Boolean
                -ByteArray
                -Class
                -ClassDescription
                -ClassOrganizer
                -Collection
                -ContextPart
                -Environment
                -ExternalFunction
                -ExternalLibrary
                -ExternalObject
                -ExternalStructure
                -IdentityDictionary
                -InstructionStream
                -Integer
                -Link
                -LookupKey
                -Magnitude
                -Message
                -Number
                -Object
                -ReadOnlyVariableBinding
                -Rectangle
                -SequenceableCollection
                -Set
                -SmallInteger
                -SystemDictionary
                -TranslatedMethod
                -Win32Console
                -Win32Handle

        2/- Consequently :
                - 33 classes of above classes respectively 
                    are not needed in the image.

                - The following 8 classes can be removed from
                    the specialObjects:
                        * ExternalLibrary
                        * ExternalFunction
                        * ExternalStructure
                        * TranslatedMethod
                        * ByteArray
                        * Message
                        * SmallInteger
                        * Bitmap
        3/- The rest of the classes (57) and number of instances are:
                (What is that sole instance of Float, Point is doing 
                  in this sample2.image ? 

                  For that matter, would you please verify that these 57
                  classes are really needed ?  and what does Fenix mean ?)

             1 BlockContext
             1 FenixEnvironment
             1 Float
             1 LargePositiveInteger
             1 Point
             1 Process
             1 ProcessorScheduler
             1 Semaphore
             1 UndefinedObject
             2 False
             2 MethodContext
             2 True
             3 OrderedCollection
             7 ExternalAddress
             7 ExternalLibraryFunction
           10 WordArray
           10 ExternalType
          17 Dictionary
          62 Metaclass
          80 LinkedList
          96 String            
        117 CompiledMethod
        124 MethodDictionary
        181 Association
        227 Array
        256 Character
        320 Symbol

    If you can spare sometime, would you please confirm or deny 
    the validity of this analysis. It would be very helpful for me
    to fine tune the analyzer.

    Also, if the analysis is correct, can your technology create an
    image without 'cruft' and micro-kitchen-sink ;-)

    I heard a lot about the '3 + 4' image but never saw one.

    Thanks a lot for your time and effort, my dream 
    of an ImageBuilder is now coming true.

    Cheers,

    PhiHo.




More information about the Squeak-dev mailing list