About me
home
Portfolio
home

Process, Thread

날짜
2023/07/19
태그
이론
운영체제

프로세스(Process)

정의 : 정적인 프로그램을 실행시키면 동적으로 변하여 프로그램이 돌아가고 있는 상태. 즉 작업 중인 프로그램을 의미
각각의 프로세스는 독립된 메모리 영역(Code, Data, Heap, Stack)을 가지고, 운영체제로부터 자원을 할당받아 실행된다
프로세스는 각각 독립된 실행 흐름을 가지며, 최소한 하나 이상의 스레드를 가진다
프로세스는 여러 상태(new, ready, running, waiting, terminated) 사이를 전환하며 생명 주기를 수행한다. 이는 운영체제의 스케줄러에 의해 관리되며, 스케줄러는 CPU의 시간을 효율적으로 활용하고 시스템 성능을 최적화한다.
프로세스 상태

스레드(Thread)

정의 : 하나의 프로세스 내에서 실행되는 흐름의 단위
한 프로세스 내의 스레드들은 동일한 메모리 영역(Code, Data, Heap)을 공유하며, 각각 별도의 Stack 영역을 가진다
스레드는 프로세스의 실행 흐름을 나누는데 사용되어, 병렬 처리와 빠른 문맥 전환 (Context Switching)이 가능함

Next → Context Switching