기어가더라도 제대로

[운영체제 - 김덕수 교수님] 프로세스 동기화, 상호 배제 - TAS(3/7) 본문

CS/운영체제

[운영체제 - 김덕수 교수님] 프로세스 동기화, 상호 배제 - TAS(3/7)

Damagucci-juice 2022. 8. 3. 18:25

HW 솔루션

  • TestAndSet (TAS) instruction
    • test 와 set을 한번에 수행하는 기계어
    • Machine instruction
      • Atomicity, Indivisible
      • 실행 중 interrupt를 받지 않음(preemption 되지 않음)
    • Busy waiting
      • 비효율적

‏‏‎ ‎

TAS Instruction

‏‏‎ ‎

프로세스 동기화-상호배제(3/7) image

  • 타겟값을 저장, 타겟에 true 저장, 반환 세동작이 한번에 실행된다.

‏‏‎ ‎

프로세스 동기화-상호배제(3/7) image

  • 한명이 들어가서 일을 하고 있을 때, 2,3번이 뺑뺑돌고 있는데,
  • 3번이 갔다고 치고, 다음에 4번이 온다면?
  • 2번은 계속 기다릴 수 밖에 없다.

‏‏‎ ‎

ME with TAS Instruction

  • N-process mutual exclusion

프로세스 동기화-상호배제(3/7) image

  • 장점
    • 구현이 간단
  • 단점
    • Busy waiting
  • Busy waiting 문제를 해소하기 위한 기법
    • semaphore
      • 대부분의 OS들이 사용하는 기법

‏‏‎ ‎

‏‏‎ ‎

Comments