늘 겸손하게

CS - Operating System - 멀티 프로세싱 & 멀티 스레딩 본문

Computer Science/Operating System

CS - Operating System - 멀티 프로세싱 & 멀티 스레딩

besforyou999 2023. 4. 23. 21:23

멀티 프로세싱

 

여러 개의 프로세스를 병렬로 실행 시켜 동시에 두 가지 이상의 일을 처리하는 일.

 

특정 프로세스에 문제가 생겨도 다른 프로세스에 작업을 맡길 수 있어 신뢰성이 높다.

 

 

웹 브라우저의 멀티 프로세스 구조

 

  • 브라우저 프로세스 : 주소 표시줄, 북마크 막대, 뒤로 가기 버튼, 앞으로 가기 버튼 등을 담당하며 네트워크 요청이나 파일 접근 같은 권한을 담당
  • 렌더러 프로세스 : 웹 사이트가 '보이는' 부분의 모든 것을 제어합니다.
  • 플러그인 프로세스 : 웹 사이트에서 사용하는 플러그인을 제어합니다.
  • GPU 프로세스 : GPU를 이용해서 화면을 그리는 부분을 제어합니다.

 

IPC

 

Inter Process Communication의 약자로 프로세스간 데이터를 주고 받고 공유 데이터를 관리하는 메커니즘을 말합니다.

 

한 프로세스는 다른 프로세스의 메모리 영역에 접근할 수 없고 서로 독립적으로 실행됩니다.

이러한 프로세스끼리 공유할 데이터가 발생하면 IPC를 통해서 공유합니다.

 

https://besforyou.tistory.com/331

 

CS - Operating System - IPC ( Inter-Process Communication )

[ IPC? ] Inter-Process Communication의 약자로 프로세스 간 통신을 의미 [ 왜 필요한가요? ] 프로세스는 독립적으로 실행된다. 즉, 한 프로세스는 다른 프로세스 코드, 스택, 데이터, 힙에 접근이 불가능하

besforyou.tistory.com

 

 

스레드

 

스레드는 프로세스의 실행 가능한 가장 작은 단위입니다. 프로세스는 여러 스레드를 가질 수 있습니다.

코드, 데이터, 스택, 힙을 각각 생성하는 프로세스와는 달리 스레드는 코드, 데이터, 힙을 다른 스레드들과 공유합니다.

 

 

멀티 스레딩

 

멀티스레딩은 프로세스 내의 작업을 여러 개의 스레드로 나누어 처리하는 기법이며 스레드는 다른 스레드들과 데이터를 공유하기 때문에 효율성이 높습니다.

 

단, 한 스레드에 문제가 생기면 다른 스레드에도 영향을 미쳐 스레드로 이루어져 있는 프로세스 전체에 영향을 줄 수 있습니다.