3회차
이찬우
프로그램 실행 과정
- 메모리 할당
- 프로세스 생성
- 스레드 생성….
가상 메모리
- 실행파일 일부만 적재
- NP(Not Present) -> 페이지 폴트 -> 페이지 프레임(물리 메모리) 할당 -> 페이지 테이블에 기록 == 요구 페이징
MMU
- CPU 는 virtual address를 MMU 에 요청한다.
- MMU 는 virtual address로 해당 프로세스의 PCB의 페이지 테이블에 접근하여 CR3 레지스터로부터 base address를 얻는다.
- MMU 는 base address로, Memory의 물리주소에 접근한다.
오해
하드디스크 스왑 != 가상 메모리
스와핑
김남영
인메모리 DB의 동작 원리
In-Memory Database ?
- Hard Disk(HDD or SSD) 대신
Memory에 데이터를 저장하는 database. - 여기서 말하는 메모리 == RAM
- 주기억장치
메모리 계층 구조
- 위로 갈 수록 속도가 빠르고, 용량이 작음.
- 아래로 갈 수록 속도가 느리고, 용량이 큼.
CPU의 DISK, MEMORY 읽기
- CPU 외부에 존재하는 메모리를 읽으려면 인터럽트를 통해 커널 모드에서 가능하다.
- 메모리 상에 인덱스를 넣어 빠르게 검색 가능.
- 하드 디스크에는 직접 읽기가 불가능하다.
- 하드 디스크의 데이터를 메모리로 가져온 후, 메모리에 접근해야 한다.
- 메모리 읽기 보다 한 단계 더 거치므로 느림.
- DISK DB는 페이지 단위로 데이터를 읽어오기 때문에 느림.
인메모리 데이터베이스의 장점
성능
- 메모리에 데이터를 저장하므로 프로세스의 직접 접근이 쉽고, 연산이 빠르다.
단순
- 메모리에 데이터를 저장하기 때문에 랜덤 액세스가 매우 효율적이다.
- 데이터 구조 또한 매우 단순하다.
인메모리 데이터베이스의 단점
내구성
- 일시적으로 저장되는 데이터
- 시스템 충돌 시 데이터의 손실 가능성.
해결책
- 스냅샷, 트랜잭션 로깅, 비휘발성 RAM 등등의 기술로 커버 가능.
크기
- RAM의 크기는 제한 되어 있다.
- 대용량 데이터 처리 불가.
해결책
- 여러 대의 컴퓨터를 연결하여 메인 메모리의 크기를 늘리기.
- 멀티 코어 컴퓨터 사용 시 RAM 크기 확장 가능.
This post is licensed under CC BY 4.0 by the author.



