Process (2) 썸네일형 리스트형 [JAVA] 프로세스와 쓰레드 1. Process, Thread 프로세스란 간단히 말해서 실행중인 프로그램을 의미한다. 프로그램을 실행하면 OS 로부터 실행에 필요한 자원, 메모리를 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는데 필요한 데이터와 메모리 등의 자원, 그리고 쓰레드로 구성되어 있다. 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드이다. 모든 프로세스는 하나 이상의 쓰레드를 가지고 있으며, 둘 이상의 쓰레드를 가진 프로세스를 멀티쓰레드 프로세스, multi-threaded process 라고 한다. 하나의 프로세스가 가질 수 있는 쓰레드의 개수는 제한되어 있지 않으나, 쓰레드가 작업을 수행하는데 필요한 메모리가 한계에 다다르면 더이상 쓰레드를 만들 수 없다. - 멀티태스킹과 멀티쓰레딩 현재 .. [OS] Process Management 1. Process Process는 실행 중에 있는 프로그램을 의미한다. 우리가 작성한 소스 파일이나 이를 빌드한 바이너리 코드는 모두 프로그램이다. 이런 프로그램이 실행되면 프로세스가 된다. 프로세스는 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있다. OS로부터 주소 공간, 파일, 메모리 등을 할당 받으며, 이것들을 총칭하여 프로세스라고 한다. 구체적으로 함수의 매개변수, 복귀 주소와 로컬 변수와 같은 임시 자료를 갖는 프로세스 스택과 전역 변수들을 수록하는 데이터 섹션을 포함한다. 또한 프로세스는 프로세스 실행 중에 동적으로 할당되는 메모리인 heap을 포함한다. 2. 프로세스 메모리 구조 1) Stack 프로그램이 자동으로 사용하는 임시 메모리 영역 지역변수, 매개변수, 리턴 값 등 잠.. 이전 1 다음