KR100372886B1 - Real time scheduling method by standby process - Google Patents

Real time scheduling method by standby process Download PDF

Info

Publication number
KR100372886B1
KR100372886B1 KR10-1999-0057682A KR19990057682A KR100372886B1 KR 100372886 B1 KR100372886 B1 KR 100372886B1 KR 19990057682 A KR19990057682 A KR 19990057682A KR 100372886 B1 KR100372886 B1 KR 100372886B1
Authority
KR
South Korea
Prior art keywords
waiting process
waiting
user
program
management
Prior art date
Application number
KR10-1999-0057682A
Other languages
Korean (ko)
Other versions
KR20010056292A (en
Inventor
차영준
정부금
임동선
Original Assignee
주식회사 케이티
한국전자통신연구원
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 주식회사 케이티, 한국전자통신연구원 filed Critical 주식회사 케이티
Priority to KR10-1999-0057682A priority Critical patent/KR100372886B1/en
Publication of KR20010056292A publication Critical patent/KR20010056292A/en
Application granted granted Critical
Publication of KR100372886B1 publication Critical patent/KR100372886B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Abstract

본 발명은 다수개의 프로세스가 존재하는 실시간 운영 체제 상에서 사용자 프로세스들의 생성 및 소멸 과정을 대기 프로세스를 통한 처리로 사용자에게 실시간 스케쥴링 방법을 제공하는데 그 목적이 있다.본 발명에 따르면, 운영자로부터 프로그램의 구조에 따라서 원하는 개수의 대기 프로세스 생성 및 관리 시작이 요청되면, 상기 개수의 대기 프로세스를 생성하고, 상기 생성된 대기 프로세스에 관한 정보를 저장하는 대기 프로세스 열을 구성한 뒤, 상기 대기 프로세스 열을 사용자 블록에 연결시키는 제 1 단계; 사용자로부터 프로그램 실행 요청 메시지가 입력되면, 상기 대기 프로세스의 수행을 준비하고, 상기 수행 준비한 대기 프로세스를 실행하는 제 2 단계; 및 상기 제 2 단계 진행 중 상기 사용자로부터 프로그램 종료 요청 메시지가 입력되면, 상기 수행중인 대기 프로세스를 중지하고, 대기 프로세스 열에 삽입하는 제 3단계; 및 상기 대기 프로세스 수행 중 운영자로부터 상기 대기 프로세스의 관리 중단이 요청되면, 상기 대기 프로세스를 소멸시키고, 상기 대기 프로세스에 관한 정보를 저장하는 대기 프로세스 열을 삭제하는 제 4 단계를 포함하여 이루어진 것을 특징으로 하는 실시간 스케쥴링 방법이 제공된다.It is an object of the present invention to provide a real-time scheduling method for a user by processing a process of creating and destroying user processes through a standby process on a real-time operating system in which a plurality of processes exist. According to the present invention, a structure of a program from an operator is provided. According to the request to start the creation and management of the desired number of waiting processes, create the number of waiting processes, configure the waiting process column for storing information about the generated waiting process, and then the waiting process sequence to the user block A first step of connecting; A second step of, when a program execution request message is input from a user, preparing to perform the waiting process and executing the waiting process prepared for execution; And a third step of stopping, if the program termination request message is input from the user while the second step is in progress, and inserting the waiting process in the waiting process row. And a fourth step of extinguishing the waiting process and deleting a waiting process row storing information on the waiting process when an operation stop of management of the waiting process is requested from an operator while performing the waiting process. A real time scheduling method is provided.

Description

대기 프로세스를 통한 실시간 스케쥴링 방법 {Real time scheduling method by standby process}Real time scheduling method by standby process {Real time scheduling method by standby process}

본 발명은 대기 프로세스를 통한 실시간 스케쥴링 방법에 관한 것이며, 특히, 다수개의 프로세스가 존재하는 실시간 운영체제 상에서 사용자 프로세스들의 생성 및 소멸 과정을 대기 프로세스를 통한 처리로 사용자에게 실시간 스케줄링을 제공하는 방법에 관한 것이다.The present invention relates to a real-time scheduling method through a standby process, and more particularly, to a method for providing real-time scheduling to a user by processing through a standby process of creating and destroying user processes on a real-time operating system in which a plurality of processes exist. .

교환기와 같은 시스템에서는 호 처리와 같은 일상적인 운용 중에 프로세스의 생성 및 소멸이 빈번하게 발생하기 때문에 이러한 프로세스의 관리 기능은 전체 시스템의 성능 및 서비스 응답 시간에 큰 영향을 미친다. 이러한 이유로 대다수의 기존의 실시간 운영 체제에서는 프로세서의 생성 및 소멸에 사용하는 운영 체제의 코드를 최소화하기 위하여 노력해 왔다. 이때, 사용되는 기술은 주로 생성 및 소멸시 수행되는 코드를 생략 및 고정화를 통한 직접적으로 최소화하는 단순 성능 개선 작업이었다. 다른 방법으로는 일반적인 프로세스에 비해서 적은 규모의 프로세스(쓰레드)를 사용하여 전체적인 생성 및 소멸의 시간을 단축하려는 기술도 사용되고 있다.In systems such as exchanges, the creation and destruction of processes frequently occurs during routine operations such as call processing, so the management of these processes has a significant impact on the performance and service response time of the entire system. For this reason, many existing real-time operating systems have tried to minimize the code of the operating system used to create and destroy the processor. In this case, the technique used was a simple performance improvement task of directly minimizing the code performed at the time of generation and destruction through omission and fixation. Alternatively, a technique is used to shorten the overall creation and destruction time by using a smaller process (thread) than the general process.

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로서, 실시간 운영체제 상에서 빈번하게 발생하는 프로세스의 생성 및 소멸 시간을 단축하여 실시간 스케줄링이 가능하도록 대기 프로세스 개념을 도입하여, 사용자에게는 기존의 방법과 마찬가지로 투명하고 간단하게 프로세스 제어 인터페이스를 제공하고, 운영체제 내부에서는 기존의 방법에 비해서 매우 적은 코드의 수행으로 프로세스의 생성 및 소멸을 수행하기 위한 방법을 제공하는데 그 목적이 있다.The present invention has been made to solve the problems of the prior art as described above, by introducing the concept of the standby process to enable real-time scheduling by reducing the creation and destruction time of processes frequently occurring on the real-time operating system, the user As with the method, the purpose is to provide a process control interface transparently and simply, and to provide a method for creating and destroying a process with very little code execution in the operating system.

도 1은 본 발명이 적용되는 하드웨어 시스템의 구성도이고,1 is a configuration diagram of a hardware system to which the present invention is applied;

도 2는 본 발명이 적용되는 하드웨어 시스템에서 동작하는 운영 체제(200)의 내부 구성도이고,2 is an internal configuration diagram of an operating system 200 operating in a hardware system to which the present invention is applied.

도 3은 본 발명의 일 실시예에 따른 대기 프로세스를 통한 실시간 스케쥴링 방법을 나타낸 흐름도이고,3 is a flowchart illustrating a real-time scheduling method through a waiting process according to an embodiment of the present invention.

도 4는 도 3에 도시된 대기 프로세스를 통한 실시간 스케쥴링 방법을 보다 더 구체화시킨 흐름도이다.FIG. 4 is a flowchart further embodying a real-time scheduling method through the waiting process illustrated in FIG. 3.

♠ 도면의 주요 부분에 대한 부호의 설명 ♠♠ Explanation of symbols for the main parts of the drawing ♠

100 : 하드웨어 시스템(본 발명의 운영체제가 동작하는 시스템)100: hardware system (system in which the operating system of the present invention operates)

101 : CPU(Central Processing Unit, 중앙 처리 장치)101: CPU (Central Processing Unit)

102 : 메인 메모리(Main Memory)102: main memory

103 : 시리얼 디바이스(Serial Device, 운영 체제의 입출력 용도)103: serial device (for input and output of the operating system)

104 : 이더넷 디바이스(Ethernet Device, 운영 체제의 로딩 및 디버깅 프로토콜에 사용)104: Ethernet device (used for loading and debugging protocols of the operating system)

105 : 스카시(SCSI, Small Computers System Interface) Device (파일 저장 및 로딩)105: SCSI (Small Computers System Interface) Device (save and load files)

106 : 타이머 디바이스(Timer Device, 운영 체제의 시간 관리에 사용)106: timer device (used for time management of the operating system)

200 : 운영 체제(본 발명이 적용되는 운영체제)200: operating system (operating system to which the present invention is applied)

201 : 스카시 서버(SCSI Server, 스카시 디바이스를 제어하는 서버)201: SCSI server (SCSI Server, server controlling the SCSI device)

202 : 시리얼 서버(Serial Server, 시리얼 디바이스를 제어하는 서버)202: serial server (server controlling serial devices)

203 : 이더넷 서버(Ethernet Server, 이더넷 디바이스를 제어하는 서버)203: Ethernet Server (Ethernet Server, Server Controlling Ethernet Device)

204 : 프로세스 관리 (본 발명이 적용되는 모듈)204: process management (module to which the present invention is applied)

205 : 세마포 (프로세스 간 동기화 기능을 위한 모듈)205: semaphore (module for inter-process synchronization)

206 : 메시지 큐 (프로세스 간 통신 기능을 위한 모듈)206: message queue (module for inter-process communication)

207 : 메모리 관리 (MMU(Memory Management Unit)제어를 통하여 사용자마다 독립된 메모리 공간을 제공하는 모듈)207: Memory management (module that provides independent memory space for each user through MMU (Memory Management Unit) control)

208 : CPU 제어 (중앙 처리 장치 제어를 위한 모듈)208: CPU control (module for central processing unit control)

209 : 시간 관리 (타이머 디바이스를 제어하는 서버)209: time management (server controlling the timer device)

앞서 설명한 바와 같은 목적을 달성하기 위한 본 발명에 따르면, 운영자로부터 프로그램의 구조에 따라서 원하는 개수의 대기 프로세스 생성 및 관리 시작이 요청되면, 상기 개수의 대기 프로세스를 생성하고, 상기 생성된 대기 프로세스에 관한 정보를 저장하는 대기 프로세스 열을 구성한 뒤, 상기 대기 프로세스 열을 사용자 블록에 연결시키는 제 1 단계; 사용자로부터 프로그램 실행 요청 메시지가 입력되면, 상기 대기 프로세스의 수행을 준비하고, 상기 수행 준비한 대기 프로세스를 실행하는 제 2 단계; 및 상기 제 2 단계 진행 중 상기 사용자로부터 프로그램 종료 요청 메시지가 입력되면, 상기 수행중인 대기 프로세스를 중지하고, 대기 프로세스 열에 삽입하는 제 3단계; 상기 대기 프로세스 수행 중 운영자로부터 상기 대기 프로세스의 관리 중단이 요청되면, 상기 대기 프로세스를 소멸시키고, 상기 대기 프로세스에 관한 정보를 저장하는 대기 프로세스 열을 삭제하는 제 4 단계를 포함하여 이루어진 것을 특징으로 하는 실시간 스케쥴링 방법이 제공된다.According to the present invention for achieving the object as described above, when the creation and management start of the desired number of waiting processes is requested from the operator according to the structure of the program, the number of waiting processes are generated, and A first step of configuring a waiting process row for storing information, and then connecting the waiting process row to a user block; A second step of, when a program execution request message is input from a user, preparing to perform the waiting process and executing the waiting process prepared for execution; And a third step of stopping, if the program termination request message is input from the user while the second step is in progress, and inserting the waiting process in the waiting process row. And a fourth step of destroying the waiting process and deleting a waiting process row storing information on the waiting process when an operation stop of the waiting process is requested from an operator during the waiting process. A real time scheduling method is provided.

또한, 컴퓨터에, 대기 프로세스의 관리 시작이 입력되면, 대기 프로세스를 수행한 후, 해당 사용자 블록에 속하는 대기 프로세스 열을 구성하는 제 1 단계; 프로세스의 생성 및 소멸 요청 메시지가 입력되면, 상기 제 1 단계에서 구성한 대기 프로세스 열 중 해당 대기열의 상태에 따라서 대기 프로세스의 동작을 제어하는 제 2 단계; 및 대기 프로세스의 관리 중단 메시지가 입력되면, 해당 대기 프로세스들을 소멸시키고, 대기 프로세스 열을 삭제하는 제 3 단계; 상기 대기 프로세스 수행 중 운영자로부터 상기 대기 프로세스의 관리 중단이 요청되면, 상기 대기 프로세스를 소멸시키고, 상기 대기 프로세스에 관한 정보를 저장하는 대기 프로세스 열을 삭제하는 제 4 단계를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.In addition, when the management start of the standby process is input to the computer, a first step of performing a standby process, and then configuring a standby process sequence belonging to the user block; A second step of controlling an operation of a waiting process according to a state of a corresponding queue among waiting queues configured in the first step when a process creation and destruction request message is input; And a third step of erasing the corresponding waiting processes and deleting the waiting process row when a management stop message of the waiting process is input. If a request for interruption of the management of the waiting process is requested by an operator while the waiting process is being performed, a fourth step of destroying the waiting process and deleting the waiting process row storing information about the waiting process may be executed. A computer readable recording medium having recorded thereon a program is provided.

아래에서, 본 발명에 따른 양호한 일 실시예를 첨부한 도면을 참조로 하여상세히 설명하겠다.In the following, with reference to the accompanying drawings, a preferred embodiment according to the present invention will be described in detail.

도 1은 본 발명이 적용되는 하드웨어 시스템의 구성도로서, 본 발명의 프로그램이 수행되는 하드웨어 시스템(100) 내부에는 중앙 처리 장치(101) 및 메인 메모리(102)가 존재하고, 운영 체제의 입출력 용도로 사용되는 시리얼 디바이스(Serial Device, 103), 운영 체제의 로딩 및 디버깅 프로토콜에 사용되는 이더넷 디바이스(Ethernet Device, 104), 사용자 파일의 저장 및 로딩에 사용되는 스카시(SCSI : Small Computers System Interface, 105) 및 실시간 운영 체제의 시간 관리에 사용되는 타이머 디바이스(Timer Device, 106)가 존재한다.1 is a configuration diagram of a hardware system to which the present invention is applied. The CPU 101 and the main memory 102 are present in the hardware system 100 in which the program of the present invention is executed. Serial Device (103), Ethernet Device (104) used for loading and debugging protocols of the operating system, SCSI used for storing and loading user files (SCSI: Small Computers System Interface, 105) ) And a timer device 106 used for time management of a real-time operating system.

