** 키워드 정리
프로그램이 프로세스가 되면서 총 2가지 일이 일어나야 함
프로세스가 필요로 하는 데이터들이 메모리에 올라가야함
해당 프로세스에 대한 정보를 담고 있는 PCB(Process Control Block)도 올라가야 함
프로세스를 동시에 실행시키기 위해서 프로세스들을 번갈아가면서 실행 - 준비 상태를 반복
ex) 1번 실행 - 1번 대기열로 내림 - 2번 실행 - 2번 대기열로 내림..
==> 이를 경량화한 것이 Thread!
(하나의 프로세스 안에 다수의 쓰레드가 있으면 공유되는 자원이 있기 때문!)
쓰레드는 코드, 데이터, 힙 영역을 공통된 자원으로 사용(스택만 따로 가지고 있음)
=> 공유되는 자원이 있기 때문에 이전처럼 컨텍스트 스위칭이 일어날 때 캐시 적중률이 높아짐
ex) 회의실에서 노트북, 스피커, 리모콘으로 화면을 연결해서 발표를 한다고 할 때, 이전 팀이 노트북, 스피커, 리모콘을 다 두고 가면 금방 바로 발표를 진행할 수 있는 것 처럼!
한 어플리케이션에 대한 두 가지 처리 방식
Multi-process
Multi-process
Concurency : 하나의 코어에서 하나 이상의 프로세스 혹은 쓰레드가 번갈아가면서 진행되지만 동시에 진행되는 것처럼 보이는 것
Multi-core
요약