KR100309997B1 - 멀티태스킹 환경에서의 인터태스크 통신 방법 - Google Patents
멀티태스킹 환경에서의 인터태스크 통신 방법 Download PDFInfo
- Publication number
- KR100309997B1 KR100309997B1 KR1019990043747A KR19990043747A KR100309997B1 KR 100309997 B1 KR100309997 B1 KR 100309997B1 KR 1019990043747 A KR1019990043747 A KR 1019990043747A KR 19990043747 A KR19990043747 A KR 19990043747A KR 100309997 B1 KR100309997 B1 KR 100309997B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- task
- intertask communication
- present
- multitasking environment
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 230000006641 stabilisation Effects 0.000 abstract description 5
- 238000011105 stabilization Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 인터태스크 통신이 요청됨에 따라 메시지를 보내는 송신 태스크 식별자, 메시지를 받은 수신 태스크 식별자, 메시지를 전달하는 메시지 송신 시간, 전달하고자 하는 메시지의 포인터, 메시지를 전달한 함수형, 추가되는 메시지를 위한 영역을 채워서 구조체화한 메시지 내용을 상기 송신 태스크로부터 상기 수신 태스크로 전달하는 멀티태스킹 환경에서의 인터태스크 통신 방법에 관한 것이다.
본 발명에 따르면, 인터태스크 통신을 수행할 시, 시스템의 안정화 및 디버깅에 필요한 정보를 상호 주고받을 수 있는 이점이 있다.
Description
본 발명은 멀티태스킹 환경에서의 인터태스크 통신 방법에 관한 것으로, 더욱 상세하게는 멀티태스킹 환경 하에서 인터태스킹 통신을 수행할 시, 시스템의 안정화 및 디버깅에 필요한 정보를 상호 주고받을 수 있도록 한 멀티태스킹 환경에서의 인터태스크 통신 방법에 관한 것이다.
제품이 점점 복잡해지고 마이크로 프로세서의 기술이 발전하면서 많은 산업용 시스템에 마이크로 프로세서를 장착하여 사용하고 있다. 이에 따라 마이크로 프로세서를 보다 잘 이용하기 위해 운영 체계(OS; Operating System)를 장착하여 프로그램을 개발하고 있다. 이러한 용도의 운영 체계는 통상 실시간 운영 체계(RTOS; Real-Time Operating System)와 같은 작은 운영 체계를 사용하는 것이 일반적이다. RTOS는 멀티태스킹(multitasking)을 지원하고 있으며, 태스크 간의 메시지를 전달하기 위해 웨이팅 큐(waiting queue) 등을 이용한 인터태스크 통신 방법을 제공한다. 이를 기본적으로 사용할 수도 있으나 인터태스크 데이터를 잘 설계하여 사용함으로써 통신 에러를 줄일 수도 있으며 디버깅(debugging)에도 용이하게 사용할 수 있다.
종래의 인터태스크 통신은 태스크간 통신을 수행할 시에 필요한 데이터만 주고받는다. 이는 일반적인 방법으로 단순한 데이터 전달 외에는 다른 목적이 없다.가령, 태스크 A에서 태스크 B로 데이터, 데이터의 포인터 등의 간단한 자료만 전달한다. 이때, 태스크 B는 데이터가 전달되었다는 것 외에는 아무 것도 알 수 없을 뿐만 아니라 누가 전달했는지 언제 전달한 것인지 그리고 태스크 B 자신이 받아도 되는 것인지에 대한 정보가 배제되어 있다.
종래의 태스크간 통신 방법은, 가령, 인터태스크 통신 방법을 잘 정의할 경우, 에러 감소를 위한 정보나 디버깅 정보 등을 실어보낼 수 있음에도 불구하고 이러한 정보의 전송을 누락시킨 것으로, 이는 자원의 이용률 측면에서 볼 때, 매우 비효율적인 문제를 내재하고 있는 것이다.
따라서, 본 발명은 이와 같은 문제를 해결하기 위해 안출된 것으로, 인터태스크 통신 시에 메시지에 필요한 데이터를 포함하도록 정의하여 필요한 정보를 상대 태스크에 전달함으로써 시스템의 안정화 및 디버깅에 필요한 정보를 상호 주고받을 수 있도록 메시지 내용을 구성한 멀티태스킹 환경에서의 인터태스크 통신 방법을 제공함에 그 목적이 있다.
도 1은 본 발명에 따른 멀티태스킹 환경에서의 인터태스크 통신 방법의 바람직한 실시예를 나타낸 흐름도,
도 2는 본 발명에 따른 멀티태스킹 환경에서의 인터태스크 통신 방법의 바람직한 실시예를 설명하기 위한 예시도이다.
이와 같은 목적을 달성하기 위해 본 발명에 따른 멀티태스킹 환경에서의 인터태스크 통신 방법은, 인터태스크 통신이 요청됨에 따라 메시지를 보내는 송신 태스크 식별자, 메시지를 받은 수신 태스크 식별자, 메시지를 전달하는 메시지 송신시간, 전달하고자 하는 메시지의 포인터, 메시지를 전달한 함수형, 추가되는 메시지를 위한 영역을 채워서 구조체화한 메시지 내용을 상기 수신 태스크에 전달함으로써 시스템의 안정화 및 디버깅에 필요한 정보를 상호 주고받을 수 있도록 한 것이 특징이다.
이하, 본 발명에 따른 멀티태스킹 환경에서의 인터태스크 통신 방법의 바람직한 실시예를 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 1은 본 발명에 따른 멀티태스킹 환경에서의 인터태스크 통신 방법의 바람직한 실시예를 나타낸 흐름도이다.
본 발명에 따른 멀티태스킹 환경에서의 인터태스크 통신 방법의 바람직한 실시예는 도 1에 도시한 바와 같이, 멀티태스킹 환경 하에서 송신 태스크로부터 수신 태스크로 메시지를 전달하기 위한 인터태스크 통신을 요청하는 단계(S10)와;
상기 인터태스크 통신이 요청됨에 따라 메시지를 보내는 송신 태스크 식별자(Source_Tid), 메시지를 받은 수신 태스크 식별자(Destination_Tid), 메시지를 전달하는 메시지 송신 시간(Time), 전달하고자 하는 메시지의 포인터(*message), 메시지를 전달한 함수형(FuncType), 추가되는 메시지를 위한 영역(Misc)을 채워서 구조체화한 메시지 내용을 상기 송신 태스크로부터 상기 수신 태스크로 전달하는 단계(S20); 및
상기 송신 태스크로부터 상기 수신 태스크에 전달된 메시지 내용을 파악하여 송신 태스크 식별자, 수신 태스크 식별자, 메시지 전송 시간, 메시지 포인터, 메시지를 보낸 함수를 확인하는 단계(S30)를 수행하도록 구성된다.
이와 같이 구성된 본 발명에 따른 멀티태스킹 환경에서의 인터태스크 통신 방법의 바람직한 실시예의 수행 절차를 첨부한 도면을 참조하여 상세하게 설명하기로 한다.
우선, 단계(S10)에서 멀티태스킹 환경에서 송신 태스크로부터 수신 태스크로 메시지를 전달하기 위한 인터태스크 통신을 요청한다.
상기 인터태스크 통신이 요청됨에 따라 단계(S20)에서는 상기 송신 태스크는 메시지를 보내는 송신 태스크 식별자(Source_Tid), 메시지를 받은 수신 태스크 식별자(Destination_Tid), 메시지를 전달하는 메시지 송신 시간(Time), 전달하고자 하는 메시지의 포인터(*message), 메시지를 전달한 함수형(FuncType), 추가되는 메시지를 위한 영역(Misc)을 채워서 구조체화한 메시지 내용을 상기 수신 태스크에 전달한다.
사용되는 운영 체계의 종류에 따라 인터태스크 통신하는 프리미티브(primitive)가 다르기 때문에 한 가지 API(Application Program Interface)로 정의하여 사용할 수 없으나 다음에 나타낸 구조체와 같은 구성을 갖도록 변경하여 인터태스크 통신에 사용한다.
struct message_struct{
ID_TYPE Source_Tid; //message를 보내는 태스크 id
ID_TYPE Destination_Tid; //message를 수신하는 태스크 id
TIME_TYPE Time; //message를 전달하는 시간
MESSAGE *message; //전달하고자 하는 message의 포인터
FUNC_TYPE FuncType; //message를 전달하는 함수형
MISC Misc; //추가되는 message를 위한 영역
};
이후, 단계(S30)에서는 상기 송신 태스크로부터 상기 수신 태스크에 전달된 메시지 내용을 파악하여 송신 태스크 식별자, 수신 태스크 식별자, 메시지 전송 시간, 메시지 포인터, 메시지를 보낸 함수를 확인한다.
도 2는 본 발명에 따른 멀티태스킹 환경에서의 인터태스크 통신 방법의 바람직한 실시예를 설명하기 위한 예시도이다.
도 2를 참조할 때, 태스크 A에서 태스크 B로 메시지 전달 시, message_struct에 있는 내용을 채워 보낼 경우 태스크 B에서는 메시지(message)만으로 모든 정보를 확인할 수 있다. 즉, 태스크 B에서는 메시지 내용으로 메시지 보낸 태스크의 ID, 수신자 태스크 ID, 메시지 송신 시간, 메시지를 보낸 함수 등을 알 수 있다.
멀티태스크 시스템에서 태스크는 독립적으로 실행되므로 태스크간의 통신을 위해서는 인터태스크 통신은 매우 중요한 부분이다. 이를 통해 대부분의 데이터 교환이 이루어지도록 되어 있으므로 이 부분에 대한 설계가 시스템 전체의 안정성에 많은 영향을 미치게 된다. 데이터가 잘못 전달되거나 실시간 시스템이므로 데이터 전달 시간이 지난 경우는 시스템에게 치명적인 오류를 발생시킬 수 있기 때문에 그에 대한 확인 작업이 필요하다. 따라서, 인터태스크 통신 시 전달되는 데이터 구조를 어떻게 정의하느냐가 시스템의 안정성에도 지대한 영향을 미치게 되는 것이다. 본 발명에 따르면, 인터태스크 통신을 실시할 경우, 프로그램이 수행되는 과정(run-time)중에도 메시지의 유효성 검증 및 에러의 검출을 수행할 수 있어 시스템의 안정화에 큰 도움을 줄 수 있다.
본원에서 사용되는 용어(terminology)들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로써 이는 당분야에 종사하는 기술자의 의도 또는 관례 등에 따라 달라질 수 있으므로 그 정의는 본원의 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 본원에서는 본 발명의 바람직한 실시예를 통해 본 발명을 설명했으므로 본 발명의 기술적인 난이도 측면을 고려할 때, 당분야에 통상적인 기술을 가진 사람이면 용이하게 본 발명에 대한 또 다른 실시예와 다른 변형을 가할 수 있으므로, 상술한 설명에서 사상을 인용한 실시예와 변형은 모두 본 발명의 청구 범위에 모두 귀속됨은 명백하다.
이상에서 상세하게 설명한 바와 같이, 인터태스크 통신이 요청됨에 따라 메시지를 보내는 송신 태스크 식별자, 메시지를 받은 수신 태스크 식별자, 메시지를 전달하는 메시지 송신 시간, 전달하고자 하는 메시지의 포인터, 메시지를 전달한함수형, 추가되는 메시지를 위한 영역을 채워서 구조체화한 메시지 내용을 상기 송신 태스크로부터 상기 수신 태스크로 전달하는 본 발명에 따르면, 인터태스크 통신을 수행할 시, 시스템의 안정화 및 디버깅에 필요한 정보를 상호 주고받을 수 있는 이점이 있다.
Claims (2)
- 멀티태스킹 환경에서 송신 태스크로부터 수신 태스크로 메시지를 전달하기 위한 인터태스크 통신을 요청하는 단계와;상기 인터태스크 통신이 요청됨에 따라 메시지를 보내는 송신 태스크 식별자, 메시지를 받은 수신 태스크 식별자, 메시지를 전달하는 메시지 송신 시간, 전달하고자 하는 메시지의 포인터을 포함하여 구조체화한 메시지 내용을 상기 송신 태스크로부터 상기 수신 태스크로 전달하는 단계; 및상기 송신 태스크로부터 상기 수신 태스크에 전달된 메시지 내용을 파악하여 송신 태스크 식별자, 수신 태스크 식별자, 메시지 전송 시간 및 메시지 포인터를 확인하는 단계를 포함하는 것을 특징으로 하는 멀티태스킹 환경에서의 인터태스크 통신 방법.
- 제 1 항에 있어서, 상기 메시지 내용은,메시지를 전달한 함수형, 추가되는 메시지를 위한 영역을 더 포함하는 것을 특징으로 하는 멀티태스킹 환경에서의 인터태스크 통신 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990043747A KR100309997B1 (ko) | 1999-10-11 | 1999-10-11 | 멀티태스킹 환경에서의 인터태스크 통신 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990043747A KR100309997B1 (ko) | 1999-10-11 | 1999-10-11 | 멀티태스킹 환경에서의 인터태스크 통신 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010036642A KR20010036642A (ko) | 2001-05-07 |
KR100309997B1 true KR100309997B1 (ko) | 2001-09-29 |
Family
ID=19614734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990043747A KR100309997B1 (ko) | 1999-10-11 | 1999-10-11 | 멀티태스킹 환경에서의 인터태스크 통신 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100309997B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851014B (zh) * | 2017-03-10 | 2020-06-30 | Oppo广东移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695896A (ja) * | 1992-09-11 | 1994-04-08 | Hitachi Ltd | タスク処理システムおよびタスク間通信制御方法 |
JPH06139081A (ja) * | 1992-10-30 | 1994-05-20 | Fujitsu Ltd | 状態変化通知制御方式 |
JPH08161186A (ja) * | 1994-12-09 | 1996-06-21 | Nec Corp | タスク間通信方式 |
KR19980037089A (ko) * | 1996-11-20 | 1998-08-05 | 배순훈 | 분산 처리 시스템에서의 작업 제어 장치 및 그 방법 |
-
1999
- 1999-10-11 KR KR1019990043747A patent/KR100309997B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695896A (ja) * | 1992-09-11 | 1994-04-08 | Hitachi Ltd | タスク処理システムおよびタスク間通信制御方法 |
JPH06139081A (ja) * | 1992-10-30 | 1994-05-20 | Fujitsu Ltd | 状態変化通知制御方式 |
JPH08161186A (ja) * | 1994-12-09 | 1996-06-21 | Nec Corp | タスク間通信方式 |
KR19980037089A (ko) * | 1996-11-20 | 1998-08-05 | 배순훈 | 분산 처리 시스템에서의 작업 제어 장치 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20010036642A (ko) | 2001-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7581232B2 (en) | Coordinating reference counting between entities executing within separate address spaces | |
US6487607B1 (en) | Methods and apparatus for remote method invocation | |
US6272559B1 (en) | Deferred reconstruction of objects and remote loading for event notification in a distributed system | |
EP1993260B1 (en) | Shortcut in reliable communication | |
US6951021B1 (en) | System and method for server-side communication support in a distributed computing environment | |
US6983285B2 (en) | Apparatus and method for dynamically verifying information in a distributed system | |
US6629128B1 (en) | System and method for distributed processing in a computer network | |
US8316080B2 (en) | Internationalization of a message service infrastructure | |
US20020199036A1 (en) | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system | |
US20060256797A1 (en) | Cancellation mechanism for cooperative systems | |
US20040015979A1 (en) | System and method for efficiently exchanging data among processes | |
US10303529B2 (en) | Protocol for communication of data structures | |
US20080320146A1 (en) | Establishing interaction between a process and a server process | |
CN113778714B (zh) | 一种Linux兼容Android的共享剪切板方法及装置 | |
US20020124118A1 (en) | Method and system for passing objects in a distributed system using serializatin contexts | |
KR100309997B1 (ko) | 멀티태스킹 환경에서의 인터태스크 통신 방법 | |
US20020198895A1 (en) | Apparatus and method for dynamically verifying information in a distributed system | |
CN104572315A (zh) | 实现子系统间通信的方法、通信实体及分布式通信系统 | |
Huang | Android IPC mechanism | |
US20030208605A1 (en) | System and method of communication between java components in different namespaces | |
JP2002505478A (ja) | 分散形システムにおけるイベント通知のためのオブジェクトの据置き復元及び遠隔ローディング | |
EP1242900B1 (en) | Inter process communication in a distributed processing system | |
KR100662016B1 (ko) | Jxta-c 프레임 워크 구동 시스템 및 jxta 메시지송수신방법 | |
Aigner | Communication in Microkernel-Based Operating Systems | |
CN116361024A (zh) | 一种兼容windows和linux系统的进程间通信方法及接口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080708 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |