가상메모리는 사용자공간과 커널공간으로 구분되며 스택을 기반으로 관리되어 사용자스택, 커널스택으로 불림
가상메모리의 가장 처음 시작하는 주소값
커널모드에서만 접근가능
✅ 메타데이터
데이터에 관한 데이터이자 데이터를 설명하는 작은 데이터
대량의 정보 가운데에서 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해 일정한 규칙에 따라 콘텐츠에 부여되는 데이터
⭐ PCB의 구조
Process State : 대기중, 실행중 등 프로세스의 상태
Process Number(PID) : 각 프로세스의 고유 식별번호
Program Counter(PC) : 이 프로세스에 대해 다음 명령의 주소에 대한 포인터
Register : 레지스터 관련 정보
Memory Limit : 메모리 관련 정보
List Of Open Files : 프로세스를 위해 열린 파일 목록들
📌 컨텍스트 스위칭
PCB를 기반으로 프로세스의 상태를 저장하고 다시 복원시키는 과정
프로세스가 종료되거나 인터럽트에 의해 발생
⭐ 컨텍스트 스위칭의 비용
유후시간의 발생 : 컨텍스트 스위칭을 할 때마다 유후시간이 생겨 CPU의 가용성이 떨어지는 비용이 발생
캐시미스 : 프로세스가 가지고 있는 메모리 주소가 그대로 있으면 잘못된 주소 변환이 생기므로 캐시클리어 과정이 무조건 일어나게 되고, 캐시미스가 발생
+) 페이지 테이블을 기반으로 실제주소와 가상의주소를 매핑시키는데 TLB 캐싱계층을 활용하여 비용을 줄일 수 있었다.
그러나, 컨텍스트 스위칭이 일어나면 TLB캐싱계층이 계속 바뀌게 되므로 캐싱계층이 동작하지 않고, 페이지테이블을 직접적으로 참고를 해야하므로 비용이 더 많이 발생함
✅ 스레드에서의 컨텍스트 스위칭
스레드는 스택영역을 제외한 모든 메모리를 공유하므로 비용이 더 적고, 시간도 더 적게 걸리는 장점이 존재