-
카테고리
-
세부 분야
시스템
-
해결 여부
미해결
프로세스 블록상태 예시
21.06.19 12:06 작성 조회수 125
2
강사님 프로세스 블록상태는 하드와 메모리간의 통신 이라 하셧는데
예를 들어 mysql 서버에 CRUD 하는 과정도 블록상태가 될 수 있나요?
대표적으로 어떤 것들이 있을까여?
답변을 작성해보세요.
0
ProgCoach4U
지식공유자2021.06.20
안녕하세요. 홍태경님
네. 맞습니다. 프로세스가 block 상태가 되는 가장 대표적인 케이스가 바로 저장 장치에 액세스하는 일입니다. mysql에 CRUD operation을 하는 것이 결국 저장 장치에 액세스하는 일이기 때문에 이 과정에서 mysql process가 blocked 될 수 있습니다.
위의 예제와 같이 저장 장치에 액세스하는 경우 외에도 mutex와 같은 동기화 객체에 접근했다가 잠들어 기다리는 경우도 blocked 상태가 됩니다. 또 어떤 디바이스 드라이버에 어떤 기능 요청을 한 후 응답이 올 때까지 기다리는 경우에도 프로세스가 blocked 상태가 될 수 있습니다.
결국, 프로세스가 어떤 일을 하려고 할 때 스스로 일을 완료하지 못하고 뭔가를 기다려야 하는 상황에 blocked 상태가 된다고 이해하시면 될 것 같습니다.
답변 1