CS 기초개념(2025.09.09)

이정국(PBD)·2025년 9월 9일

TIL

목록 보기
50/69

*오늘 학습 내용*

코드카타 문제 / CS개념

1. ✅ 오늘 학습한 내용

CPU 캐시 계층 구조

  • L1, L2, L3 캐시 구조와 각각의 크기/속도 차이를 정리

  • CPU가 메모리에 직접 접근할 경우 지연이 크기 때문에
    캐시가 필수적으로 사용됨

  • 캐시 적중(hit)과 실패(miss), 그리고 miss penalty 개념 정리

Virtual Memory 동작 원리

  • 가상 주소를 실제 물리 주소로 변환하는 과정

  • 페이지(Page)와 프레임(Frame)의 개념

  • 페이지 폴트(Page Fault) 발생 원인과 처리 과정

  • TLB(Translation Lookaside Buffer)의 역할

Context Switching 과정과 오버헤드

  • 프로세스 간 전환 시 CPU 레지스터 저장 및 복원 과정

  • 커널 모드로 진입하여 PCB(Process Control Block) 갱신

  • 캐시 flush, 파이프라인 비우기 등으로 인해 성능 저하 발생

프로세스 vs 스레드

  • 프로세스: 자원을 소유하는 실행 단위

  • 스레드: 프로세스 내부에서 실행되는 단위

  • 같은 프로세스 내 스레드끼리는 자원 공유, 프로세스 간은 독립적

Deadlock

  • Coffman 조건 4가지: 상호 배제, 점유 대기, 비선점, 순환 대기

  • 예방: 조건 자체를 깨뜨리도록 자원 할당 정책 설계

  • 회피: 은행원 알고리즘 사용

  • 탐지와 회복: 주기적으로 교착 상태를 탐지하고
    프로세스 종료/자원 회수로 해결

2. ✅ 보완할 점

페이지 교체 알고리즘

  • FIFO, LRU, Optimal, Clock 알고리즘 정리 필요

  • 각 알고리즘의 장단점 및 실제 사용 사례 정리

Context Switching 세부 비용

  • 단순히 레지스터 저장/복원뿐 아니라
    캐시 미스 증가, TLB flush 같은 구체적 오버헤드 포함

  • 실무에서 문맥 교환을 최소화하기 위한 스케줄링 전략과 연결

Deadlock 해결 전략 구체화

  • 단순 개념 설명이 아니라 실제 시스템에서 어떻게 적용되는지 예시 준비

  • 은행원 알고리즘 동작 과정을 시뮬레이션해보기

profile
창백한 푸른점 속 작은점

0개의 댓글