도 2는 본 발명이 적용되는 하드웨어 시스템에서 동작하는 운영 체제(200)의 내부 구성도로서, 운영 체제 내부에는 파일 시스템 기능을 제공하는 스카시 서버(201), 입출력을 관리하는 시리얼 서버(202), 외부 통신 기능을 제공하는 이더넷 서버(203), 운영 체제 내의 프로세스를 관리하는 프로세스 관리부(204), 프로세스간 동기화 및 통신을 위한 세마포(205) 및 메시지 큐(207) 등의 기능 블록이 존재한다.2 is an internal configuration diagram of an operating system 200 operating in a hardware system to which the present invention is applied. The operating system 200 includes a SCSI server 201 providing a file system function, a serial server 202 managing input / output, There are functional blocks such as an Ethernet server 203 providing an external communication function, a process manager 204 managing a process in an operating system, a semaphore 205 and a message queue 207 for interprocess synchronization and communication.

또한 실시간 기능을 위한 시간 관리부(209), 하드웨어 의존적인 부분을 제어하는 메모리 관리부(207) 및 CPU 제어부(208) 블록들이 존재한다.There is also a time manager 209 for the real-time function, a memory manager 207 and a CPU controller 208 for controlling hardware dependent parts.

도 3은 본 발명의 일 실시예에 따른 대기 프로세스를 통한 실시간 스케쥴링 방법을 나타낸 흐름도로서, 이를 상세히 설명하면 다음과 같다.3 is a flowchart illustrating a real-time scheduling method through a waiting process according to an embodiment of the present invention.

