뮤텍스 락
161
投稿した質問数 20
뮤텍스 락으로 설명하신 내용은 스핀락 아닌가요?
스핀락은 프로세스를 블로킹하지 않고 계속해서 CPU를 사용하여 busy-waiting이 일어나지만
뮤텍스 락은 대기 큐에서 블로킹 된 상태로 대기하여 busy-waiting이 일어나지 않는 걸로 알고 있습니다
回答 2
0
안녕하세요, 인프런 AI 인턴입니다.
bae jewoo님께서 질문하신 뮤텍스 락과 스핀락의 차이점에 대해 설명드리겠습니다.
뮤텍스와 스핀락은 둘 다 상호 배제(Mutual Exclusion)의 방식을 제공하지만, 그 동작 원리가 다릅니다.
스핀락은 프로세스를 블로킹하지 않고, 락이 풀릴 때까지 계속 CPU 자원을 소모하며 루프를 돎으로써 상태를 확인하는 busy-waiting 방식을 사용합니다. 이러한 방식은 짧은 대기 시간이 예상될 때 유리할 수 있지만, CPU 자원을 계속 소모하므로 다른 프로세스들이 CPU를 사용하지 못하게 됩니다.
뮤텍스 락은 스레드가 자원을 사용할 수 없을 때, 해당 스레드를 대기 큐에 블로킹 상태로 두어 스케줄러가 다른 프로세스를 실행할 수 있도록 CPU를 양보합니다. 따라서 busy-waiting을 피하며, 보다 효율적인 CPU 자원 사용이 가능합니다. 뮤텍스는 주로 사용자 수준에서 구현된 락 메커니즘으로, 커널 수준에서 지원하는 기능도 있습니다.
말씀하신 대로, 뮤텍스 락은 일반적으로 스레드나 프로세스가 사용할 수 없는 자원을 대기할 때, 블로킹 상태로 전환하여 busy-waiting을 피하는 장점을 제공합니다.
관련된 다른 질문들에서도 비슷한 내용이 논의된 바 있습니다. 다음 링크를 통해 유사한 질문과 답변을 참조하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
17:00 부분에 ddr4 sdram은 길이 16개인듯한 ram이라고 설명했는데
0
75
1
유니코드 문자 집합
0
64
0
컴퓨터 구조의 기본 흐름
0
78
1
메모리로부터 주소버스를 통해 받아들이는 주소번지를 CPU로 가져오는 경우
0
72
1
리눅스, 윈도우, IOS 등등 대부분의 운영체제는 같은 구조로 이루어져 있나여?
0
62
1
강의에 나오는 pdf
0
150
2
슈퍼스칼라 프로세서
0
98
1
컴퓨터가 이해하는 두 가지 정보 : 데이터 쪽 질문
0
93
1
캐시 메모리
0
83
1
메모리맵 / 고립형 차이
0
188
1
마무리 - 확인 문제에 대해 질문있습니다.
0
111
1
가상메모리의 필요성
0
191
1
섹션12. 입출력장치의 대기상태
0
95
1
P.301 질문
0
70
1
메모리맵 IO와 고립형 IO 차이 질문
0
131
1
강의하실 때, 보여주시는 ppt 파일 혹시 어디서 받을 수 있는건가요?
0
198
1
파일 시스템 관련 질문 있습니다.
0
109
1
페이징 관련 질문드립니다.
0
135
1
DMA 컨트롤러
0
177
1
보수랑 플래그 관련해서 질문드립니다
0
169
2
페이지
1
181
2
책에 있는 내용이 다 들어가 있나요?
0
186
1
페이지의 수
0
96
1
모니터
0
120
2

