ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OS: Semaphore
    os 운영체제 2024. 5. 5. 19:44

    Semaphore:

    세마포어의 작동 원리는 상호 배제 알고리즘(Mutual Exclusion Algorithm)에 기반한다.

     

    구성:

        세마포어 변수 S, P(wait) 연산, V(signal) 연산으로 구성되어 있다.

        세마포어 변수 S는 P와 V라는 명령에 의해서만 접근할 수 있다.

        s를 수정하는 연산은 모두 원자성을 만족해야한다.

        P는 임계 구역에 들어가기 전에 수행되고, V는 임계 구역에서 나올 때 수행된다.

    • 이진형 세마포어(binary semaphore): 0 또는 1을 가진다. 즉, 1개의 공유 자원을 상호배제하며 이를 이용해 계수 세마포어를 구현할 수도 있다.
    • 계수형 세마포어(counting semaphore): 0과 양의 정수값을 가질 수 있따. 여러개의 공유 자원을 상호배제할 수 있다.

    적용:

    s변수는 CS에 진입이 가능한 프로세스의 수를 뜻함.

    1. 프로세스는 CS에 진입 전 s-=1을 수행한다. 

    2. s>=0이면 CS에 진입 아니면 wait()한다.

    3. CS에서 나오며 s+=1을 하고 s<=0이면 wait()인 프로세스가 있다는 뜻이니 wakeup시켜 CS로 진입할 수 있게 한다.

     

     

    'os 운영체제' 카테고리의 다른 글

    OS: 프로세스 동기화(Process Synchronization)  (0) 2024.04.15
    os: 프로그램 실행 시 메모리의 구조  (0) 2024.04.14
    OS: Thread(cooperating system)  (0) 2024.04.08
    OS: RPC  (0) 2024.04.08
    OS: 프로세스, IPC, fork/exec  (0) 2024.04.03
Designed by Tistory.