먼저, 스텝 S301에서, 사용자가 대기 프로세스의 관리를 운영자에게 요청해서 그 요청 값에 따라서 운영 체제는 대기 프로세스를 생성한 후에 해당 사용자 블록에 속하는 대기 프로세스 열을 구성하고, 스텝 S302에서, 이 시점 후에 발생하는 사용자 프로그램의 프로세스 생성 및 소멸은 대기 프로세스의 관리와 연계되어 동작하게 된다. 즉, 사용자로부터 프로세스의 생성 및 소멸을 요청 받아서 해당 대기열의 상태에 따라서 대기 프로세스의 동작을 제어하게 된다. 이어서, 스텝 S303에서, 사용자 프로그램이 프로세서의 제어를 수행하는 동안 반복하게 되고, 사용자의 프로그램이 끝나게 되면, 대기 프로세스의 관리 중단을 입력 받아서 해당 대기프로세스들을 소멸시키고 대기 프로세스 관리를 위한 자료 구조를 초기화하게 된다.First, in step S301, the user requests management of the waiting process and the operating system generates a waiting process according to the request value, and then configures a waiting process row belonging to the corresponding user block, and in step S302, after this point in time Process creation and destruction of the user program that occurs occurs in conjunction with the management of the standby process. That is, upon creation and destruction of a process request from the user, the operation of the waiting process is controlled according to the state of the corresponding queue. Subsequently, in step S303, the user program repeats while performing the control of the processor, and when the user's program ends, it receives the interruption of management of the standby process, destroys the corresponding standby processes, and initializes the data structure for managing the standby process. Done.

