KR100309997B1 - 멀티태스킹 환경에서의 인터태스크 통신 방법 - Google Patents

멀티태스킹 환경에서의 인터태스크 통신 방법 Download PDF

Info

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
Application number
KR1019990043747A
Other languages
English (en)
Other versions
KR20010036642A (ko
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 KR1019990043747A priority Critical patent/KR100309997B1/ko
Publication of KR20010036642A publication Critical patent/KR20010036642A/ko
Application granted granted Critical
Publication of KR100309997B1 publication Critical patent/KR100309997B1/ko

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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. 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/54Interprogram communication
    • G06F9/542Event 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

멀티태스킹 환경에서의 인터태스크 통신 방법{Inter-task Communication Method under Multitasking Environment}
본 발명은 멀티태스킹 환경에서의 인터태스크 통신 방법에 관한 것으로, 더욱 상세하게는 멀티태스킹 환경 하에서 인터태스킹 통신을 수행할 시, 시스템의 안정화 및 디버깅에 필요한 정보를 상호 주고받을 수 있도록 한 멀티태스킹 환경에서의 인터태스크 통신 방법에 관한 것이다.
제품이 점점 복잡해지고 마이크로 프로세서의 기술이 발전하면서 많은 산업용 시스템에 마이크로 프로세서를 장착하여 사용하고 있다. 이에 따라 마이크로 프로세서를 보다 잘 이용하기 위해 운영 체계(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. 멀티태스킹 환경에서 송신 태스크로부터 수신 태스크로 메시지를 전달하기 위한 인터태스크 통신을 요청하는 단계와;
    상기 인터태스크 통신이 요청됨에 따라 메시지를 보내는 송신 태스크 식별자, 메시지를 받은 수신 태스크 식별자, 메시지를 전달하는 메시지 송신 시간, 전달하고자 하는 메시지의 포인터을 포함하여 구조체화한 메시지 내용을 상기 송신 태스크로부터 상기 수신 태스크로 전달하는 단계; 및
    상기 송신 태스크로부터 상기 수신 태스크에 전달된 메시지 내용을 파악하여 송신 태스크 식별자, 수신 태스크 식별자, 메시지 전송 시간 및 메시지 포인터를 확인하는 단계를 포함하는 것을 특징으로 하는 멀티태스킹 환경에서의 인터태스크 통신 방법.
  2. 제 1 항에 있어서, 상기 메시지 내용은,
    메시지를 전달한 함수형, 추가되는 메시지를 위한 영역을 더 포함하는 것을 특징으로 하는 멀티태스킹 환경에서의 인터태스크 통신 방법.
KR1019990043747A 1999-10-11 1999-10-11 멀티태스킹 환경에서의 인터태스크 통신 방법 KR100309997B1 (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106851014B (zh) * 2017-03-10 2020-06-30 Oppo广东移动通信有限公司 调整广播消息队列的方法、装置及终端

Citations (4)

* Cited by examiner, † Cited by third party
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 배순훈 분산 처리 시스템에서의 작업 제어 장치 및 그 방법

Patent Citations (4)

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