Application Program 설계 시 multi-process vs. multi-thread
안녕하세요, 늘 좋은 강의 감사드립니다.
강의 중 Process=Program 이라고 생각하면 된다고 하셨는데,
하나의 Application Program을 설계 할 때 동시에 수행되어야 하는 task에 대해 multi-process로 동작하도록 할 것 인가 multi-thread로 동작하도록 할 것 인가는 설계자의 선택의 문제인가요?
Process=Program 개념으로 생각하면 설계자 입장에서 하나의 Application Program 내에 여러개의 Process를 만드는 것은 불가능 한 것인가? 이렇게 생각이 들기도 하는데 궁금해서 여쭤봅니다.
Câu trả lời 1
1
네, 그렇습니다. 특히 GUI가 있는 경우와 없는 경우도 생각해야 합니다. 한 프로그램을 여러 프로세스로 구성하는 경우는 생각보다 많습니다. 다만 한 프로그램에 대해 같은 프로세스가 여럿 존재하는 경우는 경험하지 못했습니다. 가령 Word나 PPT처럼 문서 편집 도구라면 한 프로그램에 대해 여러 프로세스가 존재하더라도 그 각각이 개별 문서 데이터를 로드하고 있는 독립적인 프로세스로 구성됩니다. 그러가 문서 하나를 위해 PPT 프로세스가 2개 이상 실행되어야 할 이유는 없다고 보는 것이 좋겠습니다.
다만 웹 브라우저의 경우 내부 구성요소(기능)들이 개별 프로세스로 로딩되기도 합니다. 예를 들어 어떤 페이지 하나에 접속했을 때 눈에 보이는 브라우저는 1개뿐이라 해도 내부적으로는 2~3개가 실행 중일 수 있습니다.
결론은...불가능이라기 보다 개발자의 선택이 맞겠습니다. 어떤 구조가 더 적절한 것인지 판단하고 그에 맞는 구조를 택하면 되겠습니다. 감사합니다.
32bit app에서 vms 4gb 설명에 대한 질문입니다.
0
76
2
레이스 컨디션 문제
0
207
2
스레드 종료 순서
0
149
1
제가 이해한게 맞는지 궁금합니다. (비디오 카드에 output)
0
228
2
플랫폼 bit관련 질문입니다
0
153
3
백그라운드 스케쥴링관련 질문입니다.
0
164
2
ready queue에 있던 프로세스들이 sleep이나 suspend되는 게 가능한가요?
0
249
2
IPC는 곧..?
0
358
2
interrupt와 DirectX 질문
0
403
2
공유자원과 임계구역
0
318
2
DMA와 고성능 소켓관련 질문입니다.
0
294
3
2강 DMA와 고성능 소켓 질문
0
417
3
I/O 관리자, 메모리 매니저 사용 이유
0
292
2
*pszResult =A; 포인터 사용 부분에 대한 질문입니다.
0
199
1
교착상태와 게임이 튕기는 현상
0
218
1
멀티스레딩
0
409
2
자료구조 공부
0
419
2
윈도우 레지스트리 질문
0
261
1
파일시스템과 가상메모리
0
341
1
Page fault 메시지가 나오면 스왑 인, 스왑 아웃은 일어나지 않는 건가요?
0
257
1
가상 주소, 절대 주소 부분이 헷갈립니다.
0
339
2
운영체제 스레드 공부 중 궁금한 점 있습니다.
0
354
3
직업 관련 질문
0
326
1
페이징 기법의 주소 변환
0
299
2