도 4는 도 3에 도시된 대기 프로세스를 통한 실시간 스케쥴링 방법을 보다 더 구체화시킨 흐름도로서, 이를 상세히 설명하면 다음과 같다.FIG. 4 is a detailed flowchart illustrating the real-time scheduling method through the waiting process illustrated in FIG. 3, which will be described in detail as follows.

먼저, 스텝 S401에서, 운영체제는 사용자로부터 대기 프로세스 관리의 시작을 요청받으면, 스텝 S402에서, 사용자가 원하는 수 만큼의 대기 프로세스를 생성한다. 이때 원하는 수는 프로그램의 동작 구조와 밀접한 관계가 있다. 예를 들어 특정 사용자 프로그램에서 동시에 살아 있어야 하는 프로세스의 수가 3개 ~ 4개이면, 대기 프로세스의 수를 4로 초기화해서 사용하면 되고, 이러한 경우에는 처음에 만들어진 대기 프로세스가 계속해서 반복 교체되면서 원래 원하던 일을 수행하게 되는 것이다. 즉, 특정 프로그램이 프로세스의 생성 및 소멸을 1000번 정도 수행한다고 가정하고, 동시에 4개 정도의 프로세스가 살아있다고 가정하면, 대기 프로세스 처리 방식으로 운용했을 때, 실제로 4번의 프로세스 생성 및 소멸과 2000번의 프로세스 수행전환이 필요로 하게 된다. 이 값은 1000번의 프로세스 생성과 1000번의 프로세스 소멸에 걸리는 시간에 비하면 매우 작은 값이 된다.First, in step S401, when the operating system is requested to start standby process management from the user, in step S402, as many waiting processes as the user wants are created. At this time, the desired number is closely related to the operation structure of the program. For example, if the number of processes that must be alive at the same time in a particular user program is three to four, you can reset the number of waiting processes to four, in which case the original waiting processes are continuously replaced and replaced. To do the work. In other words, assuming that a particular program executes or destroys a process 1000 times, and assumes that 4 processes are alive at the same time, when operating in the process of waiting process, 4 processes are created and destroyed and 2000 times. You will need to switch process execution. This value is very small compared to the time taken to create 1000 processes and destroy them 1000 times.

이어서, 스텝 S403에서, 대기 프로세스 열을 구성하여 사용자 블록에 연결하여 관리를 시작하고, 스텝 S404에서, 대기 프로세스의 관리를 시작한 이후에 사용자로부터 입력받는 프로그램 실행 및 종료에 대한 처리 명령이 무엇인지를 판단한다.Subsequently, in step S403, a process of forming a waiting process row is connected to the user block to start management, and in step S404, a process instruction for executing and terminating a program received from the user after starting management of the waiting process is described. To judge.

상기 스텝 S404에서의 판단 결과, 프로그램 실행 명령이면, 스텝 S405에서, 프로세스 생성 시 입력을 요구한 사용자 블록의 대기 열을 조사하여, 스텝 S406에서, 앞으로 할당이 가능한 대기 프로세스가 존재하는지 여부를 판단한다.As a result of the determination in step S404, if it is a program execution instruction, in step S405, the queue of the user block that has requested an input at the time of process creation is checked, and in step S406, it is determined whether there is a waiting process that can be allocated in the future. .

상기 스텝 S406에서의 판단 결과, 대기 프로세스가 존재하면, 스텝 S407에서, 대기 프로세스의 수행 준비 과정을 거치고, 스텝 S408에서, 해당 사용자 코드로의 전환을 수행한 후, 상기 스텝 S404로 복귀한다. 이때 사용되는 시간은 프로세스의 생성 시간에 비해서 매우 짧은 시간을 필요로 한다.As a result of the determination in step S406, if there is a waiting process, the process proceeds to the execution process of the waiting process in step S407. In step S408, after switching to the corresponding user code, the process returns to step S404. The time used here is very short compared to the creation time of the process.

