프로세스와 스레드와 태스크의 차이점
- 최초 등록일
- 2006.10.16
- 최종 저작일
- 2006.10
- 2페이지/ 한컴오피스
- 가격 1,000원
소개글
프로세스와 스레드와 태스크의 각각의 정의와 연관성을 설명해놓은 글입니다.
목차
<프로세스(Process)>
<스레드(Thread)>
<태스크(Task)>
본문내용
프로세스는 컴퓨터 내에서 실행중인 프로그램의 instant이다. 이 용어는 몇몇 운영체제에서 사용되는, "Task"라는 용어와 의미상으로 가깝다. UNIX나 몇몇 다른 운영체계에서는, 프로그램이 시작되면 프로세스도 시작된다. task와 마찬가지로, 프로세스는 그 프로세스가 추적 관리될 수 있게 하기 위한 특정한 데이터 셋이 관련되어 실행 중인 프로그램이다. 여러 명의 사용자들에 의해 공유되고 있는 응용프로그램은 일반적으로 각 사용자들의 실행단계에서 하나의 프로세스를 갖는다.
프로세스는 자프로세스라고도 불리는 서브프로세스를 시작시킬 수 있다. 자프로세스는 부프로세스의 복제로서 부프로세스의 자원을 일부 공유하는데, 부프로세스가 종료되면 더 이상 존재할 수 없다.
프로세스는 윈도우 운영체제의 중요한 개념 중 하나이다. 프로세스는 말 그대로 하나의 프로그램인데 어떤 exe 파일을 실행시켰다 하면, 그 exe 파일이 메모리에 적재되어 불가침의 공간을 만들게 되어 이때 바로 `하나의 프로세스가 생겼다`라고 말할 수 있다. 다만 프로그램과 다른 것은, 프로세스는 여러 개의 프로그램의 집합체일 수도 있다는 것이며, 같은 프로세스 내에서 프로그램들은 메모리를 공유할 수 있다는 것이다. 하나의 프로세스는 하나의 thread를 가지지만, 기술적으로 여러 개의 thread를 만들어, 하나의 프로세스가 여러 개의 작업을 할 수 있다.
<스레드(Thread)>
Thread라는 것은, 사전에서 찾아보면 `실의 가닥`, `줄거리` 같은 뜻으로 나온다. 그것이 컴퓨터와 무슨 관계가 있는 것인지는 알기 힘들지만, 컴퓨터에서 thread라는 것은 `한 프로그램의 처리 흐름`이라고 설명하는 게 좋을 듯 하다. 하나의 thread는 자신이 갖고 있는 명령어들을 CPU에 집어넣고, 그걸 처리하고, 계속 코드를 진행하게 된다. 그러다 보니 각 thread는 자신만의 데이터, 프로그램 카운터, 레지스터, 스택, 스택 포인터 등, 갖고 있을 것은 다 갖고 있다.
참고 자료
없음