ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 10분 테코톡 - 코다의 Process vs Thread 정리
    IT 인터넷/IT - 인터넷 활용 2021. 6. 8. 08:17
    SMALL

    유튭으로 이것저것 보며 노니는 와중에 이게 눈에 띄어 집중해 보고는 정리해 봅니다

     

    원본 학습 URL 입니다

    https://www.youtube.com/watch?v=1grtWKqTn50 

     

     

    프로세스와 스레드는 면접 단골 질문이랍니다

     

    중요한 점은 용어의 늪에 빠지지 말고 단어들을 혼동해서 사용하지 않기 랍니다

    이것은 커뮤니케이션 스킬에서도 중요한 것 같습니다

    특정 용어를 계속 쓰기보다는

    상대방에게 쉽게 풀어서 설명하고 이해시킬 수 있느냐가 중요한 것이니까요

     

    먼저 키워드 정리를 해주고 시작합니다

     

    1. 실행 단위 : CPU core에서 실행하는 하나의 단위로 프로세스와 스레드를 포괄하는 개념

    2. (부연 설명이 없는) 프로세스 : 하나의 스레드만 가지고 있는 단일 스레드 프로세스

    3. 동시성 : 한 순간에 여러가지 일이 아니라, 짧은 전환으로 여러가지 일을 동시에 처리하는 것처럼 보이는 것

     

    그리고 순서는

    1. Process & Thread

    2. Multi-process vs. Multi-thread

    3. Multi-core

    4. 요약 으로 진행됩니다

     

    1. Process & Thread

       가. DISK의 프로그램이 메모리에 적제되며 프로세스가 된다

       나. 해당 프로세스 정보를 담고 있는 PCB 블럭이 프로세스 생성 시 함께 만들어진다

       다. 컨텍스트 스위칭

       라. 경량화된 프로세스 버전인 스레드 등장

     

    2. Multi-process vs. Multi-thread

       가. 한 어플리케이션에 대한 두 가지 다른 처리방식으로 이해하면 된다

            - 프로세스에 스레드가 하나 밖에 없으면 그 자체가 실행 단위가 된다

            - 프로세스가 여러 스레드로 나뉘어 실행 단위로 나뉘어지면 Multi-thread가 된다

     

    3. Multi-core

       가. 키워드 : 동시성, 병렬처리

     

    번외

       가. 리눅스 커널에서는 프로세스와 스레드를 동일하게 봅니다

            - 스레드는 사용자 스레드와 커널 스레드로 분류된다

              → 각자의 관점에서 스레드를 바라본다

     

    4. 요약

       가. 프로세스는 프로그램이 실행된 것이다

       나. 스레드는 한 프로세스 내에서 나뉘어진 하나 이상의 실행 단위이다

       다. 한 어플리케이션에 대한 작업을 동시에 하기 위해서는 2가지 처리 방식(멀티 프로세스, 멀티 스레드)이 있다

       라. 동시에 실행이 되는 것처럼 보이기 위해서 실행 단위는 시분할로 cpu를 점유하며 context switching을 한다

       마. 멀티 프로세스는 독립적인 메모리를 가지고 있지만 멀티 스레드는 자원을 공유한다. 그것에 따른 각각의 장단점이 있다

       바. 멀티 코어는 하드웨어 측면에서 실행 단위를 병렬적으로 처리할 수 있도록 여러 프로세스가 있는 것이다

     

    LIST

    댓글

Designed by Tistory.