ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Process synchronization
    전공 지식/OS 2018. 8. 9. 22:40

    Race condition

    여러 프로세스가 같은 데이터를 접근 했을 때, 접근의 순서가 결과 값에 영향을 줄 수 있는 상태


    Critical Section (임계구역)

    공유 데이터가 접근하는 코드의 일부를 의미함


    Solution

    1. Mutual Exclusion

    - Critical Section  부분은 단 1개의 프로세스만이 접근할 수 있게 한다. (Atomic)

    2. Progress

    - 기다리고 있는  Process가 있을 때, 특정 프로세스는 Critical Section에 진입할 수 있게 함

    3. Bounded Waitting

    - 기다리는 횟수의 Bound를 둔다.


    Peterson's Solution

    - Busy Waiting = Spin Lock

    Test And Set


    Semaphore / Mutex


    Semaphore공유된 자원의 데이터를 여러 프로세스가 접근하는 것을 막는 것

    Mutual Exclusion은 보장하지 않지만 정수값으로 범위가 되어 여러 프로세스가 접근 할 수도 있다. (동기화 대상이 여러개)

    소유가 불가능함

    파일 시스템상으로 존재


    Mutex공유된 자원의 데이터를 여러 쓰레드가 접근하는 것을 막는 것

    locking unlocking을 사용하여 공유 리소스 접근을 조율함

    Binary Semaphore 임

    소유가 가능하며 소유주는 그에 대한 책임을 진다. 따라서 소유주만이 unlock 을 할 수 있음.

    프로세스가 종료될 때, 자동으로 CleanUp


    '전공 지식 > OS' 카테고리의 다른 글

    Memory Management Stategies  (0) 2018.08.16
    Deadlocks  (0) 2018.08.16
    Process scheduling  (0) 2018.08.09
    Multithreaded Programming  (0) 2018.08.09
    Process Concept  (0) 2018.08.09

    댓글