Method for loading a program

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C717S152000

Reexamination Certificate

active

06205580

ABSTRACT:

BACKGROUND OF THE INVENTION
The present invention relates to a method for loading a program, and more particularly to a method for generating an absolute address program from a relative address program and loading the absolute address program into memory. In addition, the present invention relates to a computer software product, such as a computer-readable medium, that contains the above-mentioned method for loading a program.
Two types of program object codes are absolute address codes and relative address codes. Absolute address codes are instructions that use absolute addresses when referring to data in memory or designating branch destinations. Programs that CPU's can execute directly are programs written using absolute addresses.
Relative address codes are instructions that designate memory addresses or branch destinations by using relative addresses such as symbolic addresses. Since CPU's cannot execute a program which is written using relative addresses, a relative address program is converted into an absolute address program through a loader prior to execution by the CPU. Unlike the absolute address programs, it is possible to specify storage locations for relative address programs when they are loaded into memory. Relative address format programs are currently used in many computers because it is possible to freely select storage locations in memory for the relative address format programs.
A relative address format program file includes a program proper and relocation information. Relocation information is information that is referred to by the loader when converting a relative address format program into an absolute address format program. This is outlined in Chapter 5, Loader, particularly in Sub-chapter 5.1.5, Relocating Loader, pp. 170-174 of System Program I by John J. Donovan, 1976, published by Nippon Computer Kyokai. The most common of the program file formats is COFF (Common Object File Format), a detailed description of which, is given in Chapter 4, File Formats a. Out (4), pp. 1-2 of AT&T UNIX SYSTEM V Programmers Reference Manual, 1990.
SUMMARY OF THE INVENTION
The loader for relocating a relative address format file reads the whole file, maps the file on a memory, and converts the relative address format file into an absolute address format file. A relative address format file, including relocation information, is often several times the size of an absolute address format file. Therefore, to enable the loader to operate, it is necessary to procure a working storage area several times larger than the whole program. If such a working storage area cannot be secured, the loader cannot load the program file, and the CPU cannot execute the program. It is an object of the present invention to provide a method for loading or executing a program, even if the system involved does not have a memory resource sufficient to map a relative address format file in the memory.
To achieve the above object, the method for loading a program according to an aspect of the present invention comprises the steps of:
(1) converting a conventional relative address format file into a file of a program format having a set of records, each made up of an instruction and instruction relocation information;
(2) having the loader fetch records one by one from a file of a program format generated in step (1), transform the file into an absolute address format, and locate or dispose the file on the memory;
(3) when the file of the program format generated according to step (1) cannot be stored in a single medium, dividing the file into smaller files and storing them in a plurality of media; and
(4) having the loader sequentially load the smaller files, divided according to step (3), and locate them on the memory by rearranging them into a single program.


REFERENCES:
patent: 4330822 (1982-05-01), Dodson
patent: 5136709 (1992-08-01), Shirakabe et al.
patent: 5193180 (1993-03-01), Hastings
patent: 5319751 (1994-06-01), Garney
patent: 5708811 (1998-01-01), Arendt et al.
patent: 5732404 (1998-03-01), Johnson et al.
patent: 5764987 (1998-06-01), Eidt et al.
patent: 5822787 (1998-10-01), Zucker
patent: 5845118 (1998-12-01), Gheith
patent: 5897666 (1999-04-01), Mallick et al.
patent: 5956757 (1999-09-01), Sun
patent: 5991871 (1999-11-01), Zucker
patent: 6023583 (2000-02-01), Honda
patent: 6076134 (2000-06-01), Nagae
patent: 0321000 (1989-06-01), None
patent: 0489204 (1992-06-01), None
patent: 9627158 (1996-09-01), None
Heggy et al, “Architectural support for register allocation in the presence of aliasing”, IEEE, pp 730-739, May 1990.*
Rau et al, “Pseudo randomly interleaved memory”, IEEE, pp 74-83, Sep. 1991.*
Huck et al, “Architectural support for translation table management in large address space machines”, IEEE, pp. 39-50, 1993.*
Waldspurger et al, “Register relocation: flexible contexts for multithreading”, IEEE, pp. 120-130, May 1990.*
Yamada et al, “Data relocation and prefetching for programs with large data sets”, ACM Micro pp 118-127, Mar. 1994.*
Ramsey, “Relocating machie instructions by currying”, ACM PLDI, pp 226-236, Feb. 1996.*
Kessler, “Fast breakpoints: design and implementation”, ACNM PLDI, pp 78-84, Mar. 1994.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for loading a program does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method for loading a program, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for loading a program will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2490025

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.