CPU 안예는 캐시메모리가 있다.
Memory는 임시 저장공간이라 생각하면 된다.
DISK 진짜 저장공간이다.
프로그램을 만든다고 할 때 개발언어나 툴을 통해 개발한다.
이를 컴파일해서 실행파일이 만들어지게 된다. (.exe, .dll)
인간과 친숙한 언어는 컴퓨터가 이해할 수 없기 때문에 컴파일을 통해 .exe, .dll을 통해 컴퓨터가 이해할 수 있는 파일로 바뀐다.
이것이 DISK에 저장되면 코드/리소스로 나뉘어 담긴다.
실행되면 코드와 리소스의 일부가 MEMORY로 이동하게 된다. 이를 프로세스라 한다. 프로세스는 동시에 여러개가 실행될 수 있지만 한개의 프로세스는 한개의 프로세서가 존재한다.
이 때 MEMORY가 실행되면 CPU로 올라가서 해당 명령어를 처리하게 된다. 이때 프로세스들은 시간을 할당받는데 동시에 조금씩 실행되는데 이것을 시분할이라 하고, 시간 조절을 스케쥴링 이라 한다.
우선순위가 높은 프로세스를 먼저 실행시키는 것을 선점형이라 한다. 이때는 FIFO 개념을 떠올리면 된다.
MEMORY는 저장공간이 핵심이 된다.
DISK로 갈수록 저장공간에 대한 비용은 낮아지지만 CPU로 갈 수록 비싸진다. 프로그램을 모두 MEMORY로 올릴 수 없기 때문에 일부분만 올리게 된다. 어떤 데이터가 나가고 들어오는지 확인해야 한다.