프로세스와 스레드
·
Camp/Standard
소프트웨어 개발을 하다 보면 프로세스, 스레드, 메모리 영역, 컨텍스트 스위칭, 레이스 컨디션, 세마포어, 뮤텍스, 그리고 데드락과 같은 개념들을 접하게 된다. 1. 프로세스와 스레드프로세스(Process)정의: 프로세스는 실행 중인 프로그램의 인스턴스를 의미한다.운영 체제에서 프로그램이 실행되면 해당 프로그램에 대한 프로세스가 생성된다.특징:독립적인 메모리 공간: 프로세스는 고유의 메모리 공간(코드, 데이터, 힙, 스택)을 가지게 된다.자원 할당의 단위: 운영 체제는 프로세스 단위로 메모리, 파일 디스크립터 등의 자원을 할당한다.프로세스 간 통신(IPC): 프로세스들은 서로 독립적이므로 통신하기 위해서는 특별한 메커니즘(파이프, 소켓, 공유 메모리 등)이 필요하게 된다. 스레드(Thread)정의: 스레..