본문 바로가기

공부 기록/영상 후기

프로세스, 스레드, 멀티태스킹, 멀티스레딩, 멀티프로세싱, 멀티프로그래밍, 이 모든 것을 한 방에 깔끔하게 설명합니다!!

https://youtu.be/QmtYKZC0lMU

  • 프로그램 : 컴퓨터가 실행할 수 있는 명령어들의 집합
  • CPU : 명령어를 실행하는 연산 장치
  • 메인 메모리 :  프로세스가 CPU에서 실행되기 위해 대기하는 곳
  • IO : 파일을 읽고 쓰거나 네트워크의 어딘가와 데이터를 주고 받는 것, 입출력 장치와 데이터를 주고 받는 것

  • 프로세스 : 컴퓨터에서 실제로 실행 중인 프로그램, 각각의 프로세스는 독립된 메모리 공간을 할당 받음, 이 메모리 공간에 명령어들과 데이터를 가짐
  • 스레드 : 프로세스는 한 개 이상의 스레드를 가질 수 있다. 스레드는 CPU에서 실행되는 단위
    • 스레드들은 자신들이 속한 프로세스의 메모리 영역을 공유한다. => 같은 프로세스의 스레드들끼리 컨텍스트 스위칭은 가볍다. 데이터 공유 용이

  • 멀티프로그래밍 : 목적 - CPU 사용률을 극대화
  • 멀티태스킹 : 목적 - 프로세스의 응답 시간을 최소화
  • 멀티스레딩 : 목적 - 하나의 프로세스가 동시에 여러 작업을 실행
  • 멀티프로세싱 : 두 개 이상의 프로세서나 코어를 활용하는 시스템