[OS] Context Switching

류슬기·2021년 1월 26일
0

Computer Science

목록 보기
1/3
post-thumbnail

Context Switching

event, interrupt :event가 발생하면 현재 구동적인 작업을 중단하고 event 처리
handler : 이벤트를 어떻게 처리 할지에 대한 것
context : 현재 무엇을 어디까지 했는지에 대한 정보
소프트웨어(뮤텍스 사용가능), 하드웨어(작동되지 않음)

           (하드웨어 관점)
           
	A                B
      a = 5            a = 4
      b = a + c        b = a * 2
      c = 3            c = a + b

B 실행 후 A 그리고 다시 B 실행 b = 10
B만 실행 했을 때 b = 8이 되어야 하는데 b = 10 이라는 결과값 발생 => Race Condition

이런 경우 Context Switching이 필요!

각 테스크가 생성될 때 마다 자신만의 Context 객체 생성되어 위치를 기억 후 작동
Context는 IP 레지스터에 내용이 저장됨 레지스터 <--> 메모리 간의 입출력이 너무 많이 발생

Mutex vs Spinlock

단순작업(CPU의 소모가 적은 경우) Spinlock
복잡한작업 Mutex

profile
FE Developer🌱

0개의 댓글