[CS 스터디] 1.5, 1.6 가상 메모리, 캐시 메모리

Gamchan Kang·2024년 5월 9일
0

CS 스터디

목록 보기
5/5

1.5.1 가상 메모리란(중요도 3)

프로세스 전체가 메모리에 올라오지 않아도 프로세스가 실행됨 → 일부만 메모리에 로드, 나머지는 디스크에 둠

장점

  • 프로그램이 메모리 크기에 대한 제약이 줄어듦
  • CPU 이용률/처리율 높일 수 있음
  • 필요한 영역만 로드 → 스와핑 횟수 줄임 → 프로그램 실행 속도를 높일 수 있음

1.5.2 요구 페이징(중요도 3)

프로새수에서 필요한 페이지만 메모리에 로드

페이지 테이블

페이지에 해당 프레임 존재 : v
해당 프레임 존재 X : i

페이지 폴트

물리 메모리에 필요한 페이지가 없는 경우

  1. 페이지 테이블 확인 후 ì 반환
  2. 페이지 주소 값 유효성 검사
  3. 디스크에서 해당 영역 찾기
  4. 빈 프레임이 있는 경우 바로 로드, 빈 프레임이 없는 경우 페이지 교체 알고리즘으로 기존 로드된 페이지를 디스크로 스왑 아웃 후 새 페이지 로드
  5. 페이지 테이블의 새 페이지 값을 v로 변경
  6. 프로세스 재실행

1.5.3 스레싱 (중요도 3)

동시에 일정 수 이상 프로그램 실행 시 CPU 이용률이 떨어지는 상황

  • 페이지 폴트가 자주 발생
    → 스왑 인/아웃 작업 자주 발생
    → 페이징이 자주 일어나 CPU 이용률 감소

워킹 세트

지역성 기반으로 자주 사용하는 페이지를 저장

1.6.1 캐시 메모리와 지역성 (중요도 3)

캐시 메모리 → CPU와 메인 메모리 간에 데이터 접근 속도 차이를 줄이기 위해 사용

  • 시간 지역성: 최근에 참고한 내용을 다시 참고
  • 공간 지역성: 실제 참조한 주소 근처 내용을 참조

1.6.2 캐시 메모리의 매핑 방식 (중요도 3)

  • 직접 매핑: 메인 메모리를 일정 크기 분할 후 각 영역을 캐시 메모리에 매핑
  • 연관 매핑: 규칙 없이 매핑 → 메모리 영역을 캐시 메모리에 적재 시에는 간편, 캐시 메모리에서 필요한 메모리 영역을 찾기 불편함
  • 집합 연관 매핑: 직접 매핑과 연관 매핑을 결합하여 사용
profile
Someday, the dream will come true

0개의 댓글