728x90
멀티프로세스란 여러개의 시피유가 한 개 이상의 여러개 프로세스를 동시에 실행하는것을 말한다.
각 프로세스가 독립된 주소공간을 가져야 하거나 독립된 메모리 공간을 가져야 할 때 사용한다.
멀티프로세스는 하나의 프로세스가 비 정상적으로 종료되어도 다른 프로세스에 심각한 영향을 주지 않는다.
멀티스레드는 하나의 프로세스 안에서 여러개의 스레드가 자원을 서로 공유하며 작업을 수행하는 것이다.
만약 멀티 프로세스 대신 멀티 스레드를 사용하는 상황이라면 그 이유는 멀티스레드의 경우
프로세스를 생성한 후 각각 자원을 할당할 필요가 없고 스레드끼리 자원을 공유하기 때문에 자원관리가 효율적이다.
각 스레드끼리는 스택영역을 제외한 메모리 영역을 공유하므로 통신 비용이 적어서 프로그램 응답시간이 빠르다.
다만 병목현상 , 데드락 등의 문제 발생 가능성이 있다.
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] 데드락을 해결하기 위한 3가지 방법 (0) | 2021.07.07 |
---|---|
[운영체제] 데드락(교착상태) 의 개념과 4가지 발생 조건 (0) | 2021.06.30 |
[운영체제] PCB가 무엇인가? (0) | 2021.06.30 |
[운영체제] 프로세스와 스레드의 개념과 차이점 (0) | 2021.06.30 |