이론/운영체제
[OS] 쓰레드 상태, 쓰레드 동기화
ohojee
2023. 7. 30. 21:21
쓰레드 상태
프로세스가 스왑아웃될 경우, 그 프로세스의 모든 쓰레드는 주소공간을 공유하기에 모든 쓰레드도 스왑아웃
- 생성: 새 프로세스 생성 → 새 쓰레드도 함께 생성, 프로세스 내에서 다른 쓰레드도 생성 o → 새로운 쓰레드를 위해 명령 모인터와 인자들 제공
- 블록: 쓰레드가 어떤 사건을 기다려야 할 때 블록 → 준비상태의 다른 쓰레드 수행
- 비블록: 블록된 쓰레드가 기다리던 사건이 발생했을 때 그 쓰레드는 준비큐로 이동
- 종료: 쓰레드가 작업을 완료하면 레지스터 문맥과 스택 해제
쓰레드 동기화
프로세스 내의 쓰레드들은 메모리와 자원 공유
⇒ 하나의 쓰레드에 의한 자원 변경은 같은 프로세스 내에 존재하는 모든 쓰레드의 환경에 영향을 미침
⇒ 쓰레드들이 서로 간섭하지 않도록, 자료구조를 손상시키지 않도록 쓰레드들의 행위를 동기화해야 o