2d3k / CS-Study

기본을 소홀히 하지 말자!!
0 stars 1 forks source link

[OS] 멀티 프로세스, 스레드 #29

Open 2d3k opened 1 year ago

2d3k commented 1 year ago

멀티 프로세스와 멀티 스레드의 차이

2d3k commented 1 year ago

멀티 프로세스는 각각 독립적인 프로세스를 생성하여 실행하며, 프로세스간에는 메모리 공유가 일어나지 않습니다. 이는 각각의 프로세스가 독립적으로 실행되기 때문에, 안정성이 높아지는 장점이 있습니다. 하지만 프로세스 간 통신(IPC)이 필요하다는 단점이 있습니다.

반면, 멀티 스레드는 하나의 프로세스 내에서 여러 개의 스레드를 생성하여 실행합니다. 스레드는 프로세스의 메모리를 공유하며, 따라서 하나의 스레드에서 변경한 내용이 다른 스레드에서도 공유됩니다. 이는 멀티 프로세스보다 자원 효율성이 높아지는 장점이 있습니다. 하지만 스레드 간의 동기화 이슈가 발생할 수 있어 안정성이 떨어질 수 있습니다.

hyeonayou commented 1 year ago

멀티 프로세스 : 하나의 프로그램을 여러 프로세스로 구성하여 각 프로세스가 병렬로 작업을 수행하는것 장점 : 메모리 침범 문제를 OS 차원에서 해결하게 된다. 여러 자식 프로세스 중 하나에 문제가 발생하여도 그 프로세스만 타격이 생기지, 다른 프로세스에는 타격이 없다.

멀티 스레드 : 멀티 스레드는 하나의 프로세스에서 둘 이상의 스레드가 동시에 작업을 하는것 장점 : 다중 CPU구조에서는 각각의 스레드가 다른 프로세서에서 병렬로 수행이 될 수 있기에 병렬성이 증가한다. 병렬성의 증가로 스레드가 중단되거나 긴 작업을 진행을 하더라도 한 스레드의 작업이 오래걸리더라도 작업은 끊기지 않고 계속해서 실행되어 응답성이 증가한다.