공유자원과 임계영역, 경쟁상대 강의에서 임계영역 문제해결 질문
382
작성한 질문수 13
안녕하세요 강의 잘 보고있습니다.
다름이 아니라 강의 2분 경 임계영역 문제 해결을 위한 세 가지 조건에 대해 궁금한 점이 있어서요.
강의와 함께 학부 때 필기를 보던 중 제 필기에는 임계영역 문제 해결을 위한 세 가지 요건에
1) Mutual Exclusion
2) Progress
3) Bounded Waiting
가 있음을 보았습니다.
강의 자료의 상호배제는 Mutual Exclusion, 한정대기는 Bounded Waiting임을 알겠는대요. 융통성은 Progress일까요?
상호배제에서 한 프로세스가 임계영역에 들어갔을 때 다른 프로세스는 임계영역에 들어갈 수 없다고 했는데 이러한 상호배제가 있음에도 융통성이라는 조건을 통해 다른 프로세스의 일을 방해해서는 안 된다는 문장의 구체적 의미 또한 궁금합니다.
이 경우에서 P1이 먼저 수행시 P0의 작업 수행을 방해하는 경우가 융통성의 예시가 되는 건가요?
답변 1
1
A1. 융통성이라고는 하지 않고 진행의 융통성(progress flexibility, progress) 또는 진행이라고 합니다.
이는 CS에 프로세스가 없다면 프로세스가 들어가서 자원을 활용할 수 있음을 뜻합니다. 예를 들어 P1이 CS에 2번이상 연달아 CS에 들어갈 수 있는 것을 말합니다.이 때 이 진행의 융통성에 영향을 미치는 프로세스는 CS를 들어가길 기다리는 프로세스에 한정하며 이 결정은 무기한 연기될 수 없음을 뜻합니다.
- CS는 Critical Section의 약자입니다.
A2.
이러한 상호배제가 있음에도 융통성이라는 조건을 통해 다른 프로세스의 일을 방해해서는 안 된다는 문장의 구체적 의미 또한 궁금합니다.
>> 음.. 융통성을 통해 방해를 안한다는게 아니라 CS에 없다면 들어가서 일한다는 의미입니다.
A3.
말씀주신 그림의 경우 turn은 공유변수겠죠?
해당 부분은 진행의 융통성을 충족하지 않습니다. 예를 들어 turn이 1일 때 둘 다 대기하기 되기 때문입니다.
제가 진행의 융통성을 충족시키지 않는 그림을 그려봤는데요.
이렇게 “진행을 막으면” 안됩니다. ㅠ 비어있다면 어떠한 프로세스든 방해하지 않는 것을 말합니다.
감사합니다.
0
융통성과 진행이 같은 개념인 것 같은데 왜 이름이 다른가 싶어 고민하다 머리 속에서 꼬였나봅니다 ㅠㅠ
진행의 융통성이군요! 진행의 융통성이 더 와닿는 것 같네요 ㅎㅎ
친절하고 구체적인 답변 감사합니다!
안녕하세요 선생님, API 실습 2 강의를 듣다 궁금한 점이 생겨 질문 드립니다.
0
555
2
JSON으로 사이트맵
0
504
1
브라우저 렌더링 부분 교재 관련 질문입니다!
0
478
2
교제를 따로 사야하나요?
0
1976
1
클라우드 아키텍쳐에서 토폴로지 설계
1
720
1
로컬스토리지, 세션 스토리지 용량 초과하면 어떻게 되나요?
0
1561
1
학습 순서가 정해져있는건지 궁금합니다.
0
524
1
TCP/IP 4계층, OSI 7계층에 대해 질문드립니다.
0
976
1
서브넷마스크 할당 퀴즈가 헷갈립니다
1
478
1
Linked List의 시간 복잡도에 대한 질문입니다
0
487
1
HTTP 메서드 #1. 질문있습니다.
0
520
1
jwt 토큰
0
758
1
해당 질문에 대한 답변 예시 중에 제가 본 것 중 제일 고품질이네요
0
445
2
UDP의 고정길이에 대하여 질문이 있습니다.
0
322
1
팩토리 패턴의 의존성 주입과 관련해서 질문이 있습니다!
0
696
1
질문 잇워오
0
389
1
안녕하세요 axios DIP 사례의 화살표가 잘 이해가 되지 않아 질문드립니다
0
318
1
동적배열 질문있어요
0
246
1
책과 강의 교안.. 어떤 것에 비중을 두어야 하나요?
0
500
1
HTTP3 UDP통신
0
979
1
[오탈자 문의]
0
269
1
attribute, field, property의 명확한 차이점이 궁금합니다.
1
1467
1
싱글톤 패턴에서 정적 멤버 방식과 정적 블록 방에서 정적 블록 방식은 final이 없는 이유
0
340
1
Json이 프로그래밍 언어와 플랫폼에 독립적인 이유가 뭔가요?
0
440
1





