728x90
프로그램이 메모리에 올라가서 CPU에 의하여 처리되는 상태의 작업 단위를 프로세스 라고 한다.
프로세스는 각각 독립적인 주소 공간을 할당을 받는다.
이 때 프로세스 내부에서의 메모리 구조는 코드-데이터-스택-힙 으로 구성이 된다.
스레드는 프로세스 내에서 동작하는 실행의 단위를 말하는 것이다.
프로세스는 최소한 하나 이상의 스레드 (메인스레드) 를 가진다.
하나의 프로세스 내에서 동작되는 실행의 흐름을 의미하며 프로세스 내에서 스레드끼리
정보나 주소, 자원등을 공유할 수 있다. 스레드가 여러개일 경우 각각 스레드마다 독립적인 스택을
확보하고 코드-데이터-힙 공간은 공유한다. 이는 스택이 함수내 호출인자 등을 저장하는 공간이기에
실행 흐름에서 독립적인 함수 호출을 가능케 하기 위함이다.
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] 데드락을 해결하기 위한 3가지 방법 (0) | 2021.07.07 |
---|---|
[운영체제] 데드락(교착상태) 의 개념과 4가지 발생 조건 (0) | 2021.06.30 |
[운영체제] 멀티프로세스 대신 멀티 스레드를 사용하는 이유 (0) | 2021.06.30 |
[운영체제] PCB가 무엇인가? (0) | 2021.06.30 |