KR940002148B1 - 전전자 교환시스팀의 작업 동기 방법 - Google Patents

전전자 교환시스팀의 작업 동기 방법 Download PDF

Info

Publication number
KR940002148B1
KR940002148B1 KR1019910010215A KR910010215A KR940002148B1 KR 940002148 B1 KR940002148 B1 KR 940002148B1 KR 1019910010215 A KR1019910010215 A KR 1019910010215A KR 910010215 A KR910010215 A KR 910010215A KR 940002148 B1 KR940002148 B1 KR 940002148B1
Authority
KR
South Korea
Prior art keywords
semaphore
delayed
task
delay
job
Prior art date
Application number
KR1019910010215A
Other languages
English (en)
Other versions
KR930001645A (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 KR1019910010215A priority Critical patent/KR940002148B1/ko
Publication of KR930001645A publication Critical patent/KR930001645A/ko
Application granted granted Critical
Publication of KR940002148B1 publication Critical patent/KR940002148B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers

Abstract

내용 없음.

Description

전전자 교환시스팀의 작업 동기 방법
제1a도는 본 발명이 구현되는 전전자 교환시스팀의 구성도.
제1b도는 본 발명이 적용되는 하드웨어의 구성도.
제2도는 본 발명에 의한 작업동기 방법의 전체 흐름도.
제3a도, 제3b도, 제3c도는 본 발명에 의한 세마포 초기화 구성도.
제4도는 본 발명에 의한 세마포 생성단계의 흐름도.
제5a도, 제5b도는 본 발명에 의한 세마포 할당 구성도.
제6도는 본 발명에 의한 세마포 단일 지연단계의 흐름도.
제7도는 본 발명에 의한 세마포 다중 지연단계의 흐름도.
제8도는 본 발명에 의한 세마포 재활동 단계의 흐름도.
제9도는 본 발명에 의한 세마포 제거 단계의 흐름도.
* 도면의 주요부분에 대한 부호의 설명
1 : 상위 프로세서 및 메모리 관리회로팩
2 : 대규모 기억장치 정합회로팩 3 : 메모리 에러 제어 회로팩
4 : 프로세서 통신 제어 회로팩 5 : 이중화 제어채널 회로팩
6 : 입출력 정합회로팩 7 : ROM
8 : 중앙처리장치 9 : 메모리
10 : 다기능 주변장치
본 발명은 다중작업처리(multi-task processing) 시스템인 전전자 교환시스템에 있어서 다수의 작업이 서로 연광성을 가지고 동작하게 될 때 이들 작업간에 동기(synchronization)를 맞추기 위한 작업 동기방법에 관한 것이다.
종래의 교환시스템에서는 모든 작업을 하나의 프로그램으로만들어서 순차적으로 모든 일을 수행하므로 해서 서로 간의 동기를 맞추는 것이 필요치 않았다.
그러나 모든 작업이 기능별로 분리된 고급 시스템에서는 모든 작업이 다른 작업에 관련없이 독립적 및 동시적으로 동작되므로 이들 작업들간에 작업의 순서를 위하여 동기를 맞추어 주는 기능이 필요하게 된다.
즉, 다중작업처리 시스템의 경우 다수의 작업이 활동(active) 상태에 존재하게 되고, 이러한 작업들은 그들의 요구를 만족시키기 위하여 많은 다른 작업들과 연관성을 가지면서 수행된다. 즉, 작업 (갑)과 (을)이 존재할대 (갑)의 결과가 (을)에 영향을 미치는 경우, (갑)이 작업을 마친후 이 결과를 (을)이 사용하여 수행되어야 하므로 (갑)과(을)의 동기 맞어야 한다. 만일 작업(을)이 작업(갑)이 해당 결과를 내기 전에 먼저 수행되어 진다면 잘못된 결과를 가지고 수행되어 다른 결과를 초래하게 되므로 이들간에 내부작업동기 (inter-task synchronization)기능이 필요하게 된다.
내부작업동기 기능은 다수의 작업들이 연관성을 가지면서 수행될 때 이들 작업들간에 수행순서를 만추기 위한 기능을 제공한다.
따라서, 본 발명은 전전자 교환시스팀에 있어서, 다수의 작업들이 서로 연관성을 가지고 동작하는 경우 세마포(Semaphore) 개념을 적용하여 상기 작업들간에 동기 조절을 하기 위한 작업동기 방법을 제공함에 그 목적이 있다.
상기 목적을 달성하기 위해 본 발명은 중앙처리장치, 상기 중앙처리장치에 연결된 메모리, 상기 중앙처리장치에 연결되어 부터 (booter)기능을 하는 ROM, 및 상기 중앙처리장치와 메모리와 ROM에 연결된 다기능 주변장치(MFP)를 포함하여 구성된 시스팀에 적용되어 대용량 통신시스팀의 다수의 작업간의 동기를 맞추기 위한 작업동기 방법에 있어서, 세마포의 사용을 위해 세마포의 초기화 구성을 수행하는 제1단계, 활동상태에 있는 많은 작업들간에 동기조절 기능을 제공하기 위해 세마포를 생성하는 제2단계, 상기 작업들간의 동기를 맞추기 위해 세마포를 할당하는 제3단계, 상기 작업들간의 동기를 위해 특정 세마포에 의한 단일 지연을 요구한 경우 세마포 단일지연을 수행하는 제4단계, 상기 작업들간의 동기를 위해 다중 세마포에 의한 다중지연을 요구한 경우 세마포 다중지연을 수행하는 제5단계, 상기 지연요구에 따른 작업수행후 지연되어 있는 세마포에 재활동을 요구한 경우 세마포 재활동을 수행하는 제6단계, 및 상기 세마포 사용후 더 이상 사용하지 않을 경우 상기 세마포를 제거하는 제7단계에 의해 수행된다.
이하, 첨부한 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.
제1a도는 본 발명이 구현되는 전전자 교환시스팀의 구성도로, 1은 상위 프로세서 및 메모리 관리 회로팩(MPMA ; Main Processing and Memory management board Assembly), 2는 대규모 기억장치 정합회로팩(MSIA : Mass Storage Interfase board Assembly), 3은 메모리 에러 제어 회로팩(MECA ; Memory withError Correction board Assembly), 4는 프로세서 통신 제어회로팩(PCCA ; Processor Communication Control board Assembly), 5는 이중화 제어 채널 회로팩(DCCA ; Duplication Control Channel board Assembly), 6는 입출력 정합 회로팩(IOIA ; Input/Output Interfase board Assembly)을 각각 나타낸다.
전전자 교환시스팀 구성상 이중화된 하나의 상위 프로세서(Main Processor)는 상위 프로세서 및 메모리관리 회로팩(1)과 프로세서 통신 제어 회로팩(4), 이중화 제어 채널 회로팩(5), 메모리 에러 제어 회로팩(3), 대규모 기억장치 정합 회로팩(2), 및 입출금 정합 회로팩(6)으로 구성된다. 작업동기 기능의 소프트 웨어는 상위 프로세서 및 메모리 관리 회로팩(1) 상에 존재한다.
제1b도는 본 발명이 적용되는 하드웨어의 구성도로, 상기 상위 프로세서의 상위 프로세서 및 메모리 관리 회로팩 (1)의 구성도이다. 상기 도면에서 7은 ROM , 8은 중앙처리장치, 9는 메모리, 10은 다기능 주변장치(MFP ; Multi-Funtion Peripheral)을 각각 나타낸다.
본 발명이 적용되는 상위 프로세서 및 메모리 관리 회로팩(1)은 제1b도에 도시한 바와같이 MC68030 칩으로 구현된 중앙처리장치(CPU) (8)에 16메가 비트의 메모리(9)를 연결하고, 상기 중앙처리장치(8)에 메모리 내의 프로그램을 처음으로 동작시키는 부터(Booter)인 ROM(7)을 연결하고, 상기 중앙처리장치(8)와 메모리(9)와 ROM(7)에 기타 여러 가지 기능을 제공하며 MC68901 칩으로 구현되는 다기능 주변장치(1)을 연결하여 구상한다. 작업동기 기능의 소프트웨어는 상기 상위 프로세서 및 메모리 관리 회로팩(1)상의 메모리(9)내에 존재한다.
제2도는 본 발명에 의한 작업동기방법의 전체 흐름도이다.
작업동기기능의 구현을 위해 먼저 세마포의 사용을 위해 시스템내에서 세마포의 초기화 구성을 수향하고(110), 세마포의 생성을 수행한 후(120), 세마포를 할당하고(125), 세마포에 의한 작업동기를 맞추기 위하여 단일 세마포지연을 요구하는 교경우 단일 세마포에 의한 단일지연을 처리하고(130), 다중 세마포을 요구하는 경우, 다중 세마포에 의한 다중 세마포에 의한 다중지연을 처리한다(140), 상기 세마포 지연처리후 지연되어 있는 세마포에 재활동(reactive)을 요구한 경우 세마포 재활동을 처리하고(150), 세마포의 더 이상 필요가 었을 경우 세마포를 제거한다(160).
세마포는 작업들간의 동기를 맞추기 위한 도구로 다익스트라(Dijkstra)에 의해서 도입되었다. 세마포 S는 두 개의 표준단위 연산 P와 V에 의해서만 접근되는 정수 변수이다. 하나의 세마포가 세마포의 값(S)을 수정할때 다른 어떠한 작업도 동시에 같은 세마포의 값을 수정할 수 없다. 표준단위 연산 P는 세마포 값을 '1'만큼 감소시키고 세마포 값이 '0'보다 작으면 연산 P를 수행하는 장업을 지연시킨다. 표준단위 연산 V는 세마포값을 '1'만큼 증가시키어 이때 세마포 값이 '0'보다 크거나 같으면 지연되어 있는 작업을 깨워서 계속 수행시킨다.
제3도는 본 발명에 의한 세마포 초기화 구성도로, 제3a도는 세마포 헤드 및 노드구성도, 제3b도는 세마포 프리 및 지시자 구성도, 제3c도는 세마포 리스트 구성도이다.
먼저, 제3a도에 도시한 바와같이 여러 사용자가 세마포를 사용하기 위해 2001개의 서로 다른 세마포 헤드(SEMAHEAD)를 구성하고, 이들 세마포 헤드에 노드드을 1개씩 할당한다. 세마포 헤드의 플래그 항에는 미사용을 나타내는 '0'(reaet)을 넣는다. 세마포 헤드의 포인터 항에는 노드의 주소를 넣는다. 노드의 지표향에는 순차적인 번호를 할당한다.
세마포 헤드 및 노드를 구성한 후 세마포 프리 및 지시자를 구성하는 단계를 제3b도를 참조하여 설명하면 다음과 같다.
2개의 항으로 구성되는 링크드 리스트(Linked list)의 자료구조를 갖는 세마포 프리(SEMAFREE)를 2001개로 구성하고, 지표(INDEX) 항에는 순차적인 번호를 할당하고 포인터 항에는 다음 자료 구조의 주소를 넣는다. 마지막의 포인터 항은 이 자료구조의 끝을 나타내는 값을 넣는다. 2개의 포인터인 세마포 전방지시자(SEMA-FRONT),세마포 후방지시자(SEM-REAR)를 구성한다.
새로운 세마포를 생성시 세마포 헤드를 할당하기 위하여 세마포 전방지시자가 가리키고 있는 지표 항의 값을 얻어, 세마포 헤드를 할당하고, 해당 세마포 헤드의 플래그 항에는 사용중 표시인 '1'(set)을 넣는다.
세마포 전방지시자가 가리키던 곳의 포인터 항의 값을 끝을 나타내는 값으로 넣고, 세마포 전방지시자를 하나 증가시키어 다음번 요구시 같은 작업을 하여 세마포 헤드를 할당한다.
세마포 프리 및 지시자를 구성한 후 제3c도에 도시한 바와같이 세마포 리스트(SEMA-LIST)를 구성하여 생성되는 모든 세마포를 포인터 항에 연결한다.
제4도는 본 발명에 의한 세마포 생성단계(120)의 흐름도이다.
세마포 생성단계를 활동(active) 상태에 있는 많은 작업들간에 동기 조절기능을 제공하여 주기 위하여 세마포라고 하는 새로운 자료구조를 생성시키는 단계로서, 세마포가 제공할수 있는 기능의 종류에 따라 여러가지 조율의 세마포가 만들어진다.
세마포는 작업들간의 수행 순서를 맞추기 위해 잠시 지연되는 작업들을 유지하기 위한 큐, 지연될 수 있는 작업의 수를 가리키는 큐의 길이 항, 및 현재 지연된 작업들의 수를 가리키는 항들로 구성되어 있다.
여기서 큐의 길이를 가변적으로 정의하여 이진(binary) 세마포, 계수(conuting) 세마포, 및 다중지연(case-wait) 세마포등 다양한 형태의 기능을 가진 세마포를 구성한다.
상기 이진 세마포는 큐의 길이를 '1'로 하여 특정 영역들을 여러작업들이 동시에 사용하고자 할 경우 이들중에서 하나의 작업만이 특정영역을 사용하고 나머지는 기다리게 되어 이들간에 동기를 맞추는 세마포이다.
상기 계수 세마포는 가장 일반적인 형태로 큐의 길이를 '1'에서 특정 유한수로 하여 다수의 작업들간에 동기 조절 기능을 수행한다. 이때 특정 유한수를 작게 할경우에는 이 특정 유한수를 초과하여 생성되는 지연작업들에 대하여 또 다른 과잉생산(overflow) 큐를 구성하려 지연되는 작업들을 보관하거나 에러(error)처리를 하여야 한다. 그러나 특정 유한수를 무한하게 할 경우에는 위의 과잉생산에 따르는 문제는 발생하지 않으나 관리상 너무 많은 공간을 차지하여야 하므로 관리상 비효율적이다.
상기 다중지연(case-wait) 세마포는 한 작업이 지연될 때 여러 세마포에 동시에 지연되어, 후에 깨어나게 될때 이러한 여러 세마포중 한 곳에서 먼저 깨어나는 사건이 발생하게 되면, 이 지연된 작업을 개어나게 하고 다른 세마포에 기록된 내용을 제거하는 세마포이다. 즉 작업이 여러 세마포에 지연되도록 하여 이러한 세마포중 어느 한 세마포에서 깨어나는 사건이 발사하면 수행되도록 하기 위한 세마포이다.
본 발명에서는 여러가지의 세마포 종류 중에서 계수 세마포를이용하여 작업들간의 동기 조절을 구현하였으며, 또한 계수 세마포를 이용하여 다중지연 세마포를 구현하였다.
사용자가 작업들간의 동기를 위하여 세마포 지연을 요구했을 때, 세마포 고유번호가 '0'이면 세마포 지연 블럭에서 사용자가 입력한 세마포 길이를 가지고 세마포 생성 블럭으로 새로운 세마포 생성을 요구하게 된다(400). 상기와 같이 세마포 생성 요구시 새로운 세마포를 위한 영역을 위하여 메모리 할당을 요구하고, 세마포와의 연결을 위하여 새로운 노드의 메모리 할당을 요구한다(410). 두 개의 할당받은 영역을 모두 '0'으로 넣어 메모리 내의 모든 내용을 지운다(420). 새로운 세마포의 고유번호 항에 새로운 세마포의 고유번호를 넣고, 세마포의 형태(type) 항에 계수 세마포임을 알리고, 세마포의 지연큐 항에 노드를 연결한후 다른 모든 초기 값을 할당한다(430). 그리고 세마포 리스트의 처음 연결부분에 이 새로운 세마포를 연결한다(440). 이렇게 하여 새로운 세마포의 생성이 끝나면 세마포 할당 단계로 새로운 세마포 포인터를 넘겨준다.
제5도는 본 발염에 의한 세마포 할당 구성도로, 제5a도는 새마포 헤드 및 노드 구성도, 제5b도는 세마포 프리 및 지시자 구성도이다.
제5a도, 제5b도를 참조하여 세마포 할당 단계를 나타내면 다음과 같다. 사용자가 세마포의 지연을 요구하면 세마포 리스트의 포인터 항에 생성된 세마포를 연결하고 카운터를 "1"증가시킨다.
카운터를 "1"증가시킨후 세미포 전방지시자가 가리키는 세마포 프리의 지표항의 값으로 사용하지 않는 세마포 헤드를 구하고 세마포 전방지시자는 사용하지 않는 다음 세마포 프리를 지시하게 한다.
할당된 세마포 헤드의 노드의 포인터로 작업관리 블록(TCB:Task Control Block)을 연결하고, 작업관리 블록의 세마포 포인터 항을 생성된 세마포에 연결한다. 생성된 세마포의 세마포 지연큐를 큐노드에 연결하고 큐노드의 다음 지시항을 세마포 헤드가 가리키는 노드에 연결한다.
상기와 같이 연속적으로 세마포를 구성하므로써 세마포가 주어지면 세마포 지연큐가 가리키는 큐노드의 다음 지시항으로 세마포의 노드를 구하고 상기 노드의 포인터로 지연되어 있는 작업관리 블록을 찾는다.
제6도는 본 발명에 의한 세마포 단일 지연단계(130)의 흐름도 또, 작업들의 동기를 위하여 특정 세마포에 단일지연을 요구한 경우 동작상태를 나타낸다.
상기와 같은 지연요구가 발생하면 세마포의 현재 상태를 점검하여 지연기능을 수행한다. 즉, 지연을 위해 세마포의 고유번호와 우선순위가 입력되어 지연요구가 발생되면(500), 해당 세마포가 존재하는지의 여부를 검색하여(510) 지연을 위한 해당 세마포가 존재하지 않으면 세마포의 길이, 즉 이 세마포에 지연 가능한 작업의 갯수를 가지고 세마포 생성 블럭으로 새로운 세마포의 생성을 요구하여 새로운 세마포의 주소를 얻는다(520). 지연을 위한 해당 세마포가 존재하면 세마포의 고유번호로 세마포의 주소를 구한다(530).
다음으로 지연되고자 하는 작업이 시스템의 특정 자원(region)을 사용하고 있는가를 검사하여(540) 만일 특정 자원을 사용중인 작업의 경우에는 이 작업을 긴급큐에 삽입하여 특정 자원 사용중에 지연되기를 원하는 경우의 상태로 변환하여 지연시키고, 특정 자원을 사용하기를 원하는 지연되는 작업수를 나타내는 긴급 작업변수를 '1'증가시킨다(550). 그 결과로 특정 자원이 자유롭게 되어 다른 작업이 사용할 수 있으므로, 특정 자원의 사용을 위하여 지연되어 있는 작업이 있는지 검색하여(560) 있으면 이들 중에서 하나를 선택하여 분배기(dispatcher)로 이 작업의 수행을 요구하고(570) 지연작업이 없으면 분배기로 돌아간다.
특정 자원의 사용이 아닌 작업의 경우에는 이 작업의 상태를 지연으로 변환하여(580) 세마포에 작업의 우선순위별로 지연상태를 구성하고 분배기로 돌아간다(590).
상기와 같이 세마포를 이용하여 단일지연을 구현한다.
제7도는 본 발명에 의한 세마포 다중 지연단계(140)의 흐름도이다.
다중지연 세마포에 지연될 작업을 깨워주게 될 작업의 고유번호와 지연되는 작업의 우선순위, 몇 개의 세마포에 지연시킬 것인가를 나타내는 수, 및 상기 수에 해당되는 세마포의 고유번호가 입력되면(600), 세마포 존재여부를 검색한다(610). 즉, 여러개의 세마포중 하나에 대하여 세마포의 고유번호를 검사하여 존재하지 않는 세마포인 경우에는 세마포 생성 블럭으로 새로운 세마포의 생성을 요구하며(620). 만일 기존에 존재하는 세마포이면 상기 해당 세마포의 주소를 구한다(630). 지연을 요구한 작업의 상태를 지연(wating)상태로 바꾸고(640), 세마포에 우선수위별로 작업을 삽입하여 지연상태를 구성한다(650).
다중지연을 요구한 작업의 작업관리블럭(TCB : Task Control Block)에는 다중지연의 경우 이를 지원하기 위하여 여러개의 노드를 연결하는 부분이 존재하는데 다중지연을 위하여 새로운 노드를 할당 받아 이곳에 해당 세마포를 연결하고(660), 상기 노드를 작업관리블럭의 다중지연을 지원하는 부분에 연결한다(670). 여러개의 모든 세마포에 대하여 세마포 존재 여부에 대한 할당처리(610, 620, 630), 지연상태로의 변환 및 구성처리(640, 650), 및 세마포와 작업관리블럭의 연결처리(660, 670) 과정을 반복하여 다중지연을 구현한다.
상기의 과정을 거쳐 지연을 요구하는 작업들이 해당세마포에 지연되어 있을 때 어떤 다른 작업에서 세마포에 지연되어 있는 작업중에 하나를 지연이 풀리어 깨어나게(wakeup)하는 작업을 하게 됨으로 지연되었던 작업은 재활동(reactive)되어 계속 수행된다.
제8도는 본 발명에 의한 세마포 재활동 단계(150)의 흐름도이다.
제활동을 원하는 세마포가 입력되면(700), 재활동을 위한 세마포의 존재여부를 검색하여(710), 존재하지 않으면 세마포의 길이, 즉 이 세마포에 지연 가능한 작업의 개수를 가지고 세마포 생성블럭으로 새로운 세마포의 생성을 요구하여 새로운 세마포의 주소를 얻는다(720). 재활동을 위한 세마포가 존재하면 세마포의 고유번호로 세마포의 주소를 구하여(730), 세마포 주소로 해당 세마포의 모든 정보를 가져올 수 있다.
재활동을 요구한 세마포에 특정 자원(region)의 사용을 요구하여 지연되어 있는 긴급작업들의 존재여부를 검색하여(740), 존재하면 이 작업중에서 우선순위가 제일 높은 작업을 가져온다(570). 상기 작업이 특정 자원의 사용이 가능한 상태인지 검색하여(760), 가능한 상태(unlock)이면 현재 수행중인 작업을 중단하여 준비헤드에 넣고 특정 영역을 사용중(lock)으로 표시를 한후 상기 작업이 특정 자원을 활용하도록 분배기에 넣어준다(780). 만일 특정 자원이 사용중인 상태이면 이 작업을 특정 자원의 사용을 원하나 지연되는 큐에 넣는다(770). 지연되어 있는 긴급작업이 존재하는지 검색하여(740) 특정 자원의 사용을 요구하는 작업이 없으면 현재 상기 세마포에 지연되어 있는 지연작업의 존재여부를 검색하여(790) 존재하면 지연작업들중에서 우선순위가 가장 높은 작업을 선택하여(800) 상기 작업들이 다중지연 작업에 지연되어 있는 경우라면 이 작업이 수행될 것이므로 모든 다중지연 세마포에서 이 작업에 제거한 후(810), 이 작업을 스케줄러에 넣어 수행이 되게 한다.
제9도는 본 발명에 의한 세마포 제거 단계(160)의 흐름도로, 작업들간의 동기를 위해 만들어진 세마포를 더 이상 사용하지 않을 경우 상기 세마포를 제거하는 단계를 나타낸다.
제거하려는 세마포 포이터가 입력되면(900), 제거하려는 세마포를 세마포 리스트에서 찾아내어 상기 세마포를 세마포 리스트에서 분리시킨다(910). 분리된 세마포의 현재작업 카운터가" 0"보다 큰 경우, 즉 분리된 세마포에 지연되어 있는 작업이 존재하는 경우인지 검색하여(920), 존재하면 상기 모든 작업들의 계속되는 수행을 위하여 사건 큐에서 이들중 하나를 선택하여(930) 상기 작업들을 수행되어야 할 작업들이 들어 있는 준비 헤드(READY-HEAD)에 삽입시킨다(940). 상기 준비헤드에 작업을 삽입한 후 상기 세마포의 현재 작업카운트를 "1"씩 감소시키면서 상기 분리된 세마포에 지연되어 있는 작업이 존재하지 않을 때까지 상기 작업의 준비헤드 삽입단계(930, 940)를 반복 수행한다(950). 상기 분리된 세마포에 지연되어 있는 작업이 존재하지 않으면 세마포와 상기 세마포 노드의 메모리 공간을 회수한다(960)
상기와 같이 구성되어 동작하는 본 발명은 다수의 작업들이 연관성을 가지면서 수행될때 이들 작업들간에 수행순서를 맡추어 주는 적용효과가 있다.

Claims (8)

  1. 중앙처리장치(8), 상기 중앙처리장치(8)에 연결된 메모리(9), 상기 중앙처리장치에 연결되어 부터(Booter) 기능을 하는 ROM(7), 및 상기 중앙처리장치(8)와 메모리(9)와 ROM(7)에 연결된 다기능 주변장치(MFP)(10)를 포함하여 구성된 시스팀에 적용되어 대용량 통신시스팀의 다수의 작업간의 동기를 맞추기 위한 작업동기 방법에 있어서; 세마포의 사용을 위해 세마포의 초기화 구성을 수행하는 제1단계, 활동상태에 있는 많은 작업들간에 동기조절 기능을 제공하기 위해 세마포를 생성하는 제2단계, 상기 작업들간의 동기를 맞추기 위해 세마포를 할당하는 제3단계, 상기 작업들간의 동기를 위해 특정 세마포에 의한 단일 지연을 요구한 경우 세마포 단일지연을 수행하는 제4단계, 상기 작업들간의 동기를 위해 다중 세마포에 의한 다중지연을 요구한 경우 세마포 다중지연을 수행하는 제5단계, 상기 지연요구에 따른 작업수행후 지연되어 있는세마포에 재활동을 요구한 경우 세마포 재할동을 수행하는 제6단계, 및 상기 세마포 사용후 더 이상 사용하지 않을 경우 상기 세마포를 제거하는 제7단계에 의해 수행되는 것을 특징으로 하는 작업동기 방법.
  2. 제1항에 있어서, 상기 세마포의 초기화 구성단계는 다수의 세마포 헤드를 구성하고 상기 세마포 헤드에 노드를 할당하고 상기 세마포 헤드의 플래그 항에 미사용을 나타내는 단계, 다수의 세마포 프리를 구성하고 상기 세마포 프리에 노드를 할당하는 단계, 상기 세마포 프리의 포인터인 세마포 전방지시자 및 세마포 후방 지시자를 구성하는 단계, 새로운 세마포 생성시 상기 세마포 전방 지시자가 가리키는 지표항의 값을 통해 세마포 헤드를 할당하고 상기 해당 세마포 헤드의 플래그 항에 사용중 표시를 하는 단계, 상기 세마포 전방지시자가 가리키던 곳의 포인터 항의 값을 끝을 나타내는 값으로 넣고 상기 세마포 전방지시자를 하나 증가시키어 다음번 요구시 같은 작업을 하여 세마포 헤드를 할당하는 단계, 및 세마포 리스트를 구성하여 생성되는 모든 세마포를 포인터 항에 연결하는 단계에 의해 수행되는 것을 특징으로 하는 작업동기방법.
  3. 제1항에 있어서, 상기 세마포 생성단계는 새로운 세마포 생성을 요구하면 새로운 세마포와의 연결을 위한 영역을 위해 메모리 할당을 요구하는 단계, 상기 할당된 메모리의 영역을 지우는 단계 새로운 세마포의 고유번호를 할당하고, 세마포 형태를 선언하고 세마포 지연큐 항에 노드를 연결하는 단계, 및 세마포 리스트의 처음 연결부분에 새로운 세마포를 연결하는 단계에 의해 수행되는 것을 특징으로 하는 작업동기방법.
  4. 제1항에 있어서, 상기 세마포 할당 단계는 세마포 리스트의 포인터항에 생성된 세마포를 연결하고 카운터를 증가시키는 단계, 세마포 전방지시자가 가리키는 세마포 프리의 지표항의 값으로 사용하지 않는 세마포 헤드를 구하고 상기 세마포 전방지시자는 사용하지 않는 경우 다음 세마포 프리를 지시하게 하는 단계, 할당된 세마포 헤드의 노드의 포인터로 작업관리 블록을 연결하는 단계, 상기 작업관리 블록의 세마포 포인터 상기 생성된 세마포에 연결하는 단계, 상기 생성된 세마포의 세마포 지연큐를 큐노드에 연결하고 상기 큐노드의 다음 지시항을 세마포 헤드가 가리키는 노드에 연결하는 단계에 의해 수행되는 것을 특징으로 하는 작업동기 방법.
  5. 제1항에 있어서, 상기 세마포 단일 지연 단계는 세마포 단일지연을 요구하면 해당 세마포 존재여부를 검색하여 해당 세마포가 존재하면 세마포의 주소를 구하고 존재하지 않으면 세마포 생성 블록으로 새로운 세마포의 생성을 요구하는 단계, 상기 지연되려고 하는 작업이 시스팀의 특정자원을 사용하고 있는지의 여부를 검색하는 단계, 상기 시스팀의 특정 자원 사용 여부 검색 결과에 따라 특정 자원을 사용중인 작업인 경우 상기 작업을 특정 자원 사용중에 지연을 원하는 상태로 변환하여 지연시키고 특정 자원의 사용을 위해 지연되는 작업이 있으면 이들중 하나를 선택하여 작업수행을 요구하는 단계, 및 상기 시스팀의 특정 자원사용 여부 검색 결과에 따라 특정 자원의 사용이 아닌 작업인 경우 상기 작업을 지연상태로 변환하고 세마포에 작업의 우선 순위별로 지연상태를 구성하는 단계에 의해 수행되는 것을 특징으로 하는 작업동기방법.
  6. 제1항에 있어서, 상기 세마포 다중 지연 단계는 세마포 다중지연을 요구하면 해당 세마포 존재여부를 검색하여, 해당 세마포가 존재하면 세마포의 주소를 구하고 존재하지 않으면 세마포 생성 블럭으로 새로운 세마포의 생성을 요구하는 단계, 상기 자연을 요구한 작업을 지연상태로 변환하고 상기 세마포에 우선 순위 별로 지연상태를 구성하는 단계, 새로운 노드를 할당받아 해당 세마포를 연결하고, 상기 노드를 작업관리블럭의 다중지연을 지원하는 부분에 연결하는 단계, 및 처리할 지연 세마포의 존재 여부를 검색하여 존재하면 상기 세마포 존재 여부에 대한 처리단계, 및 작업관리블럭 연결 단계를 수행하는 단계에 의해 수행되는 것을 특징으로 하는 작업동기방법.
  7. 제1항에 있어서, 상기 세마포 재활동 단계는 재활동을 원하는 세마포가 입력되면 해당 세마포의 존재여부를 검색하여, 해당 세마포가 존재하면 세마포의 주소를 구하고 존재하지 않으면 세마포 생성 블럭으로 새로운 세마포의 생성을 요구하는 단계, 상기 해당 세마포의 특정 자원의 사용 요구에 따라 지연된 긴급작업의 존재 여부를 검색하는 단계, 상기 지연된 긴급작업 존재여부 검색 결과에 따라 지연된 긴급작업이 존재하면 상기 지연 작업중 하나를 선택하고, 특정자원 사용사능 상태인지 검색하여 가능하면 스케줄러에 현재 수행중인 작업을 중단하고 불가능하면 지연큐에 삽입하는 단계, 및 상기 지연된 긴급작업 존재여부 검색결과에 따라 지연된 긴급작업이 존재하지 않고 현재 세마포 지연작업이 존재하지 않으면 상기 지연작업중 하나를 선택하여 제거한후 수행시키는 단계에 의해 수행되는 것을 특징으로 하는 작업동기방법.
  8. 제1항에 있어서, 상기 세마포 제거 단계는 제거하려는 세마포 포인터가 입력되면 상기 해당 세마포를 세마포 리스트에서 분리시키는 단계, 상기 분리된 세마포에 지연되어 있는 작업의 존재여부를 검색하여 존재하지 않을 때까지 사건큐에서 하나의 작업을 선택하여 준비 헤드에 삽입하는 단계, 및 상기 분리된 세마포에 지연되어 있는 작업의 존재여부 검색 결과에 따라 존재하지 않으면 상기 세마포와 세마포 노드의 메모리 공간을 회수하는 단계에 의해 수행되는 것을 특징으로 하는 작업동기방법.
KR1019910010215A 1991-06-19 1991-06-19 전전자 교환시스팀의 작업 동기 방법 KR940002148B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019910010215A KR940002148B1 (ko) 1991-06-19 1991-06-19 전전자 교환시스팀의 작업 동기 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910010215A KR940002148B1 (ko) 1991-06-19 1991-06-19 전전자 교환시스팀의 작업 동기 방법

Publications (2)

Publication Number Publication Date
KR930001645A KR930001645A (ko) 1993-01-16
KR940002148B1 true KR940002148B1 (ko) 1994-03-18

Family

ID=19316027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910010215A KR940002148B1 (ko) 1991-06-19 1991-06-19 전전자 교환시스팀의 작업 동기 방법

Country Status (1)

Country Link
KR (1) KR940002148B1 (ko)

Also Published As

Publication number Publication date
KR930001645A (ko) 1993-01-16

Similar Documents

Publication Publication Date Title
CN100407152C (zh) 多策略资源调度的方法和系统
EP0362105A2 (en) Method for processing program threads of a distributed application program by a host computer and an intelligent work station in an SNA LU 6.2 network environment
GB2293675A (en) Process allocation in a data processing system
JPH04213129A (ja) メモリ管理システム及びメモリ管理方法
JP2010044784A (ja) システムにおける要求のスケジューリング
US5761696A (en) Parallel database serving mechanism for a single-level-store computer system
Chen et al. A priority ceiling protocol for multiple-instance resources
US5640597A (en) Method and apparatus for servicing simultaneously a plurality of requests for data streams
JPH07281911A (ja) 並列処理における資源割振り同期化方法およびシステム
WO2004046923A1 (en) Concurrent operation of a state machine family
KR940002148B1 (ko) 전전자 교환시스팀의 작업 동기 방법
US6338125B1 (en) Dynamic slot allocation and tracking of multiple memory requests
JP6774147B2 (ja) 制御装置
CN111158875A (zh) 基于多模块的多任务处理方法、装置及系统
US7257582B2 (en) Load balancing with shared data
JPH07182225A (ja) Osリソースのオンライン増減設方式
JPH02245864A (ja) 多重プロセッサシステム
JP3763452B2 (ja) 情報処理システム、オブジェクトの優先度管理方法、オペレーティングシステム、記録媒体
JP2000040099A (ja) スケジュール作成装置及び方法、ジョブの選択方法並びにスケジュール作成用ソフトウェアを記録した記録媒体
KR940003846B1 (ko) 전전자 교환기 시스템의 실시간 처리 스케줄링 방법
JPH04219836A (ja) ブロック管理方式
JPH0424828A (ja) マルチタスク管理方式
JPH11175357A (ja) タスク管理方法
SU907551A1 (ru) Мультимикропроцессорна система
KR0170197B1 (ko) 고속 병렬 컴퓨터에서 데스크의 병렬처리를 위한 가상 시스템

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19990306

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee