본문 바로가기
IT기초

프로세스와 쓰레드

by 김수호님 2018. 11. 22.
728x90
반응형

프로세스와 쓰레드에 대한 내용을 정리해보았다.

 

1.Process

-OS에서 리소스를 할당받는 작업의 단위

-OS에서 여러 개 프로세스 실행: 멀티태스킹

-하나의 작업을 여러 개의 프로세스로 병렬 처리: 멀티프로세싱

하나의 프로세스를 CPU에서 스케줄링을 통해 처리하는데, 다음 프로세스 실행시 상태(Context)를 저장하게 됨. 실행 프로세스 변경 과정에서 Context Switching 발생함->오버헤드 발생

 

2.Thread

-한 프로세스 내에서 여러 실행되는 흐름을 의미함

-Thread끼리는 Stack을 제외한 나머지 메모리를 공유함

->프로세스와 달리 자원 공유가 간단해져 자원 소모가 적음(멀티프로세싱에 비해)

-Thread간 공유하는 데이터에 대한 관리가 어려움(충돌 가능성, 디버깅 어려움)

 

 

 

 

내용 및 사진 출처:https://magi82.github.io/process-thread/

728x90
반응형

'IT기초' 카테고리의 다른 글

쿠키(cookie) vs 세션(session)  (0) 2018.11.22
복잡도, OOP, 빅오분석법에 대해  (1) 2018.11.22
Database 종류와 예  (0) 2018.11.22
git Pull Request(풀 리퀘스트) 방법 정리  (0) 2018.11.22
동기화,뮤텍스,세마포어  (0) 2018.11.22