JPH02129724A - Program executing system - Google Patents
Program executing systemInfo
- Publication number
- JPH02129724A JPH02129724A JP28253888A JP28253888A JPH02129724A JP H02129724 A JPH02129724 A JP H02129724A JP 28253888 A JP28253888 A JP 28253888A JP 28253888 A JP28253888 A JP 28253888A JP H02129724 A JPH02129724 A JP H02129724A
- Authority
- JP
- Japan
- Prior art keywords
- program
- main memory
- processes
- auxiliary storage
- executed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 111
- 238000011068 loading method Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 abstract description 5
- 230000000694 effects Effects 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 102100029860 Suppressor of tumorigenicity 20 protein Human genes 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
Description
この発明は、計算機において大きなプログラムを実行す
る際に使用するプログラム実行方式に関し、特にプログ
ラム全体の実行を早くするためのプログラム実行方式に
関するものである。The present invention relates to a program execution method used when a large program is executed in a computer, and particularly to a program execution method for speeding up the execution of the entire program.
従来、大きなプログラムを有するシステムにおいては、
物理的資源の有限性から、全てのプログラムを主メモリ
上に置くことは不可能であった。
このために、大きなプログラムを処理する場合には、プ
ログラムを幾つかの独立したプロセスに分割し、この分
割プロセスを順次処理することにより、一つの大きな機
能プログラム処理を実行している。
ここで、各分割プロセスは、プロセス生成用システムコ
ールによって、HD(ハードディスク)及びFD(フロ
ッピディスク)等の補助記憶装置から主メモリ上にロー
ドされた後に実行される。
第3図は、この分割プロセスのロードを説明するための
図であって、■は現在実行中のプロセス、2はこのプロ
セスlが発行するシステムコールによって、主メモリ上
にロードされた後に実行されるプロセスである。
次に、この第3図に示すプログラム実行方式の動作を第
4図に示す流れ図を用いて説明する。スタートされると
、まずステップSTIにおいて、プロセス1によるシス
テムコールの発行が実行される。次に、ステップST2
においては、システムソフトO3が補助記憶装置に格納
されているプロセス2を主メモリにロードする為のメモ
リエリア確保処理を実行する。次に、ステップST3に
おいては、プロセス2が格納されているファイルを補助
記憶装置から、先にメモリエリアが確保されている主メ
モリ上に読み込む。このようにして、プロセス2が主メ
モリに格納されると、プロセス1の実行後にステップS
T4においてプロセス2が実行される。このようにして
、複数のプロセスによって構成されるプログラムの各プ
ロセスが順次実行されることにより、プログラムの処理
が完了することになる。
(発明が解決しようとする課題]
従来のプログラム実行方式は以上のように構成されてい
るので、1個のプロセスから次のプロセスを起動する時
に主メモリにプロセスのファイルをロードする必要が生
ずる。この結果、プロセスの起動に時間がかかり、大き
なプログラムを実行するプロセスを迅速に起動すること
ができない問題点を有している。尚、近似技術として、
「解析マルチタスク」 (佐々木茂著、昭和36年1月
発行、CQ出版株式会社)がある。
この発明は上記のような問題点を解消するためになされ
たもので、複数のプロセスによって構成されている大き
なプログラムの処理時に、あるプロセスから次のプロセ
スへの移行を早くして、プログラム全体の実行を迅速に
したプログラム実行方式を得ることを目的とする。Traditionally, in systems with large programs,
Due to finite physical resources, it was impossible to store all programs in main memory. For this reason, when processing a large program, the program is divided into several independent processes and the divided processes are sequentially processed to execute one large functional program. Here, each divided process is executed after being loaded onto the main memory from an auxiliary storage device such as an HD (hard disk) or FD (floppy disk) by a process generation system call. FIG. 3 is a diagram for explaining the loading of this divided process, where ■ is the currently executing process, and 2 is the process that is executed after being loaded into the main memory by the system call issued by this process l. It is a process of Next, the operation of the program execution method shown in FIG. 3 will be explained using the flowchart shown in FIG. 4. When started, first, in step STI, process 1 issues a system call. Next, step ST2
, the system software O3 executes memory area securing processing for loading process 2 stored in the auxiliary storage device into the main memory. Next, in step ST3, the file in which process 2 is stored is read from the auxiliary storage device onto the main memory in which the memory area has been previously secured. In this way, once process 2 is stored in main memory, step S
Process 2 is executed at T4. In this way, each process of the program composed of a plurality of processes is executed in sequence, thereby completing the processing of the program. (Problems to be Solved by the Invention) Since the conventional program execution method is configured as described above, when starting one process to the next, it becomes necessary to load the process file into the main memory. As a result, it takes time to start a process, and there is a problem that a process that executes a large program cannot be started quickly.As an approximation technique,
There is ``Analysis Multitasking'' (written by Shigeru Sasaki, published in January 1960, CQ Publishing Co., Ltd.). This invention was made to solve the above-mentioned problems, and when processing a large program made up of multiple processes, it speeds up the transition from one process to the next and improves the overall program performance. The purpose is to obtain a program execution method that speeds up execution.
この発明にかかるプログラムロード方式は、中央演算処
理部(以下、CPUと称す)に負担をかけずに補助記憶
装置から主メモリにプログラムを転送するダイレクトメ
モリアクセス装置(以下、D M A装置と称す)を設
けると共に、1つの機能プログラムを幾つかの独立した
プロセスに分けてこの各プロセスのロード情報を記憶し
、かつプログラムの先頭のロジック群を持つ先頭のプロ
セスを主メモリ上に置くと共に、他のプロセスを補助記
憶装置に置き、先頭のプロセスを実行しつつ、他のプロ
セスを補助記憶装置から主メモリ上にロードするもので
ある。The program loading method according to the present invention uses a direct memory access device (hereinafter referred to as a DMA device) that transfers a program from an auxiliary storage device to a main memory without placing a burden on a central processing unit (hereinafter referred to as a CPU). ), one functional program is divided into several independent processes, the load information of each process is stored, and the first process with the first logic group of the program is placed in the main memory, and the other processes are placed in the auxiliary storage, and while the first process is executed, other processes are loaded from the auxiliary storage onto the main memory.
この発明においては、1つの機能を実現する為のプログ
ラムに起動がかかると、先頭のプロセスが実行される。
先頭のプロセスにはプロセスのロード順が記憶されてい
る為に、次のプロセスがDMA転送によりCPUに負担
をかけずに主メモリ上にロードされることになる。そし
て、CPUはプロセスのロード処理とは関係なくプロセ
スを実行しており、プロセス起動のシステムコールがあ
ると、既に主メモリ上にあるプロセスをロードのための
待ち時間無しに実行することになる。In this invention, when a program for realizing one function is activated, the first process is executed. Since the load order of the processes is stored in the first process, the next process is loaded onto the main memory by DMA transfer without placing a burden on the CPU. The CPU executes processes regardless of process loading processing, and when there is a system call to start a process, the process already in the main memory is executed without waiting time for loading.
以下、この発明の一実施例を図について説明する。第1
図において、21はプロセスを実行するCPU、22は
主メモリ23とプロセスが格納されている補助記憶装置
24との間においてDMA転送を実行するDMA装置で
ある。そして、主メモリ23の中には、色々な機能を実
現するためのプログラムが置かれているが、各プログラ
ムとも主メモリ容量の関係から、独立した幾つものプロ
セスに分かれており、そのプログラムの先頭のプロセス
のみが主メモリ上に置かれている。また、先頭プロセス
には、プロセスのロード順とプログラムのロジックが記
述されている。そして、他のプロセスは補助記憶装置2
4に格納されている。
第1図において、主メモリ23に格納されているプログ
ラムA1はプログラムAの先頭に位置する先頭プロセス
、プログラムBlはプログラムBの先頭プロセスを表し
ている。また、プログラムAiはプログラムAO1番目
のプロセスを表し、フ゛ログラムAnはプログラムAO
n番目のフ゛ロセスを表している。
次に動作について説明する。第2図はプログラムAが実
行される時のCPU21及びDMA装置22の動作を示
す流れ図である。
まず、スタートされると、ステップ5TIIにおいて、
CPU21にプログラムAの起動命令がかけられる。次
に、ステップ5T12においては、プログラムへの中の
プロセス1が実行されるが、その中でプログラムAのプ
ロセスl以外のプロセスを主メモリ23上にロードする
ために、DMA転送を発生する。
一方、このDMA転送命令を受けたDMA装置22は、
ステップ5T13においてプログラムへの次のプロセス
2を主メモリ上にロードする。このロードの間にも、ス
テップ5T14に示すように、CPU21はDMA装置
22とは独立に働いてプログラムのプロセス処理が実行
される。
一方、DMA装置22はプロセス2の主メモリ23への
ロードが終了すると、ステップ5T15において、DM
A装置22がCPU21に転送処理が終了したことを割
り込み処理を使用して知らせる。割り込みを受けたCP
U21は、次にロードしなければならないプロセスが有
るかどうかをステップ5T16において調べる。ここで
、ステップ5T16における判断がイエスである場合に
は、ステップ5T17に移行して、DMA装置22に転
送命令を送出する。CPU21の命令を受けたDMA装
置22は、ステップ1日においてプログラムへのプロセ
スをロードする。
一方、CPU21は、DMA装置22によるプログラム
Aのプロセスをロードする間においても、ステップ5T
19に示すように、プログラムのプロセスを実行してい
る。DMA装置22は、主メモリ23へのプロセスロー
ドが終了すると、ステップST20に示すように、割り
込み処理を使用してCPU21に転送処理が終了したこ
とを知らせる。
CPtJ21は、ステップ5T19における処理を完了
すると、ステップ5T16に移行する処理を実行する。
ステップ5T16においては、CPU21がまだロード
しなければならないプロセスがあるかどうかを8周べ、
なければステップ5T21に移行してプログラムAの実
行を継続する。そして、プログラムへの中のプロセスが
次のプロセスに実行を要求すると、既に主メモリ23上
にある次のプロセスに対する処理を、ロードのための待
ち時間が無い状態で実行する。
従って、かかる状態においては、1つの機能を実現する
為のプログラムに起動がかかると、先頭のプロセスが実
行される。そして、この先頭のプロセスにはプロセスの
ロード順が記憶されているために、次のプロセスがDM
A転送によりCPUに負担をかけずに主メモリ上にロー
ドされることになる。そして、CPUはプロセスのロー
ド処理とは関係なくプロセスを実行しており、プロセス
起動のシステムコールがあると、既に主メモリ上にある
プロセスをロードのための待ち時間無しに実行すること
が可能になる。
なお、上記実施例においては、割り込み処理をハードウ
ェアーによって処理した場合について説明したが、ソフ
トウェア−によって処理しても同様な効果が得られる。An embodiment of the present invention will be described below with reference to the drawings. 1st
In the figure, 21 is a CPU that executes the process, and 22 is a DMA device that executes DMA transfer between the main memory 23 and the auxiliary storage device 24 in which the process is stored. The main memory 23 contains programs for realizing various functions, but each program is divided into a number of independent processes due to the main memory capacity. processes are located in main memory. Furthermore, the load order of the processes and the logic of the program are described in the first process. And other processes are auxiliary storage device 2
It is stored in 4. In FIG. 1, program A1 stored in the main memory 23 represents the first process located at the beginning of program A, and program Bl represents the first process of program B. Further, program Ai represents the first process of program AO, and program An represents the first process of program AO.
It represents the nth process. Next, the operation will be explained. FIG. 2 is a flowchart showing the operations of the CPU 21 and DMA device 22 when program A is executed. First, when started, in step 5TII,
A command to start program A is given to the CPU 21. Next, in step 5T12, process 1 in the program is executed, and in order to load processes other than process 1 of program A onto the main memory 23, a DMA transfer is generated. On the other hand, the DMA device 22 that received this DMA transfer command,
In step 5T13, the next process 2 to the program is loaded onto main memory. During this loading, as shown in step 5T14, the CPU 21 works independently of the DMA device 22 to execute program processing. On the other hand, when the DMA device 22 finishes loading the process 2 into the main memory 23, in step 5T15, the DMA device 22
The A device 22 notifies the CPU 21 of the completion of the transfer process using interrupt processing. CP that received an interrupt
U21 checks in step 5T16 whether there is a process that must be loaded next. Here, if the determination in step 5T16 is YES, the process moves to step 5T17, and a transfer command is sent to the DMA device 22. The DMA device 22 receives the instruction from the CPU 21 and loads the process to the program in step 1. On the other hand, even while the DMA device 22 is loading the process of program A, the CPU 21 performs step 5T.
As shown in 19, the process of the program is being executed. When the process loading to the main memory 23 is completed, the DMA device 22 uses interrupt processing to notify the CPU 21 that the transfer processing has been completed, as shown in step ST20. When the CPtJ21 completes the process in step 5T19, it executes the process to proceed to step 5T16. In step 5T16, the CPU 21 performs eight rounds to determine whether there are any processes that still need to be loaded.
If not, the process moves to step 5T21 and continues execution of program A. When a process in the program requests execution by the next process, processing for the next process that is already on the main memory 23 is executed without waiting time for loading. Therefore, in such a state, when a program for realizing one function is activated, the first process is executed. Since this first process remembers the load order of the processes, the next process is
The A transfer allows the data to be loaded onto the main memory without placing any burden on the CPU. The CPU executes processes regardless of process loading, and when there is a system call to start a process, it is possible to execute processes already in main memory without waiting for loading. Become. In the above embodiment, the case where the interrupt processing is performed by hardware has been described, but the same effect can be obtained even if the interrupt processing is performed by software.
以上のように、この発明によればCPtJに負担をかけ
ずに補助記憶装置から主メモリにプロセスを転送するD
MA装置を設けると共に、1つの機能プログラムを実行
する為にこのプログラムを幾つかの独立したプロセスに
分け、そのプロセスのロード情報を記憶した先頭のプロ
セスを主メモリ上に置くことにより、プロセスのロード
をプロセスの実行に対して並列に行えるように構成した
ものであるために、独立した幾つかのプロセスで構成さ
れる大きなプログラムを、プロセスをロードするための
待ち時間無しに実行することが可能になり、これに伴っ
て全体としての処理が迅速に行える優れた効果を有する
。As described above, according to the present invention, D
In addition to providing an MA device, in order to execute one functional program, this program is divided into several independent processes, and the first process that stores the load information of the process is placed in the main memory, so that the load of the process can be reduced. Because it is configured so that it can be executed in parallel with the execution of processes, it is possible to execute large programs consisting of several independent processes without waiting for processes to load. This has the excellent effect of speeding up the overall processing.
第1図はこの発明の一実施例によるプログラム実行方式
を示すブロック図、第2図は第1図に示すプログラム実
行方式の動作を示す流れ図、第3図は従来のプログラム
実行方式を示すブロック図、第4図は第3図に示すプロ
グラム実行方式の動作を示す流れ図である。
21は中央演算処理部(CPU)、22はダイレクトメ
モリアクセス装置(DMA装置)、23は主メモリ、2
4は補助記憶装置。
なお、図中、同一符号は同一、または相当部分を示す。FIG. 1 is a block diagram showing a program execution method according to an embodiment of the present invention, FIG. 2 is a flow chart showing the operation of the program execution method shown in FIG. 1, and FIG. 3 is a block diagram showing a conventional program execution method. , FIG. 4 is a flow chart showing the operation of the program execution method shown in FIG. 21 is a central processing unit (CPU), 22 is a direct memory access device (DMA device), 23 is a main memory, 2
4 is an auxiliary storage device. In addition, in the figures, the same reference numerals indicate the same or equivalent parts.
Claims (1)
メモリにプロセスを転送するダイレクトメモリアクセス
装置を設けると共に、一つの機能プログラムを実行する
為の大きなプログラムを幾つかの独立したプロセスに分
けてそのプロセスのロード情報を記憶し、かつプログラ
ムの先頭ロジック群を持つ先頭プロセスを主メモリ上に
置くと共に、他のプロセスを補助記憶装置に置くプログ
ラム管理システムにおいて、前記プログラムに起動がか
けられると、前記中央演算部による前記主メモリ上に置
かれている先頭プロセスの実行に並行して、前記ダイレ
クトメモリアクセス装置が前記補助記憶装置に置かれて
いるプロセスを前記主メモリ上にロードすることを特徴
とするプログラム実行方式。In addition to providing a direct memory access device that transfers processes from auxiliary storage to main memory without placing a burden on the central processing unit, a large program for executing a single functional program can be divided into several independent processes. In a program management system that stores the load information of the process and places the first process having the first logic group of the program in the main memory and the other processes in the auxiliary storage, when the program is started, The direct memory access device loads the process located in the auxiliary storage device onto the main memory in parallel with the execution of the first process located in the main memory by the central processing unit. Program execution method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28253888A JPH02129724A (en) | 1988-11-10 | 1988-11-10 | Program executing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28253888A JPH02129724A (en) | 1988-11-10 | 1988-11-10 | Program executing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02129724A true JPH02129724A (en) | 1990-05-17 |
Family
ID=17653768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28253888A Pending JPH02129724A (en) | 1988-11-10 | 1988-11-10 | Program executing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02129724A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129463A (en) * | 1993-11-02 | 1995-05-19 | Nec Corp | Memory address space expanding device |
JP2007065753A (en) * | 2005-08-29 | 2007-03-15 | Fujitsu Ten Ltd | Starting method and navigation device |
-
1988
- 1988-11-10 JP JP28253888A patent/JPH02129724A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129463A (en) * | 1993-11-02 | 1995-05-19 | Nec Corp | Memory address space expanding device |
JP2007065753A (en) * | 2005-08-29 | 2007-03-15 | Fujitsu Ten Ltd | Starting method and navigation device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1214566A (en) | Method of synchronizing the sequence by which a variety of randomly called unrelated activities are executed in a digital processor | |
JPS58151655A (en) | Information processing device | |
JPH04348451A (en) | Parallel computer | |
JPH02249055A (en) | Multiprocessor system, multiprocessing method and work allocation method | |
US5671405A (en) | Apparatus and method for adaptive logical partitioning of workfile disks for multiple concurrent mergesorts | |
JPH02129724A (en) | Program executing system | |
JP2986930B2 (en) | Task Scheduling Method for Symmetric Multiprocessor | |
JPH0115899B2 (en) | ||
JPH0877026A (en) | Method and device for information processing | |
JPS583177A (en) | Data processing system | |
JPH01126738A (en) | System for control data set competition in execution of multiple job | |
JP3252517B2 (en) | I / O control method and I / O control system | |
JPH10507548A (en) | Data processing systems and methods and communication systems with such systems | |
JP3301551B2 (en) | Data processing device with sorting function | |
JPH0449146B2 (en) | ||
JPS6146545A (en) | Input and output instruction control system | |
JPS58221447A (en) | Data processor | |
JPH03201032A (en) | Arithmetic processing unit | |
JPH10171670A (en) | Task switching device and medium recording task switching program | |
JPH0346033A (en) | Data transfer control method for inter-job | |
JPH113231A (en) | Software processing method | |
JPS6330951A (en) | Data transfer system for communication control processor | |
JPH05324580A (en) | Data processor | |
JPH0452490B2 (en) | ||
JPH0525341B2 (en) |