3.2 메모리

2025. 1. 15. 00:24·SW개발/면접을 위한 CS 전공지식 노트
반응형

3.2.1 메모리 계층

메모리 계층 구조

캐시

캐시는 데이터 접근 속도를 높이기 위해 사용되는 고속 메모리다.

1. 지역성의 원리

  • 시간 지역성: 동일 데이터나 명령이 짧은 시간 내 반복 참조.
  • 공간 지역성: 특정 데이터 참조 시 인접 데이터도 참조 가능성 높음.

2. 캐시 히트와 캐시 미스

  • 캐시 히트: 요청 데이터가 캐시에 존재, 메모리 접근 불필요.
  • 캐시 미스: 요청 데이터가 캐시에 없어, 메모리에서 데이터 로드.

3. 캐시 매핑

캐시와 메모리 간 데이터 저장·검색 방식.

매핑 방식 설명 장점 단점
직접 매핑 메모리 주소를 특정 캐시 블록에 매핑 구조 단순, 구현 쉬움 충돌 발생률 높음
연관 매핑 메모리 블록이 캐시 어디든 저장 가능 충돌 거의 없음 탐색 속도 느림, 비용 증가
집합 매핑 직접·연관 매핑 절충, 블록을 집합으로 나눔 충돌 감소, 적정 비용 구조 복잡, 성능은 중간 수준

웹 브라우저 캐시

웹 성능 향상을 위해 데이터 저장소를 활용.

1. 쿠키

  • 클라이언트와 서버 간 데이터 저장·교환.
  • 특징: 만료 시간 있음, 요청 시마다 서버로 전송.
  • 사용 예: 사용자 로그인 정보, 트래킹.

2. 로컬 스토리지

  • 브라우저에 데이터 영구 저장.
  • 특징: 만료 시간 없음, 서버와 무관.
  • 사용 예: 설정값 저장, 캐시 데이터.

3. 세션 스토리지

  • 세션 단위 데이터 저장.
  • 특징: 브라우저 탭 닫으면 삭제.
  • 사용 예: 임시 폼 데이터, 진행 상태 저장.
분류  데이터 유효 기간 데이터 크기 제한 서버 전송 여부
쿠키 설정된 만료 시간까지 4KB 항상 전송
로컬 스토리지 영구 저장 5~10MB 전송 안 함
세션 스토리지 브라우저 탭 닫힐 때까지 5~10MB 전송 안 함

 

3.2.2 메모리 관리

 

가상 메모리

물리적 메모리보다 큰 주소 공간을 제공하여 메모리를 효율적으로 관리.

1. 스와핑 (Swapping)

  • 프로세스 전체를 메모리에서 디스크로 옮기거나 반대로 이동.
  • 메모리 부족 시 공간 확보를 위해 사용.
  • 단점: 디스크 접근으로 속도 저하.

2. 페이지 폴트 (Page Fault)

  • CPU가 요청한 데이터가 메모리에 없을 때 발생.
  • 운영체제가 디스크에서 필요한 페이지를 메모리로 가져옴.

스레싱 (Thrashing)

프로세스가 페이지 폴트 처리에만 CPU 시간을 소모해 작업 효율이 급격히 저하되는 현상.

1. 작업세트 (Working Set)

  • 프로세스가 일정 시간 내 사용하는 페이지 집합.
  • 작업세트 크기를 관리해 스레싱 방지.

2. PFF (Page Fault Frequency)

  • 페이지 폴트 발생 빈도를 기준으로 메모리 할당 조정.
  • 폴트 발생 빈도가 높으면 페이지 추가, 낮으면 제거.

메모리 할당

1. 연속 할당

  • 고정 분할 방식
    • 메모리를 고정 크기로 나눔.
    • 장점: 관리 쉬움.
    • 단점: 내부 단편화 발생.
  • 가변 분할 방식
    • 필요에 따라 메모리 크기를 동적으로 할당.
    • 장점: 메모리 활용도 높음.
    • 단점: 외부 단편화 발생.

