스레드
멀티스레드
멀티 스레드 일반적으로 하나의 프로세스는 하나의 스레드를 가지고 작업을 수행하게 된다. 멀티 스레드란 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미한다. 멀티 스레딩의 장점 멀티 스레드는 각 스레드가 자신이 속한 프로세스의 메모리를 공유하므로, 시스템 자원의 낭비가 적다. 특히 스레드의 문맥 교환은 프로세스의 문맥 교환과 달리 캐시 메모리를 비울 필요가 없기 때문에 더 빠르다. 따라서 시스템의 처리율이 향상되고 자원 소모가 줄어들어 자연스럽게 프로그램의 응답 시간이 단축된다. 또한, 하나의 스레드가 작업을 할 때 다른 스레드가 별도의 작업을 할 수 있어 사용자와의 응답성도 좋아진다. 이러한 장점 때문에 여러 프로세스로 할 수 있는 작업들을 하나의 프로세스에서 스레드로 나눠 ..
프로세스 vs 스레드
프로세스 프로세스(Process)는 컴퓨터에서 실행되고 있는 프로그램(A program in execution)을 말한다. 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이것들을 총칭하여 프로세스라고 한다. 디스크와 같은 보조기억 장치에 단순히 저장되어 있는 프로그램은 in execution이 아니기 때문에 프로세스가 아니다. 디스크에 실행파일 형태로 존재하던 프로그램이 메모리에 올라가서 실행되기 시작해야 비로소 생명력을 갖는 프로세스가 된다. 프로세스는 CPU를 획득해 자신의 코드를 수행하기도 하고 때로는 CPU를 반환하고 입출력 작업을 수행하기도 한다. CPU 스케줄링의 대상이 되는 작업(task)이라는 용어와 같은 의미로 쓰인다. 프로세스 제어블록(PCB) 프로세스 제어블록(Process..