[운영체제] 프로세스 구조(텍스트, 데이터, 힙, 스택), 컨텍스트 스위칭, IPC
프로세스: 프로그램이 실행되면 메모리에 올라가면 프로세스가 되어 텍스트, 데이터, 힙, 스택 영역으로 구조로 나누어져 올라간다. 이 영역의 크기는 리눅스 기준 4GB 이다. Stack : 메서드 매개 변수, 반환 주소 및 지역 변수와 같은 임시 데이터함수 호출 등으로 스택이 쌓이면 SP(스택 최상단 주소)가 변경된다. (그림에서처럼 아래로 쌓이게 된다.)stack 영역이 가득차면 stack overflow 발생Heap : 런타임 동안 프로세스에 동적으로 할당된 메모리 객체, 문자열, 배열 등의 크기가 할당된다.객체가 더 이상 사용되지 않으면(null 대입, 새 객체 덮어씀) 자동으로 heap 영역에서 삭제한다.Data : 전역 변수와 정적 변수가 저장된다.Text(Code) : '작성한 코드'의 바이너..