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
Application number
KR1019950025697A
Other languages
English (en)
Other versions
KR970012182A (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 KR1019950025697A priority Critical patent/KR0146551B1/ko
Priority to US08/649,159 priority patent/US5941975A/en
Priority to JP8125718A priority patent/JPH0962521A/ja
Publication of KR970012182A publication Critical patent/KR970012182A/ko
Application granted granted Critical
Publication of KR0146551B1 publication Critical patent/KR0146551B1/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, 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

임계영역을 지원하는 래치관리방법(Management method of latch for supporting critical section)
제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. 상호배제변수와 래치관리를 통제하는 래치관리수단을 이용하여 임계영역을 지원하는 래치를 관리하는 방법에서 래치획득방법에 있어서, 사용자가 임계영역에 진입하기 위하여 래치관리수단에 래치획득의 기회를 요구하는 제 1 과정과; 사용자가 상호배제변수를 점유하여 래치관리수단이 사용자 요구를 등록하는 제 2 과정과; 사용자가 상호배제변수를 반환하는 제 3 과정; 및 사용자가 래치를 획득하는 제 4 과정을 포함하는 것을 특징으로 하는 래치획득방법.
  2. 제 1 항에 있어서,상기 제 2 과정이, 상기 래치관리수단이 사용자가 상호배제변수를 점유할 수 있는지를 판단하는 제 1 단계와; 상기 제 1 단계에서 점유할 수 없다고 판단되면, 상기 래치관리수단이 상기 사용자 요구를 잠재우는 제 2 단계와; 소정의 시간 후, 상기 래치관리수단이 상기 사용자 요구를 깨우는 제 3단계와; 상기 제 1 단계로 진행하는 제 4 단계와; 상기 제 1단계에서 점유할 수 있다고 판단되면, 상기 래치관리수단이 상기 상호배제변수를 점유하는 제 5 단계; 및 상기 래치관리수단이 상기 사용자 요구를 등록하는 제 6 단계로 이루어지는 것을 특징으로 하는 래치획득방법.
  3. 제 1 항에 있어서, 상기 제 4 과정이, 상기 래치관리수단이 상기 등록된 사용자 요구가 수행될 차례가 되었는지를 판단하는 제 1 단계와; 상기 제 1 단계에서 상기 등록된 사용자 요구가 수행될 차례가 되었다고 판단되면, 사용자가 래치를 획득하는 제 2 단계와; 상기 제 1 단계에서 상기 등록된 사용자 요구가 수행될 차례가 되지 않았다고 판단되면, 상기 래치관리수단이 상기 등록된 사용자 요구를 잠재우는 제 3 단계와; 다른 사용자 요구가 상기 3 단계에서 재워진 요구를 깨우는 제 4 단계; 및 사용자가 래치를 획득하는 제 5 단계로 이루어지는 것을 특징으로 하는 래치획득방법.
  4. 상호배제변수와 래치관리를 통제하는 래치관리수단을 이용하여 임계영역을 지원하는 래치를 관리하는 방법에서 래치반환방법에 있어서, 해당 사용자가 이미 획득했던 래치를 반환하려고 상기 래치관리수단에 상기 해당 사용자가 래치반환의 기회를 상기 래치관리수단에 요구하는 제 1 과정과; 상기 래치관리수단이 해당 사용자 요구 이외의 다른 사용자 요구가 래치큐에 있는지 판단하는 제 2 과정과; 상기 제 2 과정에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 없다고 판단되면, 상기 해당 사용자가 상기 상호배제변수의 점유가능 여부에 따라 상기 해당 사용자가 상기 상호배제변수를 점유하는 제 3 과정과; 해당 사용자 요구만이 상기 래치큐에 있는지의 여부에 따라 해당 사용자가 상기 해당 사용자 요구를 상기 래치큐에서 삭제하면서 상기 상호배제변수를 반환하는 제 4 과정; 및 상기 제 2 과정에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 있다고 판단되면, 다음 사용자 요구를 결정하여 상기 해당 사용자 요구를 상기 래치큐에서 삭제하면서 상기 다음 사용자 요구를 깨우는 제 5 과정을 포함하는 것을 특징으로 하는 래치반환방법.
  5. 제 4 항에 있어서, 상기 제 3 과정이, 상기 래치관리수단이 상기 해당 사용자가 상기 상호배제변수를 점유할 수 있는지를 판단하는 제 1 단계와; 상기 제 1 단계에서 상기 상호배제변수를 점유할 수 없다고 판단되면, 상기 래치관리수단이 상기 해당 사용자 요구 이외의 다른 사용자 요구가 래치큐에 있는지 판단하는 제 2 단계와; 상기 제 2 단계에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치관리에 있다고 판단되면, 상기 제 5 과정으로 진행하는 제 3 단계와; 상기 제 2 단계에서 상기 해당 사용자 요구 이외의 다른 사용자 요구가 상기 래치큐에 없다고 판단되면, 상기 래치관리수단이 해당 사용자 요구를 일정시간 잠재우는 제 4 단계와; 상기 래치관리수단이 상기 잠자고 있는 해당 사용자 요구를 깨우고 상기 제 1 단계로 진행하는 제 5 단계; 및 상기 제 1 단계에서 상기 상호배제변수를 점유할 수 있다고 판단되면, 상기 래치관리수단이 상기 상호배제변수를 점유하는 제 6 단계로 이루어지는 것을 특징으로 하는 래치반환방법.
  6. 제 4 항에 있어서, 상기 제 4 과정이, 상기 래치관리수단이 해당 사용자 요구만 상기 래치큐에 있는지 판단하는 제 1 단계와; 상기 제 1 단계에서 상기 래치관리수단이 상기 해당 사용자 요구만이 상기 래치큐에 있다고 판단되면, 상기 래치관리수단이 상기 해당 사용자 요구를 상기 래치큐에서 삭제하는 제 2 단계와; 상기 해당 사용자가 상기 상호배제변수를 반환하는 제 3 단계; 및 상기 제 1 단계에서 상기 래치관리수단이 상기 해당 사용자 요구가 상기 래치큐에 있는 것은 아니라고 판단되면, 상기 상호배제변수를 반환하고 상기 제 5 과정으로 진행하는 제 4단계로 이루어지는 것을 특징으로 하는 래치반환방법.
  7. 제 4 항에 있어서, 상기 제 5 과정이, 상기 래치관리수단이 다음 차례의 사용자 요구를 결정하는 제 1 단계와; 상기 래치관리수단이 상기 해당 사용자 요구를 상기 래치큐에서 삭제하는 제 2 단계; 및 상기 래치관리수단이 다음 차례의 사용자 요구를 깨우는 제 3 단계로 이루어지는 것을 특징으로 하는 래치반환방법.
KR1019950025697A 1995-08-21 1995-08-21 임계영역을 지원하는 래치 관리방법 KR0146551B1 (ko)

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)

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

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

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