KR0146551B1 - 임계영역을 지원하는 래치 관리방법 - Google Patents
임계영역을 지원하는 래치 관리방법Info
- Publication number
- KR0146551B1 KR0146551B1 KR1019950025697A KR19950025697A KR0146551B1 KR 0146551 B1 KR0146551 B1 KR 0146551B1 KR 1019950025697 A KR1019950025697 A KR 1019950025697A KR 19950025697 A KR19950025697 A KR 19950025697A KR 0146551 B1 KR0146551 B1 KR 0146551B1
- Authority
- KR
- South Korea
- Prior art keywords
- latch
- user request
- management means
- user
- queue
- Prior art date
Links
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 다수 사용자환경(multi-user environment)을 지원하는 시스템에서 임계영역에 대한 사용자들의 동시 접근을 효율적으로 제어하기 위한 래치(latch)의 구조와 관리방법에 관한 것으로서, 그 특징은 상호배제변수와 래치관리를 통제하는 래치관리수단을 이용하여 임계영역을 지원하는 래치를 관리하는 방법에서 래치획득 방법에 있어서, 사용자가 임계영역에 진입하기 위하여 래치관리수단에 래치획득의 기회를 요구하는 제 1 과정과, 사용자가 상호배제변수를 점유하여 래치관리수단이 사용자 요구를 등록하는 제 2 과정과, 사용자가 상호배제변수를 반환하는 제 3과정 및 사용자가 래치를 획득하는 제 4 과정을 포함하는 데에 있으므로, 그 효과는 다수 사용자 시스템에 대한 동시성이 향상되고, 전체 시스템의 성능도 크게 향상시키는 데이 있다.
Description
제1도는 본 발명이 적용되는 하드웨어의 구성도
제2도는 본 발명이 적용되는 래치의 구조도
제3도는 래치획득에 대한 동작 흐름도
제4도는 래치반환에 대한 동작 흐름도
* 도면의 주요부분에 대한 부호의 설명
11 : 프로세서 12 : 메모리
13 : 메모리 내의 공유 메모리 영역 14 : 입출력 전용 처리기
15 : 보조 기억장치 21 : 임계영역에 지정된 래치
22 : 래치에 대한 사용자 요구
본 발명은 다수 사용자환경(multi-user environment)을 지원하는 시스템에서 임계영역에 대한 사용자들의 동시 접근을 효율적으로 제어하기 위한 래치(latch)의 구조와 관리방법에 관한 것이다.
여기서, 래치란 사용자 요구에 대한 스케줄링(scheduling)을 제공하기 위해 사용되는 자료구조이다.
다수 사용자 환경을 제공하는 시스템에서는 공유 데이타(shared data)에 대한 일치성(consistency) 유지와 동시성(concurrency) 향상을 위해 공유되는 데이타를 적당한 크기의 임계영역(critical section)으로 지정하여 관리할 필요가 있다.
임계영역은 임의의 순간에 한 명의 사용자 요구(user request)만이 수행될 수 있는 공유 데이타 영역(shared data area)으로서 임계영역에 동시에 접근하는 사용자들을 어떻게 동기시킬 것인지의 방법에 따라 전체 시스템의 성능이 크게 좌우될 수 있다.
즉, 전체 시스템의 성능은 임계영역을 구현하는 방법에 따라 크게 좌우될 수 있다.
임계영역을 구현하는 방법은 상호 배제(mutual exclusion)와 진행성(progress)과 한정 대기(bounded waiting)의 3가지 조건을 만족해야 한다.
여기서, 상호 배제 조건이라 함은 여러 사용자가 동시에 임계영역에 진입할 때에 한 번에 하나의 사용자 요구만이 임계영역에 들어갈 수 있도록 사용자 요구를 제어하는 것이다.
또한, 진행성 조건이라 함은 어떤 사용자가 임계영역으로 진입하려고 할 때에 다른 사용자가 임계영역을 사용하고 있지 않으면 반드시 해당 임계영역으로 진입할 수 있어야 한다는 것이다.
그리고 한정 대기 조건이라 함은 임계영역에 진입하기를 요구하는 사용자가 조건이 만족되지 않을 때에 대기 상태에서 조건이 만족되기를 영원히 기다리는 것이 아니라 시간이 지나면 반드시 임계영역에 진입할 수 있어야 한다는 것이다.
위의 3가지 조건이 모두 만족될 때에 비로소 공유 데이타의 무결성(integrity) 유지와 다수 사용자에 대한 효율적인 동시성 제어(concurrency control)가 보장될 수 있다.
임계영역에 접근하고자 하는 사용자 요구에 대한 동기화를 위해서 사용되던 기존의 동기화 방법으로는 운영 체제(operating system)에서 제공되는 세마포(semaphore)를 사용하는 방법과 래치를 구현하여 사용하는 방법이 있었다.
여기에서 래치란, 임계영역으로 진입하고자 하는 사용자 요구에 대한 스케줄링(scheduling)을 위하여 공유 변수인 상호 배제 변수(mutual exclusion variable, 이하 mutex라고 약칭함)에 의해 캡슐화된 자료구조(encapsulated data structure)이다.
운영체제에서 제공하는 세마포는 P, V 연산에 의해 임계영역에 대한 사용자들의 동시 접근을 완벽하게 제어할 수 있고 구현 방법도 간단하나, 세마포의 사용 개수의 제한이 있을 뿐만 아니라 시스템 호출을 동반하므로 매우 비싼 자원이다.
따라서, 세마포를 이용하여 임계영역을 지원하는 방법은 이를 이용하는 시스템의 성능의 관점에서 문제가 된다.
반면에, 래치를 구현하여 임계영역을 지원하는 방법은, 시스템 호출을 사용하는 세마포를 사용하는 방법보다 적은 비용으로 다수 사용자 환경을 지원할 수 있는 방법이다.
그러나, 종래에 사용되던 래치는, 상호배제변수인 mutex 자체를 래치로 간주하는 개념 하에서 구현되기 때문에 사용자가 임계영역에 진입하여 작업하는 동안 계속해서 mutex를 점유(hold)하므로 mutex를 갖고 있는 시간이 임계영역의 크기에 비례하여 커진다는 문제점이 있다.
그리고, 또 다른 문제점은 상기 3가지 조건을 다 만족하지 못하거나 상기 3가지 조건을 만족하기 위해서는 래치구조나 그 관리방법이 매우 복잡해진다는 데에 있다.
상기 문제점을 해결하기 위한 본 발명의 목적은 구조와 관리방법이 간단하며 임계영역이 갖추어야 할 모든 조건을 만족하는 완벽한 래치를 구현함으로써 임계영역에 대한 사용자 접근의 동시성을 향상시키는 래치구조 및 그 관리방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 특징은 상호배제변수와 래치관리를 통제하는 래치관리수단을 이용하여 임계영역을 지원하는 래치를 관리하는 방법에서 래치획득방법에 있어서, 사용자가 임계영역에 진입하기 위하여 래치관리수단에 래치획득의 기회를 요구하는 제 1 과정과, 사용자가 상호배제변수를 점유하여 래치관리수단이 사용자 요구를 등록하는 제 2 과정과, 사용자가 상호배제변수를 반환하는 제 3 과정 및 사용자가 래치를 획득하는 제 4 과정을 포함하는 데에 있다.
상기 목적을 달성하기 위한 본 발명의 다른 특징은 상호배제변수와 래치관리를 통제하는 래치관리수단을 이용하는 임계영역을 지원하는 래치를 관리하는 방법에서 래치반환방법에 있어서, 해당 사용자가 이미 획득했던 래치를 반환하려고 상기 래치관리수단에 상기 해당 사용자가 래치반환의 기회를 상기 래치관리수단에 요구하는 제 1 과정과, 상기 래치관리수단이 해당 사용자 요구 이외의 다른 사용자 요구가 래치큐에 있는지 판단하는 제 2 과정과, 상기 제 2 과정에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 없다고 판단되면, 상기 해당 사용자가 상기 상호배제변수의 점유가능 여부에 따라 상기 해당 사용자가 상기 상호배제변수를 점유하는 제 3 과정과, 해당 사용자 요구만이 상기 래치큐에 있는지의 여부에 따라 해당 사용자가 상기 해당 사용자 요구를 상기 래치큐에서 삭제하면서 상기 상호배제변수를 반환하는 제 4 과정과, 상기 제 2 과정에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 래치큐에 있다고 판단되면, 다음 사용자 요구를 결정하여 상기 해당 사용자 요구를 상기 래치큐에서 삭제하면서 상기 다음 사용자 요구를 깨우는 제 5과정을 포함하는 데에 있다.
이하, 첨부한 도면을 참조하여 본 발명의 일 실시예를 상세히 설명한다.
제 1 도는 본 발명이 적용되는 하드웨어의 구성도이다.
제 1 도를 참조하면, P1내지 Pn의 프로세서(11)는 공통 버스를 통하여 메모리 영역(12) 내의 공유 메모리 영역(13)에 접근하고, 입출력 전용 처리기(14)는 보조 기억장치(15)에의 접근을 제어한다.
이와 같이 본 발명은 단일 프로세서 혹은 다중 프로세서를 포함하는 일반적인 하드웨어 환경에서 작동이 가능하다.
제 2 도는 본 발명이 적용되는 래치의 구조도이다.
제 2 도를 참조하면, 본 발명의 래치(22)는 C 언어의 형태를 빌어서 표현하면 다음과 같은 자료 구조(21)를 갖는다.
typedef struct {
char mutex;
T_TRANS * queue;
}E_LATCH;
여기서, T_TRANS는 래치를 요구하는 사용자 요구(22)를 표현하는 구조이다.
본 발명의 래치구조 E_LATCH는 큐와 큐의 관리를 위해 사용되는 mutex로 구성되는데, 이는 임계영역에 진입하려는 사용자 요구들(22)을 순서대로 유지하기 위한 것이다.
mutex는 상호배제변수로서 큐의 관리에 대한 무결성 유지를 위해서 사용되는데 래치를 획득하려는 사용자 요구에 대한 리스트인 큐가 변경되기 위해서는 이 mutex를 먼저 점유해야 한다.
mutex에 대한 상호 배제의 구현에 있어서 중요한 것은 mutex의 값을 읽고, 그 mutex의 값을 다른 값으로 설정하는 연산이 한 개의 연산(atomic instruction)처럼 수행되어야 한다는 것이다.
이와 같은 상호 배제 구현의 단위성(atomicity) 조건을 보장하기 위해서 상호 배제는 어셈블리어로 구현한다.
임계영역을 지원하는 래치를 관리하는 방법은 상호배제변수인 mutex와 래치관리수단을 이용하는데, 래치관리수단은 중앙 프로세서로서 래치의 관리를 통제한다.
그리고 이하에서 '잠재운다(sleep)'라는 말과 '깨운다(wakeup)'라는 말이 나오는데, '잠재운다'라는 말은 프로세스를 중지시킨다는 뜻으로서 여기서는 사용자 요구를 정지상태로 만든다는 뜻이고, '깨운다'라는 말은 중지된 프로세스를 재생시킨다는 뜻으로서 여기서는 사용자 요구의 정지상태를 해제한다는 뜻이다.
제 3 도는 래치획득에 대한 동작 흐름도이다.
제 3 도를 참조하여, 본 발명의 래치획득 동작을 상세히 설명하면 다음과 같다.
S101에서는 사용자가 임계영역에 진입하기 위하여 래치관리수단에 래치획득의 기회를 요구한다.
S102에서는 상기 래치관리수단이 사용자 요구가 mutex를 점유할 수 있는지를 판단한다.
상기 S102에서 mutex를 점유할 수 없다고 판단되면, S103에서는 상기 래치관리수단이 상기 사용자 요구를 잠재운다(sleep).
S104에서는 소정의 시간이 지난 후, 상기 래치관리수단이 사용자 요구를 깨우고(wakeup) 상기 S102로 진행한다.
상기 S102에서 mutex를 점유할 수 있다고 판단되면, S105에서는 상기 래치관리수단이 상기 mutex를 점유한다.
S106에서는 상기 사용자 요구를 등록한다.
S107에서는 사용자가 mutex를 반환한다.
S108에서는 상기 래치관리수단이 상기 등록된 사용자 요구가 큐의 끝에 위치하는지를 보아서 수행될 차례가 되었는지를 판단한다.
상기 S108에서 상기 등록된 사용자 요구가 큐의 끝에 위치하여 수행될 차례가 되었다고 판단되면, S111로 진행한다.
상기 S108의 판단에서 상기 등록된 사용자 요구가 큐의 끝에 위치하지 않아서 수행될 차례가 되지 않았다고 판단되면, S109에서는 상기 래치관리수단이 상기 등록된 사용자 요구를 잠재운다.
S110에서는 다른 사용자 요구가 상기 S109에서 잠재워진 요구를 깨운다.
S111에서는 사용자가 래치를 획득한다.
제 4 도는 래치반환에 대한 동작 흐름도이다.
제 4 도를 참조하여, 본 발명의 래치반환 동작을 상세히 설명하면 다음과 같다.
S201에서는 사용자가 이미 획득했던 래치를 반환하려고 상기 래치관리수단에 래치반환의 기회를 요구한다.
S202에서는 상기 래치관리수단이 해당 사용자 요구 이외의 다른 사용자 요구가 래치큐에 있는지 판단한다.
상기 S202에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 있다고 판단되면, S211로 진행한다.
상기 S202에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 없다고 판단되면, S203에서는 상기 래치관리수단이 사용자가 mutex를 점유할 수 있는지를 판단한다.
상기 S203에서 상기 mutex를 점유할 수 없다고 판단되면, S208에서는 상기 래치관리수단이 상기 해당 사용자 요구 이외의 다른 사용자 요구가 래치큐에 있는지 판단한다.
상기 S208에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 있다고 판단되면, S211로 진행한다.
상기 S208에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 없다고 판단되며, S209에서는 상기 래치관리수단이 상기 사용자 요구를 일정시간 잠재운 후 깨우고 상기 S203으로 진행한다.
상기 S203에서 상기 mutex를 점유할 수 있다고 판단되면, S204에서는 상기 래치관리수단이 상기 mutex를 점유한다.
S205에서는 상기 래치관리수단이 해당 사용자 요구만 상기 래치큐에 있는지 판단한다.
상기 S205에서 상기 래치관리수단이 상기 해당 사용자 요구만 상기 래치큐에 있다고 판단되면, S206에서는 상기 래치관리수단이 상기 해당 사용자 요구를 상기 래치큐에서 삭제한다.
S207에서는 사용자가 상기 mutex를 반환하고 종료한다.
상기 S205에서 상기 래치관리수단이 상기 해당 사용자 요구만 상기 래치큐에 있는 것은 아니라고 판단되면, S210에서는 상기 mutex를 반환한다.
S211에서는 상기 래치관리수단이 다음 차례의 사용자 요구를 결정한다.
S212에서는 상기 래치관리수단이 상기 해당 사용자 요구를 상기 래치큐에서 삭제한다.
S213에서는 상기 래치관리수단이 다음 차례의 사용자 요구를 깨우고 종료한다.
상술한 바와 같은 본 발명은 효과는 다수 사용자 시스템에 대한 동시성이 향상되고, 전체 시스템의 성능도 크게 향상시킨다는 데에 있다.
Claims (7)
- 상호배제변수와 래치관리를 통제하는 래치관리수단을 이용하여 임계영역을 지원하는 래치를 관리하는 방법에서 래치획득방법에 있어서, 사용자가 임계영역에 진입하기 위하여 래치관리수단에 래치획득의 기회를 요구하는 제 1 과정과; 사용자가 상호배제변수를 점유하여 래치관리수단이 사용자 요구를 등록하는 제 2 과정과; 사용자가 상호배제변수를 반환하는 제 3 과정; 및 사용자가 래치를 획득하는 제 4 과정을 포함하는 것을 특징으로 하는 래치획득방법.
- 제 1 항에 있어서,상기 제 2 과정이, 상기 래치관리수단이 사용자가 상호배제변수를 점유할 수 있는지를 판단하는 제 1 단계와; 상기 제 1 단계에서 점유할 수 없다고 판단되면, 상기 래치관리수단이 상기 사용자 요구를 잠재우는 제 2 단계와; 소정의 시간 후, 상기 래치관리수단이 상기 사용자 요구를 깨우는 제 3단계와; 상기 제 1 단계로 진행하는 제 4 단계와; 상기 제 1단계에서 점유할 수 있다고 판단되면, 상기 래치관리수단이 상기 상호배제변수를 점유하는 제 5 단계; 및 상기 래치관리수단이 상기 사용자 요구를 등록하는 제 6 단계로 이루어지는 것을 특징으로 하는 래치획득방법.
- 제 1 항에 있어서, 상기 제 4 과정이, 상기 래치관리수단이 상기 등록된 사용자 요구가 수행될 차례가 되었는지를 판단하는 제 1 단계와; 상기 제 1 단계에서 상기 등록된 사용자 요구가 수행될 차례가 되었다고 판단되면, 사용자가 래치를 획득하는 제 2 단계와; 상기 제 1 단계에서 상기 등록된 사용자 요구가 수행될 차례가 되지 않았다고 판단되면, 상기 래치관리수단이 상기 등록된 사용자 요구를 잠재우는 제 3 단계와; 다른 사용자 요구가 상기 3 단계에서 재워진 요구를 깨우는 제 4 단계; 및 사용자가 래치를 획득하는 제 5 단계로 이루어지는 것을 특징으로 하는 래치획득방법.
- 상호배제변수와 래치관리를 통제하는 래치관리수단을 이용하여 임계영역을 지원하는 래치를 관리하는 방법에서 래치반환방법에 있어서, 해당 사용자가 이미 획득했던 래치를 반환하려고 상기 래치관리수단에 상기 해당 사용자가 래치반환의 기회를 상기 래치관리수단에 요구하는 제 1 과정과; 상기 래치관리수단이 해당 사용자 요구 이외의 다른 사용자 요구가 래치큐에 있는지 판단하는 제 2 과정과; 상기 제 2 과정에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 없다고 판단되면, 상기 해당 사용자가 상기 상호배제변수의 점유가능 여부에 따라 상기 해당 사용자가 상기 상호배제변수를 점유하는 제 3 과정과; 해당 사용자 요구만이 상기 래치큐에 있는지의 여부에 따라 해당 사용자가 상기 해당 사용자 요구를 상기 래치큐에서 삭제하면서 상기 상호배제변수를 반환하는 제 4 과정; 및 상기 제 2 과정에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 있다고 판단되면, 다음 사용자 요구를 결정하여 상기 해당 사용자 요구를 상기 래치큐에서 삭제하면서 상기 다음 사용자 요구를 깨우는 제 5 과정을 포함하는 것을 특징으로 하는 래치반환방법.
- 제 4 항에 있어서, 상기 제 3 과정이, 상기 래치관리수단이 상기 해당 사용자가 상기 상호배제변수를 점유할 수 있는지를 판단하는 제 1 단계와; 상기 제 1 단계에서 상기 상호배제변수를 점유할 수 없다고 판단되면, 상기 래치관리수단이 상기 해당 사용자 요구 이외의 다른 사용자 요구가 래치큐에 있는지 판단하는 제 2 단계와; 상기 제 2 단계에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치관리에 있다고 판단되면, 상기 제 5 과정으로 진행하는 제 3 단계와; 상기 제 2 단계에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 없다고 판단되면, 상기 래치관리수단이 해당 사용자 요구를 일정시간 잠재우는 제 4 단계와; 상기 래치관리수단이 상기 잠자고 있는 해당 사용자 요구를 깨우고 상기 제 1 단계로 진행하는 제 5 단계; 및 상기 제 1 단계에서 상기 상호배제변수를 점유할 수 있다고 판단되면, 상기 래치관리수단이 상기 상호배제변수를 점유하는 제 6 단계로 이루어지는 것을 특징으로 하는 래치반환방법.
- 제 4 항에 있어서, 상기 제 4 과정이, 상기 래치관리수단이 해당 사용자 요구만 상기 래치큐에 있는지 판단하는 제 1 단계와; 상기 제 1 단계에서 상기 래치관리수단이 상기 해당 사용자 요구만이 상기 래치큐에 있다고 판단되면, 상기 래치관리수단이 상기 해당 사용자 요구를 상기 래치큐에서 삭제하는 제 2 단계와; 상기 해당 사용자가 상기 상호배제변수를 반환하는 제 3 단계; 및 상기 제 1 단계에서 상기 래치관리수단이 상기 해당 사용자 요구가 상기 래치큐에 있는 것은 아니라고 판단되면, 상기 상호배제변수를 반환하고 상기 제 5 과정으로 진행하는 제 4단계로 이루어지는 것을 특징으로 하는 래치반환방법.
- 제 4 항에 있어서, 상기 제 5 과정이, 상기 래치관리수단이 다음 차례의 사용자 요구를 결정하는 제 1 단계와; 상기 래치관리수단이 상기 해당 사용자 요구를 상기 래치큐에서 삭제하는 제 2 단계; 및 상기 래치관리수단이 다음 차례의 사용자 요구를 깨우는 제 3 단계로 이루어지는 것을 특징으로 하는 래치반환방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950025697A KR0146551B1 (ko) | 1995-08-21 | 1995-08-21 | 임계영역을 지원하는 래치 관리방법 |
US08/649,159 US5941975A (en) | 1995-08-21 | 1996-05-17 | Method of using a latch for controlling simultaneous access to a critical section |
JP8125718A JPH0962521A (ja) | 1995-08-21 | 1996-05-21 | 臨界領域を支援するラッチ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950025697A KR0146551B1 (ko) | 1995-08-21 | 1995-08-21 | 임계영역을 지원하는 래치 관리방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970012182A KR970012182A (ko) | 1997-03-29 |
KR0146551B1 true KR0146551B1 (ko) | 1998-09-15 |
Family
ID=19423910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950025697A KR0146551B1 (ko) | 1995-08-21 | 1995-08-21 | 임계영역을 지원하는 래치 관리방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5941975A (ko) |
JP (1) | JPH0962521A (ko) |
KR (1) | KR0146551B1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6412031B1 (en) * | 1998-02-10 | 2002-06-25 | Gateway, Inc. | Simultaneous control of live video device access by multiple applications via software locks and in accordance with window visibility of applications in a multiwindow environment |
US6499048B1 (en) * | 1998-06-30 | 2002-12-24 | Sun Microsystems, Inc. | Control of multiple computer processes using a mutual exclusion primitive ordering mechanism |
US7328263B1 (en) * | 2001-01-30 | 2008-02-05 | Cisco Technology, Inc. | Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach |
JP2010504581A (ja) * | 2006-09-25 | 2010-02-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | マルチスレッドアプリケーションにおけるロバストなクリティカルセクション設計 |
US7801852B2 (en) * | 2007-07-31 | 2010-09-21 | Oracle International Corporation | Checkpoint-free in log mining for distributed information sharing |
US9230002B2 (en) * | 2009-01-30 | 2016-01-05 | Oracle International Corporation | High performant information sharing and replication for single-publisher and multiple-subscriber configuration |
KR101080845B1 (ko) * | 2009-10-30 | 2011-11-07 | (주)지노게임즈 | 교착 상태의 방지를 위한 데이터 처리 방법 및 시스템 |
US9678894B2 (en) * | 2015-03-27 | 2017-06-13 | Intel Corporation | Cache-less split tracker architecture for replay protection trees |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5175861A (en) * | 1988-10-14 | 1992-12-29 | Nec Corporation | Lock processing system |
US5263161A (en) * | 1989-07-26 | 1993-11-16 | Massachusetts Institute Of Technology | Non-busy waiting resource control |
JP2830116B2 (ja) * | 1989-07-27 | 1998-12-02 | 日本電気株式会社 | マルチプロセッサシステムにおけるロック制御機構 |
JPH05503177A (ja) * | 1989-08-21 | 1993-05-27 | マサチユセツツ・インスチチユート・オブ・テクノロジー | サービス要求リストの分散構成 |
US5161227A (en) * | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
AU633724B2 (en) * | 1990-06-29 | 1993-02-04 | Digital Equipment Corporation | Interlock queueing |
US5263155A (en) * | 1991-02-21 | 1993-11-16 | Texas Instruments Incorporated | System for selectively registering and blocking requests initiated by optimistic and pessimistic transactions respectively for shared objects based upon associated locks |
US5276844A (en) * | 1991-08-05 | 1994-01-04 | Ascom Autelca Ltd. | Protection system for critical memory information |
DE69230462T2 (de) * | 1991-11-19 | 2000-08-03 | Sun Microsystems, Inc. | Arbitrierung des Multiprozessorzugriffs zu gemeinsamen Mitteln |
US5450592A (en) * | 1992-09-02 | 1995-09-12 | Data General Corporation | Shared resource control using a deferred operations list |
US5317749A (en) * | 1992-09-25 | 1994-05-31 | International Business Machines Corporation | Method and apparatus for controlling access by a plurality of processors to a shared resource |
-
1995
- 1995-08-21 KR KR1019950025697A patent/KR0146551B1/ko not_active IP Right Cessation
-
1996
- 1996-05-17 US US08/649,159 patent/US5941975A/en not_active Expired - Lifetime
- 1996-05-21 JP JP8125718A patent/JPH0962521A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR970012182A (ko) | 1997-03-29 |
US5941975A (en) | 1999-08-24 |
JPH0962521A (ja) | 1997-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2531881B2 (ja) | 並行制御方法 | |
Stone et al. | Multiple reservations and the Oklahoma update | |
Hoare | Monitors: An operating system structuring concept | |
CA1189979A (en) | Method and apparatus for managing a buffer pool referenced by batch and interactive processes | |
US7526673B2 (en) | Parallel processing system by OS for single processors and parallel processing program | |
US8108696B2 (en) | Optimizing non-preemptible read-copy update for low-power usage by avoiding unnecessary wakeups | |
US9250979B2 (en) | Asynchronous grace-period primitives for user-space applications | |
US9389925B2 (en) | Achieving low grace period latencies despite energy efficiency | |
US20020046230A1 (en) | Method for scheduling thread execution on a limited number of operating system threads | |
JP4062441B2 (ja) | 並列処理システム及び並列処理プログラム | |
KR20040102335A (ko) | 싱글 프로세서용 운영 체제에 의한 병렬 처리 시스템에있어서의 전원 관리 시스템 및 전원 관리 프로그램 | |
US6769121B1 (en) | Program execution device and process migrating method thereof and storage medium which stores process migration control program | |
KR0146551B1 (ko) | 임계영역을 지원하는 래치 관리방법 | |
JP2001084235A (ja) | ロック粒度統計情報を利用した排他制御方法及びプログラムを記録した機械読み取り可能な記録媒体 | |
JPH05225149A (ja) | ロック方式 | |
Liu et al. | Lock-free scheduling of logical processes in parallel simulation | |
Audsley | Resource control for hard real-time systems: A review | |
JPS58169659A (ja) | 共用ロツク制御方式 | |
Pons et al. | Mixed concurrency control: Dealing with heterogeneity in distributed database systems. | |
US5797138A (en) | Buffer management method using buffer locking mechanism in storage system for supporting multi-user environment | |
KR950014165B1 (ko) | Unix 운영체제에서의 임계영역 지원방법 | |
JP2018049406A (ja) | 複数プロセッサ間のタスク連携装置 | |
Lindström et al. | Using real-time serializability and optimistic concurrency control in firm real-time databases | |
Bach et al. | The UNIX system: Multiprocessor UNIX operating systems | |
Goddeau | A multiple processor implementation of the TRIX operating system |
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: 20110511 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |