<aside> 💡 동시성? CPU는 한 번에 하나의 명령어(instruction)만 수행할 수 있다. 따라서 운영체제에서 말하는 동시성이란, CPU가 빠르게 프로세스를 전환하며 실행하고 관리하여 마치 동시에 처리하는 것처럼 보이는 것을 의미한다.
</aside>
<aside> 💡 용어정리
프로그램 : 어떤 작업을 하기 위해 실행하는 코드 파일
프로세스 : 메모리에 적재되고 CPU 자원을 할당받아 프로그램이 실행되고 있는 상태
스레드 : 프로세스를 수행하는 실행 단위
멀티 태스킹 : 동시에 2개 이상의 작업을 수행 - 멀티 프로세스 : 여러 프로세스가 동시에 메모리에 올라가 수행 - 멀티 스레드 : 여러 스레드가 동시에 수행
멀티 프로그래밍 : 2개 이상의 프로그램이 메모리에 올라가 있음
멀티 프로세서 : 2개 이상의 CPU (processor)가 있는 컴퓨터
</aside>
단일 프로세스/멀티 프로그래밍/멀티 태스킹/멀티 프로세스/멀티 스레드 각각의 흐름과 장단점, 등장배경
프로그램 실행 → 프로세스 생성 → 프로세스 주소 공간에 (코드, 데이터, 스택) 생성 → 이 프로세스의 메타데이터들이 PCB에 저장
주소공간
생성 : 프로세스를 수행하기 위해 필요한 자원들을 메모리에 load시킨다.PCB
**생성 : 각 프로세스를 관리하기 위해 PCB를 생성한다.