강의

멘토링

로드맵

Inflearn Community Q&A

hyunzxn's profile image
hyunzxn

asked

Computer Engineering for Developers 1: Computer Architecture + Operating Systems for Self-study

Synchronization Techniques

뮤텍스 락 관련해서 질문이 있습니다.

Resolved

Written on

·

380

0

안녕하세요! 좋은 강의 감사드립니다.

 

뮤텍스 락과 관련해서 질문이 있습니다. 제가 다른 운영체제 강의 영상을 보니까 이 강의에서 설명해주신 뮤텍스 락에 대한 설명이 스핀락 개념과 유사하더군요. while문을 반복해서 돌면서 계속해서 lock을 확인하는 부분이요.

 

그 강의에서 뮤텍스는 자원을 얻을 수 없을 때는 while을 도는 것이 아니라 쉬면서 큐에 들어간다고 하더라구요..

 

혹시 어떻게 이해하는 것이 맞을까요? 혼란이 와서 질문 남겨봅니다.

컴퓨터-구조운영체제기술면접

Answer 1

0

kangminchul님의 프로필 이미지
kangminchul
Instructor

안녕하세요!

전체적인 동작 방식은 강의에서 설명해드린 정도와 같지만,

책(과 강의)에서 언급드렸듯 구체적인 구현은

구현체에 따라 다를 수 있습니다.

 

제가 봐온 바로는

spinlock이라 명시적으로 언급하지 않는 이상

큐와 process state 변경을 이용하는 것 같습니다.

다만 강의와 책에서 while문 기반의 구현을 우선 설명한 뒤,

뒤 semaphore에서 이를 개선한 대기 상태 + 큐 삽입을 설명드린 이유는

바쁜대기 (busy waiting)의 개념을 설명드리기 위함이었습니다 :)

 

둘 다 중요한 개념이라서요.

좋게 들어주셔서 감사드립니다.

 

 

hyunzxn님의 프로필 이미지
hyunzxn
Questioner

부트캠프에서도 도움을 많이 받았는데 이렇게 강의를 통해서도 많이 배우게 되네요 감사합니다!

hyunzxn's profile image
hyunzxn

asked

Ask a question