코드카타 문제 / CS개념
L1, L2, L3 캐시 구조와 각각의 크기/속도 차이를 정리
CPU가 메모리에 직접 접근할 경우 지연이 크기 때문에
캐시가 필수적으로 사용됨
캐시 적중(hit)과 실패(miss), 그리고 miss penalty 개념 정리
가상 주소를 실제 물리 주소로 변환하는 과정
페이지(Page)와 프레임(Frame)의 개념
페이지 폴트(Page Fault) 발생 원인과 처리 과정
TLB(Translation Lookaside Buffer)의 역할
프로세스 간 전환 시 CPU 레지스터 저장 및 복원 과정
커널 모드로 진입하여 PCB(Process Control Block) 갱신
캐시 flush, 파이프라인 비우기 등으로 인해 성능 저하 발생
프로세스: 자원을 소유하는 실행 단위
스레드: 프로세스 내부에서 실행되는 단위
같은 프로세스 내 스레드끼리는 자원 공유, 프로세스 간은 독립적
Coffman 조건 4가지: 상호 배제, 점유 대기, 비선점, 순환 대기
예방: 조건 자체를 깨뜨리도록 자원 할당 정책 설계
회피: 은행원 알고리즘 사용
탐지와 회복: 주기적으로 교착 상태를 탐지하고
프로세스 종료/자원 회수로 해결
FIFO, LRU, Optimal, Clock 알고리즘 정리 필요
각 알고리즘의 장단점 및 실제 사용 사례 정리
단순히 레지스터 저장/복원뿐 아니라
캐시 미스 증가, TLB flush 같은 구체적 오버헤드 포함
실무에서 문맥 교환을 최소화하기 위한 스케줄링 전략과 연결
단순 개념 설명이 아니라 실제 시스템에서 어떻게 적용되는지 예시 준비
은행원 알고리즘 동작 과정을 시뮬레이션해보기