메세지 패싱에 대해 질문이 있습니다.
332
작성한 질문수 8
안녕하세요 교수님!
프로젝트를 하다가 연구 방향에 대해 궁금한 점이 있어서
질문드립니다.
공유 메모리(Shared-memory)가 아니라 메세지 패싱 방식을 이용해서 다자간(생산자, 소비자 각 3명 초과 > 3) 생산자 소비자 문제에 대한 해결 방법을 코딩으로 구현해야 하는 데요.
세마포어를 이용하여 자원 관리를 하고, 타임스탬프를 통해, 큐에 들어온 지 오래된 것부터 소비해야합니다. 이런 경우, 어떻게 접근해야 할까요?
답변 1
0
답변이 너무 늦었네요.
질문에 약간 오해의 소지가 있습니다만,
위 질문에서 유추한 해결 방법은 어렵지 않을 것 같습니다.
1. 메시지 패싱 방식이다.
순수한 메시지 패싱 방식이라면 송신자가 수신자를 지정해서 메시지를 던지면 되므로,
단순한 바이너리 세마포어(뮤텍스)로도 충분할 것 같습니다.
2. 타임스탬프를 통해 큐를 관리해야 한다.
단일 큐를 사용한다면, 굳이 타임스탬프를 사용할 필요는 없겠지요?
큐 자료구조를 구현하고 push/pop을 하면 되니까요.
그렇다면, 마찬가지로 바이너리 세마포어(뮤텍스)로도 충분할 것 같습니다.
운영체제 / 프로그래밍 언어별로 큐잉과 세마포어의 지원이 약간씩 다르므로
이것이 최적의 해결책이다, 라고 말씀드릴 순 없지만,
질문하신 상황은 동기화 메커니즘을 충분히 이해했다면
해결책이 몹시 복잡한 상황은 아니므로, 단순하게 생각하시면 쉽게 풀리실 것 같습니다.
퀴즈 7번의 답에 대한 질문입니다.
0
554
1
이해하고 있는것이 맞는건지 궁금합니다 ㅠㅠ
0
821
1
타우시간
0
553
1
퀴즈1 1번 질문합니다 !
1
611
1
Page는 Text Data이외에 다른 메모리도 포함하나요?
1
373
0
IPC shared memory 코드
0
519
1
[간단한 질문 ]banker's algorithm 을 linux 에서 실제로 프로세스 관리할때 쓰이나요?
0
402
0
user mode i/o 관련 질문
0
283
1
shared memory 관련해서 질문 드립니다.
0
521
1
교수님 fork()함수에 대해 질문이 있습니다.
0
896
2
process 와 thread
0
375
1
교수님 Docker 로 실습해도 괜찮을까요?
1
867
1
Mac OS에서 Docker 이용하여 Ubuntu 20.04 환경설정 방법 공유
22
3329
2
moniter, condition variable, synchronized에 대해서 궁금한점이 있습니다..
0
675
1
왜 무료인지 이해를 못 하겠네요..
3
433
1
7.1 Classic Problems of Synchronization 질문이 있습니다
0
307
1
공룡책 8판과 10판중
0
610
1
6.3 peterson's solution 질문이 있습니다
0
222
1
08-01 연습문제 8번 질문있습니다!
0
280
0
06. 프로세스간 통신의 실제: Chapter 3. Processes (Part 4) 에 그림 3.16 3.17 실습 오류
0
263
1
안녕하세요 교수님 실습 해봤는데 LINE J가 실행이 됩니다
1
356
1
2강 실습을 위한 개발환경 구축(Windows 10 + WSL 2 + Visual Studio Code)에서 출력오류
0
344
1
아래 질문 관련하여 다시 문의드립니다
0
199
1
Thread & Concurrency (Part 2) 질문드립니다
0
186
1





