摘要:
Files of software to be installed in a computer are packaged as follows. A source file is prepared to contain at least a declaration of an array of sufficient space to accommodate the files to be packaged. The source file is compiled into an executable file. Thereafter, the array in the executable file is overwritten with data from each file being packaged. Depending on the embodiment, the address of where each file begins in the executable file and each file's name may be stored in the same executable file or in a different file. The stored file names are used to identify an address of a file from its name, when the named file is first accessed. In several embodiments, the operating system loads the executable file as a library that is automatically shared by multiple instances of the application (or by multiple applications), to efficiently use physical memory.
摘要:
Multiple groups of read-only files, for use by various components of an application program in a computer, are packaged as follows. Several executable files are prepared, each executable file corresponding to a group of read-only files used by one or more components. Each executable file includes an array that has sufficient space to accommodate the group of read-only files to be packaged therein. Each array in each executable file is overwritten with data from a corresponding group of read-only files. The presence or absence of each executable file for a group of read-only files is indicated by an index that is developed during initialization of components. Retrieval of data is from the executable files, if the index indicates, on first accessing each read-only file, that the corresponding executable file is present. If the executable file is indicated by the index as being absent, then the read-only file is directly accessed.
摘要:
One embodiment of the present invention provides a system that facilitates making an inter-process procedure call through a shared memory that is shared between a client process and a server process, wherein the client makes the inter-process procedure call as if the client is making a local procedure call, but the procedure call actually executes on the server. The system operates by an Application Programming Interface (API) to allow the client to make an inter-process procedure call. The system then allocates a section of the shared memory for the data structure parameters of the inter-process procedure call.
摘要:
One embodiment of the present invention provides a system that facilitates making an inter-process procedure call through a shared memory that is shared between a client process and a server process, wherein the client makes the inter-process procedure call as if the client is making a local procedure call, but the procedure call actually executes on the server. The system operates by receiving a request from the client through an Application Programming Interface (API) to make an inter-process procedure call. The system then allocates a section of the shared memory for the data structure parameters of the inter-process procedure call. Additionally, the client process acquires a lock on a commonly known section of shared memory called a Parameter Control Block. Once the lock is acquired, the client process stores parameters for the inter-process procedure call in the Parameter Control Block. Finally, the client process clears a Call_Done flag and releases the lock.
摘要:
A method for providing memory management for objects is described. Specifically, techniques are described for providing common memory management code to objects that are instances of different classes and for releasing a memory management subtree that starts with a particular object in the memory management tree. A memory management template provides common pre-processor memory management code. A specialized version of the memory management template is used to create a specialized template subclass. When a memory management operator of an object that is an instance of the specialized template subclass is invoked the common memory management code in the specialized template is executed. Memory is associated with each object in a hierarchical tree. Data for the memory is maintained that reflects the hierarchical tree relationship between the objects. A subtree and the associated memory can be released without an application program tracking the relationships.
摘要:
One embodiment of the present invention provides a system that facilitates making an inter-process procedure call through a shared memory that is shared between a client process and a server process, wherein the client makes the inter-process procedure call as if the client is making a local procedure call, but the procedure call actually executes on the server. The system operates by providing an Application Programming Interface (API) to allow the client to make an inter-process procedure call. The system then allocates a section of the shared memory for the data structure parameters of the inter-process procedure call.
摘要:
A method for providing memory management for objects is described. Specifically, techniques are described for providing common memory management code to objects that are instances of different classes and for releasing a memory management subtree that starts with a particular object in the memory management tree. A memory management template provides common pre-processor memory management code. A specialized version of the memory management template is used to create a specialized template subclass. When a memory management operator of an object that is an instance of the specialized template subclass is invoked the common memory management code in the specialized template is executed. Memory is associated with each object in a hierarchical tree. Data for the memory is maintained that reflects the hierarchical tree relationship between the objects. A subtree and the associated memory can be released without an application program tracking the relationships.
摘要:
A computer automatically identifies multiple occurrences of an abstract data type that is embedded within an object of metadata of another abstract data type (hereinafter “top-level” abstract data type), e.g. by recursively visiting each element of the top-level abstract data type. Then the computer automatically generates, for the top-level abstract data type, a tap-level description that contains a description of each embedded abstract data type. At several locations in the top-level description that correspond to occurrences of a given embedded abstract data type in the top-level abstract data type, the computer automatically inserts offsets that identify a common position where the single description of that given embedded abstract data type is present in the tap-level description. Use of multiple offsets that identify a common position of an embedded description reduces space. The space was otherwise occupied by multiple embedded descriptions in prior art's top-level descriptions.
摘要:
An improved method, mechanism, and system for implementing, generating, and maintaining for implementing session pools is disclosed. A session in a session pool can be customized to with a specific set of affinities and attributes. Tags can be associated with the customized sessions. When a later request is made for a session having a set of desired characteristics, the tags can be used to search for and identify a session in the session pool having the requested characteristics. Also disclosed is a method, mechanism, and system for dynamic sizing of session pools.
摘要:
Multiple groups of read-only files, for use by various components of an application program in a computer, are packaged as follows. Several executable files are prepared, each executable file corresponding to a group of read-only files used by one or more components. Each executable file includes an array that has sufficient space to accommodate the group of read-only files to be packaged therein. Each array in each executable file is overwritten with data from a corresponding group of read-only files. The presence or absence of each executable file for a group of read-only files is indicated by an index that is developed during initialization of components. Retrieval of data is from the executable files, if the index indicates, on first accessing each read-only file, that the corresponding executable file is present. If the executable file is indicated by the index as being absent, then the read-only file is directly accessed.