-
Thread 와 Process전공 지식/OS 2018. 12. 7. 14:29
프로세스와 스레드는 무슨 차이일까?
프로세스 안에 스레드가 여러개 돌아갈 수 있다 이런걸로 알고있었는데 확실히 정리하면 좋을 것 같아서 공부했다.
우선 프로세스부터 살펴보자
프로세스(Process)
: 컴퓨터에서 연속적으로 실행되고 있는 프로그램
중요하게 봐야하는 부분은 *실행* 되고 있는 프로그램이라는 것이다.
그러면 프로세스와 프로그램은 어떤 차이를 가지고 있을까?
이건 사실 Process Concept (http://cmmcme.tistory.com/19?category=673402) 이 링크를 보면 알 수 있다.
프로세스는 프로그램보다 더 크다.
어떻게 더 크냐면
Process in memory
Program 은 data, text 만 있는데
Process 는 stack, heap, PCB 까지 가지고 있다.
스레드 (Thread)
: 프로세스 내에서 실행되는 여러 흐름의 단위
스레드는 프로세스당 최소 1개를 가지고 있고 여러개를 가질 수도 있다. 이걸 멀티 스레드라고 한다.
스레드에 대해서도 사실 정리한 적이 있다. (http://cmmcme.tistory.com/20?category=673402)
스레드는 코드, 데이터, 파일 영역을 공유하고 스택 레지스터는 각각 별도로 가진다.
그럼 이제 좀 생각하기 편해진다.
멀티 프로세싱 방식은 프로세스를 여러개 처리하는 방식이고
멀티 스레딩은 프로세스 내에 여러개의 스레드를 두어 처리를 하는 방식이다.
'전공 지식 > OS' 카테고리의 다른 글
File System (0) 2018.10.19 Virtual Memory Management (0) 2018.08.16 Memory Management Stategies (0) 2018.08.16 Deadlocks (0) 2018.08.16 Process synchronization (0) 2018.08.09 댓글