상기 스텝 S406에서의 판단 결과, 대기 프로세스가 존재하지 아니하면, 스텝 S409에서, 임의의 프로세스를 생성하여 수행을 준비한 후, 상기 스텝 S408로 진행한다. 이때 기존의 프로세스 관리와 동일한 방법으로 생성 및 실행을 하게 되는 것이다.As a result of the determination in step S406, if no waiting process exists, in step S409, an arbitrary process is generated and ready to be executed, and then the flow advances to step S408. At this time, it is created and executed in the same way as the existing process management.

한편, 상기 스텝 S404에서의 판단 결과, 프로그램 종료 명령이면, 스텝 S410에서, 소멸될 프로세스가 대기 프로세스인지 여부를 판단한다.On the other hand, if the determination result in step S404 is a program termination command, it is determined in step S410 whether the process to be extinguished is a waiting process.

상기 스텝 S410에서의 판단 결과, 소멸될 프로세스가 대기 프로세스가 아니면, 스텝 S411에서, 사용자 블록의 프로세스를 소멸시키고, 스텝 S412로 진행한다.상기 스텝 S410에서의 판단 결과, 소멸될 프로세스가 대기 프로세스이면, 스텝 S412에서, 대기 프로세스의 관리 중단 요청이 있는지를 판단한다.상기 스텝 S412에서의 판단 결과, 대기 프로세스 관리 중단 요청이 없으면, 스텝 S413에서, 대기 프로세스의 동작을 중지시키고 해당 블록의 대기 열에 프로세스를 삽입한 후, 상기 스텝 S404로 복귀한다.As a result of the determination in step S410, if the process to be extinguished is not a waiting process, in step S411, the process of the user block is destroyed and the process proceeds to step S412. If the determination in step S410 indicates that the process to be extinguished is a standby process In step S412, it is determined whether there is a request to stop management of the waiting process. If the determination in step S412 indicates that there is no request for stopping management of the waiting process, in step S413, the operation of the waiting process is stopped and the process is in the queue of the corresponding block. After the insertion, the process returns to the above step S404.

상기 스텝 S412에서의 판단 결과, 대기 프로세스 관리 중단 요청이 있으면, 스텝 S414에서 사용자 블록의 대기 프로세스를 소멸시키고, 스텝 S415에서, 사용자 블록과 연결된 대기 프로세스 열을 삭제한 후, 종료한다.As a result of the determination in step S412, if there is a waiting process management stop request, the waiting process of the user block is extinguished in step S414, and in step S415, the waiting process sequence associated with the user block is deleted and then terminated.

보통의 반복 수행하는 프로그램은 상기 스텝 S401부터 S403은 초기에 한번만 수행하게 되고, 상기 스텝 S404부터 S413 과정을 반복하게 된다. 이러한 이유로 상기 스텝 S404부터 S413 과정에서 수행 시간을 단축하게 되면, 전체적으로 수행 시간을 단축할 수 있게 된다.In the normal repeating program, steps S401 to S403 are executed only once at an initial time, and the steps S404 to S413 are repeated. For this reason, if the execution time is shortened in steps S404 to S413, the execution time can be shortened as a whole.

상기와 같은 본 발명은 컴퓨터로 읽을 수 있는 기록 매체로 기록되고, 컴퓨터에 의해 처리될 수 있다.The present invention as described above is recorded on a computer-readable recording medium, and can be processed by a computer.

앞서 상세히 설명한 바와 같이 본 발명은 프로세서의 생성 및 소멸을 사용자의 요구가 있을 때마다 수행하는 것이 아니라, 사전에 사용자의 프로그램 구조에 맞도록 생성해 놓은 대기 프로세스를 사용하여 프로세스의 생성 및 소멸 과정없이 코드 수행 위치의 변경만으로 프로세스의 생성 및 소멸 과정을 사용자에게 투명하게 제공해 줌으로써, 사용자들은 기존의 프로세스 제어 인터페이스와 동일한 구조를 사용하여 매우 빠른 처리 속도를 기대할 수 있고, 그에 따른 사용자 프로그램의실시간 스케줄링이 가능하여, 보다 효과적인 시스템의 사용이 가능하므로 프로그램 수행 중에 프로세스의 생성 및 소멸이 빈번하게 발생하는 교환기의 호 처리 프로그램과 같은 곳에서 본 발명은 시스템의 성능을 높이고 응답시간을 단축시키는데 그 효과가 크다.As described in detail above, the present invention does not perform the creation and destruction of a processor by using a standby process that has been created in accordance with the program structure of the user in advance, rather than performing the creation and destruction of the processor whenever a user requests. By transparently providing the user with the process of creating and destroying the process simply by changing the code execution location, users can expect very fast processing speed by using the same structure as the existing process control interface. In this case, the present invention has a great effect on improving the performance of the system and reducing the response time in a place such as a call processing program of an exchange, in which a process generation and destruction frequently occur during the execution of a program, since the use of a more effective system is possible. .

