본문내용
1. Task와 Thread 개념의 장점은?
- 병렬처리가 가능.
- 정보나 Data의 공유가 간단하고, setup이 적다.
- thread를 생성하는데 cpu 시간 사용 및 기타 overhead가 적음
1. Task와 Thread를 나눈 이유는??
공유할수 있는 자원을 task내에 할당해 놓고 task내의 여러 thread들 이 동시에 병렬처리를 수행할수 있다.
1. 어떤 경우에 하나 이상의 Task를 사용하여 Application을 작성하는가?
-> - Task에 포함되어 있는 리소스들에 대한 protection이 필요한 경우.
- 현재 사용하고 있는 리소스외에 다른 종류의 리소스를 사용하려 할 경우.
- 리소스를 추가하여 사용하려고 할 경우.
1. Multiple Threads를 사용할 경우 performance를 증가시킬 수 있는 3가지 경우와 그 이유는 무엇인가?
- Computing과 I/O가 overlap 가능할 때
하나의 Thread X가 computing과 I/O를 연속적으로 처리할때와 두개의 Thread A,B가 computing 작업과 I/O를 각각 병행적으로 처리 할 경우 시간을 절약할 수 있다
- Computing job들이 자주 생성, 소멸 될 때
Thread는 생성 소멸의 (cf) process) CPU time이 적게 걸린다
- Hardware가 하나이상의 Processor를 제공할 때
동시에 여러 개의 thread를 수행할 수 있다.
UNIX의 process와 Mach의 Task/Thread의 차이점과 Task/Thread를 사용했을 때의 장점에 대해 설명하시오.
답 : UNIX의 process는 연산을 수행하는 부분과 연산에 필요한 자원들이 하나의 process안에 함께 존재하는 반면, Mach의 Task/Thread에서는 연산을 수행하는 부분은 Thread로 연산에 필요한 자원들은 Task로 분리하였다.
Task/Thread를 사용함으로서 얻을 수 있는 장점으로는 병렬 프로세싱(parallel processing)이 가능하고, 정보의 공유(Information sharing)가 가능하며, process가 아닌 thread를 생성함에 따라 CPU의 overhead를 줄여줌.
- 병렬처리가 가능.
- 정보나 Data의 공유가 간단하고, setup이 적다.
- thread를 생성하는데 cpu 시간 사용 및 기타 overhead가 적음
1. Task와 Thread를 나눈 이유는??
공유할수 있는 자원을 task내에 할당해 놓고 task내의 여러 thread들 이 동시에 병렬처리를 수행할수 있다.
1. 어떤 경우에 하나 이상의 Task를 사용하여 Application을 작성하는가?
-> - Task에 포함되어 있는 리소스들에 대한 protection이 필요한 경우.
- 현재 사용하고 있는 리소스외에 다른 종류의 리소스를 사용하려 할 경우.
- 리소스를 추가하여 사용하려고 할 경우.
1. Multiple Threads를 사용할 경우 performance를 증가시킬 수 있는 3가지 경우와 그 이유는 무엇인가?
- Computing과 I/O가 overlap 가능할 때
하나의 Thread X가 computing과 I/O를 연속적으로 처리할때와 두개의 Thread A,B가 computing 작업과 I/O를 각각 병행적으로 처리 할 경우 시간을 절약할 수 있다
- Computing job들이 자주 생성, 소멸 될 때
Thread는 생성 소멸의 (cf) process) CPU time이 적게 걸린다
- Hardware가 하나이상의 Processor를 제공할 때
동시에 여러 개의 thread를 수행할 수 있다.
UNIX의 process와 Mach의 Task/Thread의 차이점과 Task/Thread를 사용했을 때의 장점에 대해 설명하시오.
답 : UNIX의 process는 연산을 수행하는 부분과 연산에 필요한 자원들이 하나의 process안에 함께 존재하는 반면, Mach의 Task/Thread에서는 연산을 수행하는 부분은 Thread로 연산에 필요한 자원들은 Task로 분리하였다.
Task/Thread를 사용함으로서 얻을 수 있는 장점으로는 병렬 프로세싱(parallel processing)이 가능하고, 정보의 공유(Information sharing)가 가능하며, process가 아닌 thread를 생성함에 따라 CPU의 overhead를 줄여줌.
소개글