[PintOS] Project 3 - 관련 개념

Quro·2024년 5월 26일
0

OS

목록 보기
2/6
post-thumbnail

Swap Disk 란?

👉 OS 관점에서 스왑 디스크는 주 메모리(RAM)가 가득 찼을 때 사용되는 보조 저장 공간

  • 주로 하드 드라이브나 SSD 같은 보조 저장 장치에 할당되며, 프로세스의 메모리 페이지를 입시로 저장하는 데 사용한다
  • 저장된 공간은 메모리의 일부 페이지를 임시로 저장하는 데 사용되며, 이를 ‘스와핑’이라 한다

스왑 디스크의 목적

  • 스왑 디스크는 메모리 관리와 시스템 성능 최적화에서 중요한 역할을 한다
  • 시스템의 물리적 메모리가 부족할 때 추가적인 가상 메모리 공간을 제공한다
  • 이를 통해 시스템은 더 많은 프로세스와 데이터를 동시에 처리할 수 있다

스왑 디스크 작동 방식

  1. 스와핑(Swapping)
    • 메모리가 가득 차면, 운영 체제는 가장 적게 사용되는 메모리 페이지들을 스왑 디스크로 이동시킨다
    • 이 과정을 스와핑이라고 하며, 이를 통해 메모리에서 더 중요한 데이터를 처리할 수 있게 된다
  2. 페이지 교체
    • 스왑 디스크에 저장된 페이지가 다시 필요할 경우, 해당 페이지를 메모리에 다시 로드 → 이 과정에서 다른 페이지가 swap disk로 밀려날 수 있다

스왑 디스크의 장점과 단점

  • 장점
    • 메모리 부족 문제를 완화
    • 동시에 실행되는 프로세스의 수 증가 (더 많은 메모리를 사용하기 때문에)
  • 단점
    • 디스크 기반이라 메모리보다 속도가 느리다
    • 과도한 스와핑은 시스템 성능 저하를 일으킬 수 있다

TLB(Translation Lookaside Buffer) 란?

👉 가상 메모리 주소를 물리적인 주소로 변환하는 속도를 높이기 위해 사용되는 캐시
  • 최근에 일어난 가상 메모리 주소와 물리 주소의 변환 테이블 저장

  • 일종의 주소 변환 캐시

  • TLB 구성

    • 가상 주소가 주어짐 → TLB에서 해당 가상 주소 검색
      • TLB에 존재할 경우 (TLB 히트) → 프레임 번호 추출 → 물리 주소 구성
      • TLB에 존재하지 않을 경우 (TLB 미스) → 페이지 번호를 이용해 페이지 테이블에서 해당 가상 주소 검색
    • 페이지 테이블에서 유효 비트 1일 경우 (해당 페이지 메인 메모리에 존재) → 페이지 테이블의 프레임 번호 이용 → 물리 주소 구성 및 TLB 갱신
    • 페이지 테이블에서 유효 비트 0일 경우 (해당 페이지 메인 메모리에 존재X) → page fault 발생
  • 페이징과 TLB 동작

profile
개발합니다

0개의 댓글