Post

3회차

이찬우

프로그램 실행 과정

  • 메모리 할당
  • 프로세스 생성
  • 스레드 생성….

가상 메모리

aaa

  • 실행파일 일부만 적재
  • NP(Not Present) -> 페이지 폴트 -> 페이지 프레임(물리 메모리) 할당 -> 페이지 테이블에 기록 == 요구 페이징

MMU

  • CPU 는 virtual address를 MMU 에 요청한다.
  • MMU 는 virtual address로 해당 프로세스의 PCB의 페이지 테이블에 접근하여 CR3 레지스터로부터 base address를 얻는다.
  • MMU 는 base address로, Memory의 물리주소에 접근한다.

오해

하드디스크 스왑 != 가상 메모리

d a

스와핑

김남영


인메모리 DB의 동작 원리

In-Memory Database ?

  • Hard Disk(HDD or SSD) 대신 Memory에 데이터를 저장하는 database.
  • 여기서 말하는 메모리 == RAM
    • 주기억장치


메모리 계층 구조

출처

  • 위로 갈 수록 속도가 빠르고, 용량이 작음.
  • 아래로 갈 수록 속도가 느리고, 용량이 큼.


CPUDISK, MEMORY 읽기

  • CPU 외부에 존재하는 메모리를 읽으려면 인터럽트를 통해 커널 모드에서 가능하다.
    • 메모리 상에 인덱스를 넣어 빠르게 검색 가능.
  • 하드 디스크에는 직접 읽기가 불가능하다.
    • 하드 디스크의 데이터를 메모리로 가져온 후, 메모리에 접근해야 한다.
    • 메모리 읽기 보다 한 단계 더 거치므로 느림.
    • DISK DB는 페이지 단위로 데이터를 읽어오기 때문에 느림.


인메모리 데이터베이스의 장점


성능

  • 메모리에 데이터를 저장하므로 프로세스의 직접 접근이 쉽고, 연산이 빠르다.

단순

  • 메모리에 데이터를 저장하기 때문에 랜덤 액세스가 매우 효율적이다.
  • 데이터 구조 또한 매우 단순하다.


인메모리 데이터베이스의 단점


내구성

  • 일시적으로 저장되는 데이터
  • 시스템 충돌 시 데이터의 손실 가능성.

해결책

  • 스냅샷, 트랜잭션 로깅, 비휘발성 RAM 등등의 기술로 커버 가능.

크기

  • RAM의 크기는 제한 되어 있다.
  • 대용량 데이터 처리 불가.

해결책

  • 여러 대의 컴퓨터를 연결하여 메인 메모리의 크기를 늘리기.
  • 멀티 코어 컴퓨터 사용 시 RAM 크기 확장 가능.
This post is licensed under CC BY 4.0 by the author.

© . Some rights reserved.

Using the Jekyll theme Chirpy