반응형
프로세스와 스레드의 차이
프로세스 : 실행중인 프로그램
스레드 : 프로세스 안 실행 단위
예를 들어 유튜브를 보고 있다고 생각해보자
유튜브를 보면
재생중인 유튜브 아래의 좋아요 버튼 이 하나하나가 스레드 이며
이것이 모이면 프로세스가 된다.
프로세스가 메모리에 올라 갈 떄 운영체제로 부터 시스템 자원을 할당받는다.
이 때 운영체제는 프로세스마다 각각 독립된 메모리 영역 (코드/데이터/스택/힙) 형식으로 할당해 준다.
ㅂ각각 독립된 메모리 영역을 할당해 주기 때문에 프로세스는 다른 프로세스의 변수나 자료에 접근 할 수 없다.
이와 다르게 스레드는 메모리를 서로 공유할 수 있다고 한다. 이에 대해 더 자세히 설명하자면 프로세스가 할당받은 메모리 영역 내에서 스택형식으로 할당된 메모리 영역은 따로 할당 받고 나머지 코드 /데이터/힙 형식으로 할당된 메모리를 공유한다. 따라서 각가의 스레드는 별도의 스택을 가지고 있지만 힙 메모리는 서로 읽고 쓸 수 있게 된다.
반응형
'컴퓨터공학 > 운영체제' 카테고리의 다른 글
운영체제(6) 데드락(Deadlock, 교착 상태)이란? (0) | 2022.06.17 |
---|---|
운영체제(5) 가상 메모리 (0) | 2022.06.17 |
운영체제(4) CPU 스케줄러 (0) | 2022.06.17 |
운영체제(2) 메모리 구조 (0) | 2022.06.17 |
운영체제(1) 운영체제란? (0) | 2022.06.17 |