728x90
반응형
SMALL

안녕하세요, 혼자 공부하는 컴퓨터 구조 + 운영체제를 공부하고 학습한 자료를 남깁니다.

소프트웨어적인 스레드를 의미한다.

프로그래밍은 스레드를 고려하여 대부분 진행된다.

멀티 스레드와 멀티 프로세스가 어떻게 다른지 학습해보도록 하겠다.

  • 들어가며

  • 단일 프로세스

  • 멀티 스레드

프로세스를 이루는 프로세스를 위한 여러 명령어를 동시에 실행이 가능할 수 있다.

  • 스레드의 구성 요소

스레드들은 그 프로세스의 자원을 공유하면서 실행하면 좋겠다.

스레드는 실행 흐름의 단위이다.

리눅스는 프로세스와 스레드를 임의적으로 구분하지 않는다.

요즘 운영체제들은 cpu에게 전달을 할 때 프로세스 단위가 아니라 스레드 단위로 전달을 한다.

 

  • 멀티 프로세스와 멀티 스레드 비교

프로세스끼리는 기본적으로 서로 서로 자원을 공유 하지 않지만

스레드끼리는 같은 프로세스 내의 자원을 공유하면서 실행된다.

  • 멀티 프로세스

 

  • 멀티 스레드

스레드만큼 유리하지는 않을 뿐 프로세스 간에도 자원을 주고 받을 수 있다. IPC라는통신을 통해서 자원을 주고 받을 수 있다. IPC 통신은 같은 컴퓨터안에서 자원을 서로 주고 받는 통신이다. (예. 파일 통신, 공유 메모리 간 통신)

파일 통신: 서로의 프로세스가 연관이 되어 있다면 자원을 주고 받는 통신을 할 수 있다.

공유 메모리 간 통신: 프로세스들끼리 공유하는 메모리를 만들어서 통신을 주고 받는 것.

 

감사합니다.

참고 url - https://www.youtube.com/watch?v=zUGvpUtNlwI&list=PLYH7OjNUOWLUz15j4Q9M6INxK5J3-59GC&index=31

 

728x90
반응형
LIST

+ Recent posts