또한, 실제로 기존의 프로세스 제어 방법에 비해서 프로세스의 생성 및 소멸과정이 적게 발생하기 때문에 프로세스 관리 시에 사용되는 메모리의 파편화(Fragmentation)를 최소화하는데도 큰 효과가 있다.In addition, since the process of creating and destroying the process is less than that of the existing process control method, it is also effective to minimize the fragmentation of the memory used for process management.

이상에서 본 발명에 대한 기술 사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 가장 양호한 일 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술 분야의 통상의 지식을 가진 자이면 누구나 본 발명의 기술 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.The technical spirit of the present invention has been described above with reference to the accompanying drawings, but this is by way of example only and not by way of limitation to the present invention. In addition, it is obvious that any person skilled in the art may make various modifications and imitations without departing from the scope of the technical idea of the present invention.

Claims (5)

운영자로부터 프로그램의 구조에 따라서 원하는 개수의 대기 프로세스 생성 및 관리 시작이 요청되면, 상기 개수의 대기 프로세스를 생성하고, 상기 생성된 대기 프로세스에 관한 정보를 저장하는 대기 프로세스 열을 구성한 뒤, 상기 대기 프로세스 열을 사용자 블록에 연결시키는 제 1 단계와;When an operator requests creation and management of a desired number of waiting processes according to the structure of a program, an operator creates a waiting process number, configures a waiting process column for storing information about the created waiting process, and then waits for the waiting process. Linking columns to user blocks; 사용자로부터 프로그램 실행 요청 메시지가 입력되면, 상기 대기 프로세스의 수행을 준비하고, 상기 수행 준비한 대기 프로세스를 실행하는 제 2 단계와;A second step of, when a program execution request message is input from a user, preparing to perform the waiting process and executing the waiting process prepared for execution; 상기 제 2 단계 진행 중 상기 사용자로부터 프로그램 종료 요청 메시지가 입력되면, 상기 수행중인 대기 프로세스를 중지하고, 대기 프로세스 열에 삽입하는 제 3단계와;A third step of stopping, if the program termination request message is input from the user while the second step is in progress, and inserting the program into a waiting process row; 상기 대기 프로세스 수행 중 운영자로부터 상기 대기 프로세스의 관리 중단이 요청되면, 상기 대기 프로세스를 소멸시키고, 상기 대기 프로세스에 관한 정보를 저장하는 대기 프로세스 열을 삭제하는 제 4 단계를 포함하여 이루어진 것을 특징으로 하는 실시간 스케쥴링 방법.And a fourth step of destroying the waiting process and deleting a waiting process row storing information on the waiting process when an operation stop of the waiting process is requested from an operator during the waiting process. Real time scheduling method. 제 1 항에 있어서,The method of claim 1, 상기 제 2 단계는,The second step, 상기 사용자 블록의 대기 프로세스 열의 상태를 조사하여 할당 가능한 대기 프로세스가 존재하면 상기 대기 프로세스의 수행을 준비하고, 할당 가능한 대기 프로세스가 존재하지 않으면 새로운 프로세스를 생성하여 수행을 준비하는 것을 특징으로 하는 실시간 스케쥴링 방법.Real-time scheduling by examining the state of the waiting process row of the user block and preparing to perform the waiting process if there is an assignable waiting process, and creating a new process if the assignable waiting process does not exist. Way. 제 1 항에 있어서,The method of claim 1, 상기 제 3 단계는,The third step, 소멸할 프로세스가 대기 프로세스인 지를 판단하여 대기 프로세스이면 상기 수행중인 대기 프로세스를 중지하고 대기 프로세스 열에 삽입하고, 대기 프로세스가 아니면 해당 프로세스를 소멸시키는 것을 특징으로 하는 실시간 스케쥴링 방법.Determining whether the process to be destroyed is a waiting process, if the waiting process is stopped, inserting the running waiting process into the waiting process row, and if not, the corresponding process is destroyed. 삭제delete 컴퓨터에,On your computer, 운영자로부터 프로그램의 구조에 따라서 원하는 개수의 대기 프로세스 생성 및 관리 시작이 요청되면, 상기 개수의 대기 프로세스를 생성하고, 상기 생성된 대기 프로세스에 관한 정보를 저장하는 대기 프로세스 열을 구성한 뒤, 상기 대기 프로세스 열을 사용자 블록에 연결시키는 제 1 단계와;When an operator requests creation and management of a desired number of waiting processes according to the structure of a program, an operator creates a waiting process number, configures a waiting process column for storing information about the created waiting process, and then waits for the waiting process. Linking columns to user blocks; 사용자로부터 프로그램 실행 요청 메시지가 입력되면, 상기 대기 프로세스의 수행을 준비하고, 상기 수행 준비한 대기 프로세스를 실행하는 제 2 단계와;A second step of, when a program execution request message is input from a user, preparing to perform the waiting process and executing the waiting process prepared for execution; 상기 제 2 단계 진행 중 상기 사용자로부터 프로그램 종료 요청 메시지가 입력되면, 상기 수행중인 대기 프로세스를 중지하고, 대기 프로세스 열에 삽입하는 제 3단계와;A third step of stopping, if the program termination request message is input from the user while the second step is in progress, and inserting the program into a waiting process row; 상기 대기 프로세스 수행 중 운영자로부터 상기 대기 프로세스의 관리 중단이 요청되면, 상기 대기 프로세스를 소멸시키고, 상기 대기 프로세스에 관한 정보를 저장하는 대기 프로세스 열을 삭제하는 제 4 단계를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.If a request for interruption of the management of the waiting process is requested by an operator while the waiting process is being performed, a fourth step of destroying the waiting process and deleting the waiting process row storing information about the waiting process may be executed. A computer-readable recording medium that records a program.
KR10-1999-0057682A 1999-12-14 1999-12-14 Real time scheduling method by standby process KR100372886B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0057682A KR100372886B1 (en) 1999-12-14 1999-12-14 Real time scheduling method by standby process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0057682A KR100372886B1 (en) 1999-12-14 1999-12-14 Real time scheduling method by standby process

