Shortening the Time for Loading a Program
Original Publication Date: 1995-Nov-01
Included in the Prior Art Database: 2005-Mar-31
Publishing Venue
IBM
Related People
Abstract
Disclosed is a method for shortening the time for loading a program. It is possible by making a private thread which loads the function in order before executing, when starting up a program. The method to load a private thread for loading is just to read access the loading address, which makes the mechanism of Operating System load the program by itself. (There are two methods to have a private thread for loading, either inside the application or inside the Operating System.) It is possible to make a private thread for loading from the mechanism which writes the function executed at starting up on a file by compiler's option.
Shortening the Time for Loading a Program
Disclosed is
a method for shortening the time for loading a
program. It is possible by making a
private thread which loads the
function in order before executing, when starting up a program. The
method to load a private thread for loading is just to read access
the loading address, which makes the mechanism of Operating System
load the program by itself. (There are
two methods to have a private
thread for loading, either inside the application or inside the
Operating System.) It is possible to
make a private thread for
loading from the mechanism which writes the function executed at
starting up on a file by compiler's option.
Fig. 1 shows
the former mechanism of program loading.
(For
example, OS/2* V2 application.) At (1),
the loader reads executable
files from the hard disk and decides the whole address. At (2), the
Operating System loads the first executing part from the hard disk,
on a memory decided at (1). At this
time, waiting time for disk
reading occurs. At (3), the Operating
System starts to execute the
loaded program. At (4), hardware
interruption occurs when the
program tries to execute or access the part excepting the part loaded
at (2) in the middle of execution, and then the control moves to the
loader. At (5), the loader loads the
part which has become necessary
at (4) from the hard disk, by using the information from (1). Then,
waiting time for disk reading occurs. At
(6), the Operating System
returns to the point where hardware interruption occurred, and
continues to execute the loaded program.
At (7), above mentioned
(4), (5) and (6) are repeated. (Some
programs repeat over thousand
times.) The above stated method is how
the program starts up by
loading and executing alternately. This
method is called
'load-on-call', and it loads to the memory only necessary parts for
executing a program. This merit is that
it saves the memory and the
loading time as Operating System does not load unnecessary parts at
starting up. However, as in Fig. 1, the
actual condition of CPU
running rate is under 50% while loading.
Fig. 2 shows
the new method. First of all, specify
the former
'load-on-call' method, then by preparing a private thread for loading
as mentioned below, loading a program becomes possible before it
becomes necessary. At (1), the loader
reads executable files from
the hard disk and decides the whole address.
At (2), Operating
System loads the first memory decided at (1).
Then, waiting time for
disk reading occurs. At (3), Operating
System starts to execute the
loaded program. Execute the private
threa...