2. 내부 단편화

  • 할당된 메모리에서 사용되지 않는 공간.
  • 고정 분할 방식에서 자주 발생.

3. 외부 단편화

  • 사용 가능한 메모리가 조각나서 큰 프로세스가 메모리에 할당되지 못하는 현상.

4. 불연속 할당

  • 페이징
    • 메모리를 고정 크기인 페이지로 나눔.
    • 외부 단편화 없음.
  • 세그멘테이션
    • 메모리를 가변 크기 세그먼트로 나눔.
    • 사용자 관점에서 프로그램 구조 반영.
  • 페이지드 세그멘테이션
    • 세그먼트를 다시 페이지로 나누어 결합한 방식.

페이지 교체 알고리즘

 

알고리즘  설명  장점  단점
오프라인 알고리즘 미래의 접근 패턴을 기반으로 최적의 페이지 교체. 가장 적은 폴트 발생. 실제 구현 불가능.
FIFO 가장 오래된 페이지를 교체. 구현 간단. 오래된 페이지 문제.
LRU 가장 오랫동안 사용되지 않은 페이지 교체. 실제 사용 패턴 반영. 구현 복잡, 오버헤드.
NUR 최근 참조·수정 여부로 교체. 효율적, 간단. 성능은 LRU보다 낮음.
LFU 참조 횟수가 가장 적은 페이지 교체. 참조 패턴 반영. 오래된 데이터 문제.
반응형
저작자표시 비영리 변경금지 (새창열림)

'SW개발 > 면접을 위한 CS 전공지식 노트' 카테고리의 다른 글

3.4 CPU 스케줄링 알고리즘  (1) 2025.01.15
3.3 프로세스와 스레드  (0) 2025.01.15
3.1 운영체제와 컴퓨터  (1) 2025.01.15
참고. 네트워크 기기  (1) 2025.01.10
2.5 HTTP  (1) 2025.01.07
'SW개발/면접을 위한 CS 전공지식 노트' 카테고리의 다른 글
  • 3.4 CPU 스케줄링 알고리즘
  • 3.3 프로세스와 스레드
  • 3.1 운영체제와 컴퓨터
  • 참고. 네트워크 기기
코코도롱
코코도롱
    반응형
  • 코코도롱
    도롱이의 전자공학소
    코코도롱
  • 전체
    오늘
    어제
    • 분류 전체보기 (61) N
      • AI (17) N
        • 데이터 분석과 모델 학습 (4)
        • 모델별 정리 (8) N
        • (PJT)음성 화자 분류 (4)
      • SW개발 (38)
        • C++ (9)
        • 면접을 위한 CS 전공지식 노트 (24)
        • Django+Vue.js (0)
        • 이런저런 개발이야기 (1)
        • 갑자기 C코테를 봐야할때 (2)
        • RPI5 프로젝트 (1)
        • 트러블슈팅 (1)
      • ESG (2)
        • 내가 쓰는 Assay (1)
        • 뉴스 스크랩 (1)
      • 반도체 (4)
        • 반도체 (3)
        • 슬기로운 학부생활 (1)
        • 회로 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    입출력관리
    운영체제
    데이터전처리 #데이터분석 #딥러닝 #머신러닝 #Pandas #Numpy #Python
    반도체 물성
    반도체 소자 공학
    페이징 기법
    ios7계층
    공백포함입력받기
    LAN
    면접을 위한 CS 전공지식 노트
    멀티프로세스
    반도체 공학
    c io
    정리본
    MySQL
    전공 지식
    메시지큐
    ESG
    파일입출력 #DataFrame불러오기
    word 수식
    c언어 입출력
    홉바이홉통신
    보고서 수식
    데이터분석 #데이터전처리 #결측치 #머신러닝 #딥러닝 #Pandas #DataFrame
    면접을 위한 cs전공지식 노트
    홉바이홉
    요약본
    데이터분석 #머신러닝 #딥러닝 #데이터사이언스 #알고리즘 #데이터전처리
    CS지식
    os구조
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코코도롱
3.2 메모리
상단으로

티스토리툴바