Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Skipalong's tistory

240307 TIL - 가상메모리 본문

TIL

240307 TIL - 가상메모리

Skipalong 2024. 3. 8. 20:49

오늘은 가상메모리에 대해 정리해보았다. 

가상메모리란?

  • 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 실제보다 큰 메모리로 보이게 만드는 것
  • 메모리 관리 기법의 하나

  • 가상주소는 메모리 관리장치(MMU)에 이해 실제 주소로 변환
  • 가상 메모리는 가상 주소와 실제 주소가 매핑되어있음
  • 프로세스의 주소 정보가 들어있는 ‘페이지 테이블’로 관리됨
  • 페이지 테이블

  • 이때 속도 향상을 위해 TLB를 사용
  • TLB
    • 메모리와 CPU사이에 있는 주소 변환을 위한 캐시
    • 페이지 테이블에 있는 리스트를 보관
    • CPU가 페이지 테이블까지 가지 않도록 해 속도를 향상시킬 수 있는 캐시 계층

스와핑

  • 가상 메모리에는 존재하지만 실제 메모리인 RAM에는 현재 없는 데이터나 코드에 접근할 경우 페이지 폴트 발생
  • 페이지 폴트(page fault)
    • 페이지 폴트란 프로세스의 주소 공간에는 존재하지만 지금 이 컴퓨터의 RAM에는 없는 데이터에 접근했을 경우 발생하는 현상
    • 페이지 폴트를 스와핑으로 처리하는 과정
      1. 어떤 명령어가 유효한 가상 주소에 접근했으나 해당 페이지가 없다면 트랩이 발생, 운영체제에 알림
      2. 운영체제는 실제 디스크로부터 사용하지 않는 프레임을 찾음
      3. 해당 프레임을 실제 메모리에 가져와서 페이지 교체 알고리즘을 기반으로 특정 페이지와 교체 (스와핑)
      4. 페이지 테이블을 갱신시킨 후 해당 명령어를 다시 시작
  • 페이지 폴트가 발생하면 메모리에서 당장 사용하지 않는 영역을 하드디스크로 옮기고 하드디스크의 일부분을 마치 메모리처럼 불러와 쓰는 것을 스와핑이라고 함

 

이렇게 가상메모리가 어떻게 작동하는지, 페이지 폴트가 발생시 스와핑으로 해결하는 방법 등을 알아보았는데 가상메모리에 대해서는 예전부터 들어보았지만 어떤식으로 작동하는지, 어떻게 가능한건지 잘 몰랐는데 아직 구체적으로 알아 본 것은 아니지만 대략적으로 알게 되어서 좋았고 대체적으로 추상적인 개념이지만 익숙한 개념이 나올때마다 조금은 반갑고 좀 더 관심이 가는 것 같다.

'TIL' 카테고리의 다른 글

240311 TIL - 공유자원과 임계영역  (0) 2024.03.12
240308 TIL - 프로세스의 상태  (0) 2024.03.09
240306 TIL - SEO와 Https  (0) 2024.03.07
240305 TIL - ARP/RARP, 홉바이홉 통신  (0) 2024.03.06
240304 TIL - TCP/IP 전송계층  (0) 2024.03.05