Nothing Special   »   [go: up one dir, main page]

JPH02129724A - Program executing system - Google Patents

Program executing system

Info

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
Application number
JP28253888A
Other languages
Japanese (ja)
Inventor
Ikuyoshi Hiroshima
郁芳 廣島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP28253888A priority Critical patent/JPH02129724A/en
Publication of JPH02129724A publication Critical patent/JPH02129724A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PURPOSE:To execute the process without a waiting time for loading the process by dividing one function program into several independent processes and storing load information of each process, placing the head process on a main memory, and also, placing other processes in an auxiliary storage device. CONSTITUTION:A DMA device 22 for transferring a process to a main memory 23 from an auxiliary storage device 24 without giving a burden to a CPU 21 is provided. Also, this system is constituted so that this program is divided into several independent processes in order to execute one function program, a head process in which load information of its process is stored is placed on the main memory 23, and loading of the process can be executed in parallel to execution of the process. In such a way, a large program constituted of several independent processes is executed without a waiting time for loading the process, and the whole processing is executed quickly.

Description

【発明の詳細な説明】[Detailed description of the invention] 【産業上の利用分野】[Industrial application field]

この発明は、計算機において大きなプログラムを実行す
る際に使用するプログラム実行方式に関し、特にプログ
ラム全体の実行を早くするためのプログラム実行方式に
関するものである。
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.

【従来の技術】[Conventional technology]

従来、大きなプログラムを有するシステムにおいては、
物理的資源の有限性から、全てのプログラムを主メモリ
上に置くことは不可能であった。 このために、大きなプログラムを処理する場合には、プ
ログラムを幾つかの独立したプロセスに分割し、この分
割プロセスを順次処理することにより、一つの大きな機
能プログラム処理を実行している。 ここで、各分割プロセスは、プロセス生成用システムコ
ールによって、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.

【課題を解決するための手段】[Means to solve the problem]

この発明にかかるプログラムロード方式は、中央演算処
理部(以下、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.

【作用】[Effect]

この発明においては、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.

【発明の実施例】[Embodiments of the invention]

以下、この発明の一実施例を図について説明する。第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.

【発明の効果】【Effect of the invention】

以上のように、この発明によれば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.

【図面の簡単な説明】[Brief explanation of drawings]

第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)

【特許請求の範囲】[Claims]  中央演算処理部に負担をかけずに補助記憶装置から主
メモリにプロセスを転送するダイレクトメモリアクセス
装置を設けると共に、一つの機能プログラムを実行する
為の大きなプログラムを幾つかの独立したプロセスに分
けてそのプロセスのロード情報を記憶し、かつプログラ
ムの先頭ロジック群を持つ先頭プロセスを主メモリ上に
置くと共に、他のプロセスを補助記憶装置に置くプログ
ラム管理システムにおいて、前記プログラムに起動がか
けられると、前記中央演算部による前記主メモリ上に置
かれている先頭プロセスの実行に並行して、前記ダイレ
クトメモリアクセス装置が前記補助記憶装置に置かれて
いるプロセスを前記主メモリ上にロードすることを特徴
とするプログラム実行方式。
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.
JP28253888A 1988-11-10 1988-11-10 Program executing system Pending JPH02129724A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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)