본문 바로가기
Quality control (Univ. Study)/Operating System

OS (pthread)

by 생각하는 이상훈 2022. 11. 13.
728x90

fork의 return값은 child에서 0이고 parent는 pid이다. 0인경우와 그렇지 않은 경우로 조건문을 나누었으나 child와 parent 모두 40000000이 나온것으로 보아 fork를 진행하면 child와 parent에서 모두 process가 진행됨을 알 수 있다.

 

 

 

deadlock 상태가 되어 아무것도 출력이 되지 않았다. 코드를 수정해보았다.

 

foo2 함수에서 pthread_mutex_lock 함수를 통해 뮤텍스 잠금을 요청하고 임계영역에 접근을 해야하는데

lock1lock2의 순서가 바뀌어서 lock1lock2가 얽혀서 dedlock상태가 된것으로 추정되어

그 순서를 바꾸었더니 제대로 출력이되었다.

 


 

728x90

'Quality control (Univ. Study) > Operating System' 카테고리의 다른 글

OS (File System)  (0) 2022.11.18
OS (fork)  (0) 2022.11.10
OS(process id)  (1) 2022.11.05
OS(interrupt)  (0) 2022.11.05
OS(system_call)  (0) 2022.10.11