Publications (2)

Publication Number Publication Date
KR20010056292A KR20010056292A (en) 2001-07-04
KR100372886B1 true KR100372886B1 (en) 2003-02-20

Family

ID=19625847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0057682A KR100372886B1 (en) 1999-12-14 1999-12-14 Real time scheduling method by standby process

Country Status (1)

Country Link
KR (1) KR100372886B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160091626A (en) 2015-01-26 2016-08-03 한국전자통신연구원 Method and apparatus for controlling life-cycle of process for network operating system

Also Published As

Publication number Publication date
KR20010056292A (en) 2001-07-04

Similar Documents

Publication Publication Date Title
JP3659062B2 (en) Computer system
US4787026A (en) Method to manage coprocessor in a virtual memory virtual machine data processing system
US5029077A (en) System and method for controlling physical resources allocated to a virtual terminal
EP0658843A1 (en) Method for hibernation file creation
JP4056491B2 (en) Selective generation of asynchronous notifications for partition management operations on logically partitioned computers
JPH0754471B2 (en) Data processing device
JP2003308213A (en) Method and apparatus for job processing and storage management system
EP3499373A1 (en) Method and apparatus for processing process
KR100372886B1 (en) Real time scheduling method by standby process
US20230393782A1 (en) Io request pipeline processing device, method and system, and storage medium
US10216663B2 (en) System and method for autonomous time-based debugging
JPH07225694A (en) Virtual computer system
KR950004216B1 (en) Focus shifting method between user applications and system therefor
EP2256631A2 (en) Task management device, method and program therefor
JP2866588B2 (en) System and method for transferring control between processing processes
JPH04346136A (en) Virtual instruction processor structure control method
US6934770B1 (en) Method for aborting data transfer commands
JP2004159320A (en) Data queue control
JPH10240632A (en) On-line exchange method for external storage device
JPH11345134A (en) Operating system
JPH113231A (en) Software processing method
CN115934000A (en) Timing method and related device of storage system
CN116244038A (en) Virtual machine eBPF program management method, system, terminal and storage medium
JPH07168794A (en) Job managing method for computer system
JPH0991237A (en) Resource management device for peripheral equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee