프로그램 vs 프로세스 vs 쓰레드

Download Report

Transcript 프로그램 vs 프로세스 vs 쓰레드

프로그램 vs 프로세스 vs 쓰레드
정의

Program
• 컴퓨터에 의해 실행되는 지시사항의 모음인 컴퓨
터 소프트웨어의 한 예이다

Process
• 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프
로그램이다. 종종 스케줄링의 대상이 되는 작업
(task)이라는 용어와 거의 같은 의미로 쓰인다.

Thread
• 어떠한 프로그램 내에서, 특히 Process 내에서
실행되는 흐름의 단위를 말한다
사용

Program
Program 사용의 예
사용

Process
프로세스는 프로그램을 구동하
여 메모리에 적재된 상태로 실
행되는 하나의 작업 단위이다
메모리에 적재된 상태의
변화
사용

Thread
Thread 생성 주기
비교사항
Program
Process
Thread
용도
응용프로그램
Thread에 cpu에서 할
당받은 시간 할당
Process의 일을 할
당 받아 처리
실행방법
하드디스크->실행
독립적
메모리공유
빠르다
더 빠르다
전환속도
장점
단점
사용자 편의에
맞게 제작 후 사용
Cpu당 thread가
담당하여 속도향
상
작업환경에 맞게
알맞은 스케줄링을 해
야 한다.(선점,비선범
스케쥴링)
각각의 thread의
우선순위를 알 수
없다.->
의도와 다른결과
(경쟁조건)발생->
세마포어로 해결
결론
사용자 편의에 맞는 프로그램을 실행
프로그램을 처리할려고 cpu는 process단위로 작
업 할당
Process는 cpu에게 할당받은 시간을 thread에게
할당
Thread는 cpu와 함께 작업을 처리
실행 완료!