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