KR19990053528A - 실시간 시스템의 다수 자원 공유 방법 - Google Patents

실시간 시스템의 다수 자원 공유 방법 Download PDF

Info

Publication number
KR19990053528A
KR19990053528A KR1019970073173A KR19970073173A KR19990053528A KR 19990053528 A KR19990053528 A KR 19990053528A KR 1019970073173 A KR1019970073173 A KR 1019970073173A KR 19970073173 A KR19970073173 A KR 19970073173A KR 19990053528 A KR19990053528 A KR 19990053528A
Authority
KR
South Korea
Prior art keywords
task
tasks
resources
resource
sharing
Prior art date
Application number
KR1019970073173A
Other languages
English (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 KR1019970073173A priority Critical patent/KR19990053528A/ko
Publication of KR19990053528A publication Critical patent/KR19990053528A/ko

Links

Abstract

본 발명은 실시간 시스템의 다수 자원 공유 방법에 관한 것으로, 다수개의 자원에 접속할 수 있는 중개 태스크를 생성하고, 중개 태스크와 다수개의 태스크 사이에 요구 큐와 응답 큐를 생성하여, 각 태스크가 공유하고자 하는 자원과 공유 순서만을 정하여 요구 큐를 통하여 자원 접속 요구를 하면, 중개 태스크가 다수의 세마포를 이용하여 자원 접속을 수행한다.
따라서, 종래에 다수개의 태스크가 다수개의 자원을 공유시 각 태스크가 다수개의 세마포를 이용하여 교착상태가 발생했던 것과 달리, 본 발명은 중개 태스크를 이용하여 표면상으로는 한 개의 태스크가 복수개의 태스크를 접속하는 것처럼 함으로써, 교착 상태의 발생 가능성을 제거하여 자원 공유의 안정성을 보장받을 수 있는 효과가 있다.

Description

실시간 시스템의 다수 자원 공유 방법(Method of sharing a multiple resources with no deadlock in a realtime system)
본 발명은 실시간 시스템의 자원 공유에 관한 것으로, 특히 다수개의 자원을 복수 세마포를 이용하여 다수개의 태스크가 공유할 경우 발생하는 교착상태를 제거하기 위한 실시간 시스템의 다수 자원 공유 방법에 관한 것이다.
최근의 컴퓨터 시스템은 하드웨어 및 데이터 처리기술, 기억매체 기술의 발전으로 고기능 입출력이 가능해지고, 사용자들의 요구도 파일이나 문자정보의 전송에서 음성 및 화상의 지원까지 다양해졌다.
이러한 다양한 사용자의 요구를 충족시키기 위한 멀티미디어 서비스를 위해서는 기존의 시스템에서 문자정보 뿐만아니라 음성, 정지화상, 동화상과 같은 다양한 종류의 정보를 처리하여야 한다. 이러한 멀티미디어 정보들은 문자정보보다 대용량이고, 시간적인 연속성 및 각 미디어별 특성을 가지게 된다. 따라서 멀티미디어 서비스에서는 이러한 특성을 만족시킬 수 있는 처리 메카니즘이 필요하다. 즉, 시간적 연속성에 의한 실시간 요구를 만족시키기 위하여 운영체제에서 스케줄러를 재설계하는 것이 요구된다.
이와 같은 시간적 연속성에 의한 실시간 시스템은 멀티태스킹과 태스크간 통신기법에 중점을 두고 있는데, 멀티태스킹은 서로 독립적이면서 조화를 이루는 태스크들의 집합으로 구성되고, 태스크간 통신에서는 태스크들이 서로 동기를 이루며 동작을 조화시키기 위하여 통신을 수행한다.
멀티태스킹 시스템에서 태스크들의 자원 공유시, 자원을 공유하기 위하여 대기하고 있는 태스크들에게 CPU를 할당시키기 위한 스케줄링 알고리즘이 요구되는데, 일반적으로 선점 우선순위(Preemptive Priority) 또는 라운드 로빈(Round-Robin) 방식이 사용된다.
상기 선점 우선순위(Preemptive Priority) 방식에서 각각의 태스크들은 우선순위를 가지고, CPU는 우선순위가 가장 높은 태스크에 할당된다. 예컨대, 현재 실행중인 태스크(T1이라 한다)보다 높은 우선순위를 가진 태스크(T2라 한다)가 동작을 수행하고자 할 경우, 선점(Preemption)에 의하여 상기 태스크 T1의 실행이 중지되고 상기 태스크 T2가 동작을 수행하게 된다. 상기 태스크 T1은 상기 태스크 T2의 실행이 끝나면 실행을 계속할 수 있다.
상기 라운드 로빈(Round-Robin) 방식은 같은 우선순위를 가지는 태스크들이 공평하게 자원을 공유하는 방식으로서, 각 태스크들은 차례대로 타임 슬라이스(time-slice)라는 단위 시간만큼 동작을 수행한다. 이때, 다른 태스크들보다 높은 우선순위를 가진 태스크는 선점(Preemption)에 의하여 다른 태스크의 동작을 중지시키고 자신의 동작을 수행하며, 높은 우선순위를 가진 태스크의 수행이 끝나면 동작이 중지되었던 시점부터 다시 동작이 개시된다.
상기 우선순위와 라운드 로빈 이외에, 우선순위와 관계없이 세마포(Semaphore)를 이용하여 하나의 태스크가 자원을 독점하는 방식도 있다. 상기 세마포란 병렬로 동작하는 둘 이상의 프로세스간에서 공용의 기억장소에 연락하기 위한 신호를 세트하여 의미있는 사상이 일어난 것을 상대에게 통지하여 동기를 취하는 방식이다.
한편, 다수개의 자원을 다수개의 태스크가 억세스하기 위한 방법으로는 다수개의 세마포를 이용하는 방법이 있는데, 이때 교착상태(deadlock)가 발생하는 문제점이 있다.
도 1은 다수개의 자원을 다수개의 태스크가 공유할 경우 교착상태가 발생한 것을 보여주는 도면으로서, 도 1에 도시된 바와 같이 두 개의 태스크간 자원 공유를 예로 들면, 먼저 제1 태스크가 시간 t1에 제1 세마포 Id1을 잡아서(take) 자원1에 접속하고 제2 태스크는 시간 t2에 제2 세마포 Id2를 잡아서 자원2에 접속한다. 이어서, 시간 t3에 제2 태스크가 제1 세마포 Id1을 잡으려 하지만 상기 제1 태스크가 제1 세마포를 잡고 있으므로 제2 태스크는 블로킹(blocking)된다. 또한, 시간 t4에 제1 태스크가 제2 세마포 Id2를 잡으려 하지만 상기 제2 태스크가 제2 세마포를 잡고 있으므로 제1 태스크도 블로킹된다.
이와 같이, 다수의 자원을 다수개의 세마포를 이용하여 다수의 태스크가 공유하려고 할 경우, 서로의 태스크를 블로킹하여 무한히 교착상태에 머무르게 되는 문제점이 있었다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 다수개의 자원을 다수개의 태스크가 공유시 복수의 세마포에 의한 교착상태를 제거하도록 된 실시간 시스템의 다수 자원 공유 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 방법은, 실시간 시스템의 멀티태스킹 환경에서 자원의 공유를 위한 방법에 있어서, 다수개의 자원을 다수개의 태스크가 공유시, 다수개의 태스크들과 다수개의 자원 사이에 하나의 중개 태스크와 메시지 큐를 두고, 각 태스크가 요구 큐를 통하여 자원 접속 요구를 하면 상기 중개 태스크가 복수의 세마포를 이용하여 자원에 접속한 뒤 그 결과를 응답 큐를 통하여 전달하는 것을 특징으로 한다.
도 1은 다수개의 자원을 다수개의 태스크가 공유할 경우 교착상태가 발생한 것을 보여주는 도면,
도 2는 본 발명에 따른 다수 자원 공유 방법을 구현하기 위한 구성도이다.
*도면의 주요부분에 대한 부호의 설명
21,22 : 자원 23 : 중개 태스크
24 : 요구 큐 25,26 : 응답 큐
27,28 : 태스크
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예에 대하여 자세히 살펴보기로 한다.
도 2는 본 발명에 따른 실시간 시스템의 다수 자원 공유 방법을 구현하기 위한 구성도로서, 여기서는 두 개의 태스크가 두 개의 자원을 공유하는 것을 일실시예로 들기로 한다.
도 2에 도시된 바와 같이, 본 발명을 구현하기 위한 구성은 다수개의 자원(21,22)과 중개 태스크(23), 요구 큐(24), 응답 큐(25,26), 및 다수개의 태스크(27,28)로 이루어진다.
상기 중개 태스크(23)는 각각의 태스크(27,28)로부터 요구 메시지를 받기 위하여 상기 요구 메시지 큐(24)를 만들고, 상기 제1 및 제2 태스크(27,28)는 각각 상기 중개 태스크(23)로부터 응답 메시지를 받기 위하여 상기 응답 메시지 큐(25,26)를 만든다.
이와 같이, 각각의 태스크들에 대한 메시지 큐를 생성한 후에, 상기 제1 및 제2 태스크(27,28)는 상기 요구 큐(24)로 공유할 자원의 접속 요구 정보를 전달한다. 상기 요구 메시지에는 태스크의 응답 메시지 큐에 대한 식별자가 포함되어 있어, 중개 태스크(23)는 상기 요구 큐 (24)에 저장된 요구 메시지를 읽어와 제1 자원(21) 또는 제2 자원(22)의 접속을 대신 수행한 뒤, 그 결과인 응답 메시지를 해당 태스크의 응답 큐로 전달한다.
이때, 상기 제1 태스크(27) 및 제2 태스크(28)는 자원 공유를 위해 세마포를 사용하지 않고, 단지 공유할 자원과 공유 순서만을 결정하며, 상기 중개 태스크(23)가 다수개의 세마포를 잡아서 제1 또는 제2 자원에 접속하게 된다.
이와 같이, 중개 태스크만이 복수의 세마포를 사용하여 근본적인 교착상태의 가능성을 제거하여 어떤 경우에도 제1 태스크와 제2 태스크는 교착상태에 머무르지 않게 된다.
이상에서 살펴본 바와 같이, 본 발명의 방법은 다수개의 자원을 다수개의 태스크가 공유시, 중개 태스크를 이용하여 표면상으로는 한 개의 태스크가 복수개의 태스크를 접속하는 것처럼 함으로써, 교착 상태의 발생 가능성을 제거하여 자원 공유의 안정성을 보장받을 수 있는 효과가 있다.

Claims (1)

  1. 실시간 시스템의 멀티태스킹 환경에서 자원의 공유를 위한 방법에 있어서,
    다수개의 자원을 다수개의 태스크가 공유시, 다수개의 태스크들과 다수개의 자원 사이에 하나의 중개 태스크와 메시지 큐를 두고, 각 태스크가 요구 큐를 통하여 자원 접속 요구를 하면 상기 중개 태스크가 복수의 세마포를 이용하여 자원에 접속한 뒤 그 결과를 응답 큐를 통하여 전달하는 것을 특징으로 하는 실시간 시스템의 다수 자원 공유 방법.
KR1019970073173A 1997-12-24 1997-12-24 실시간 시스템의 다수 자원 공유 방법 KR19990053528A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970073173A KR19990053528A (ko) 1997-12-24 1997-12-24 실시간 시스템의 다수 자원 공유 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970073173A KR19990053528A (ko) 1997-12-24 1997-12-24 실시간 시스템의 다수 자원 공유 방법

Publications (1)

Publication Number Publication Date
KR19990053528A true KR19990053528A (ko) 1999-07-15

Family

ID=66099108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970073173A KR19990053528A (ko) 1997-12-24 1997-12-24 실시간 시스템의 다수 자원 공유 방법

Country Status (1)

Country Link
KR (1) KR19990053528A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100397503B1 (ko) * 2001-07-04 2003-09-13 엘지전자 주식회사 큐를 통한 클라이언트와 에이전트간의 트랜잭션순차인덱싱 방법
US7877753B2 (en) 2006-01-16 2011-01-25 Seiko Epson Corporation Multi-processor system and program for causing computer to execute controlling method of interruption of multi-processor system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100397503B1 (ko) * 2001-07-04 2003-09-13 엘지전자 주식회사 큐를 통한 클라이언트와 에이전트간의 트랜잭션순차인덱싱 방법
US7877753B2 (en) 2006-01-16 2011-01-25 Seiko Epson Corporation Multi-processor system and program for causing computer to execute controlling method of interruption of multi-processor system

Similar Documents

Publication Publication Date Title
US5867704A (en) Multiprocessor system shaving processor based idle state detection and method of executing tasks in such a multiprocessor system
CN108628684B (zh) 一种基于dpdk的报文处理方法及计算机设备
Pyarali et al. Evaluating and optimizing thread pool strategies for real-time CORBA
US7080377B2 (en) Method for effective utilizing of shared resources in computerized system
Pyarali et al. Techniques for enhancing real-time CORBA quality of service
US7996843B2 (en) Symmetric multi-processor system
WO2009113381A1 (ja) マルチプロセッサシステム、マルチプロセッサシステムのos間デバイス共有方法
JPH0563821B2 (ko)
US7103631B1 (en) Symmetric multi-processor system
Fay-Wolfe et al. Real-time CORBA
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
US7594229B2 (en) Predictive resource allocation in computing systems
Powell Extra Performance Architecture (XPA)
US20210311773A1 (en) Efficient Condition Variables via Delegated Condition Evaluation
JPH11272480A (ja) オンチップリアルタイムos
KR19990053528A (ko) 실시간 시스템의 다수 자원 공유 방법
JP7346649B2 (ja) 同期制御システムおよび同期制御方法
KR20120062854A (ko) 계산기 장치
EP0286807A2 (en) Method for regulating access by concurrent transactions to resources
US6865579B1 (en) Simplified thread control block design
KR19990053525A (ko) 실시간 시스템의 자원 공유 방법
US20090019259A1 (en) Multiprocessing method and multiprocessor system
US7320044B1 (en) System, method, and computer program product for interrupt scheduling in processing communication
CN112835707A (zh) 分布式系统负载调度方法、装置、计算机存储介质及设备
JPH02245864A (ja) 多重プロセッサシステム

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination