Brain
Science
root
/
학습 노트
/
Study Note
/
2: 운영체제 (Operating System)
/
7. 가상 메모리 및 스와핑
7. 가상 메모리 및 스와핑
381. 가상 메모리 (Virtual Memory) 개념 - 물리 메모리보다 큰 프로그램 실행 가능
2026-03-23
382. 가상 주소 공간 (Virtual Address Space)
2026-03-23
383. 요구 페이징 (Demand Paging) - 필요한 페이지만 메모리에 적재
2026-03-23
384. 순수 요구 페이징 (Pure Demand Paging) - 시작할 때 아무것도 안 올림
2026-03-23
385. 선행 페이징 (Prepaging) - 페이지 부재 감소를 위해 미리 묶어 올림
2026-03-23
386. 유효-무효 비트 (Valid-Invalid Bit) - 적재 여부 표시
2026-03-23
387. 페이지 부재 (Page Fault) - 무효 페이지 접근 시 발생하는 트랩(인터럽트)
2026-03-23
388. 페이지 부재 처리 과정 6단계 (OS 트랩, 레지스터 저장, 디스크 읽기, 문맥교환 등)
2026-03-23
389. 페이지 부재율 (Page Fault Rate) 와 실질 접근 시간 (EAT) 성능 관계
2026-03-23
390. 스왑 공간 (Swap Space) / 베이킹 스토어 (Backing Store)
2026-03-23
391. 익명 메모리 (Anonymous Memory) - 파일 시스템과 무관한 힙/스택 데이터 (스왑 영역 사용)
2026-03-23
392. 파일 지원 메모리 (File-backed Memory) - 실행 파일, 공유 라이브러리
2026-03-23
393. 쓰기 시 복사 (COW, Copy-on-Write) - fork() 시 자원 공유하다 쓸 때 페이지 복제
2026-03-23
394. vfork() - COW 조차 없는 초경량 포크 (즉시 exec() 호출 조건)
2026-03-23
395. 페이지 교체 (Page Replacement)의 필요성 - 프레임 가용 공간 부족 시 (Over-allocation)
2026-03-23
396. 변경 비트 (Modify Bit / Dirty Bit) - 교체 시 디스크 기록 여부 결정, 디스크 I/O 최적화
2026-03-23
397. 프레임 할당 (Frame Allocation) 알고리즘
2026-03-23
398. 균등 할당 (Equal Allocation) vs 비례 할당 (Proportional Allocation)
2026-03-23
399. 전역 교체 (Global Replacement) - 전체 프로세스 프레임 대상 (처리량 높음, 주로 사용)
2026-03-23
400. 지역 교체 (Local Replacement) - 자신의 프레임 풀 내에서만 교체
2026-03-23
401. 페이지 교체 알고리즘 (Page Replacement Algorithms)
2026-03-23
402. 최적 교체 알고리즘 (OPT, Optimal) - 앞으로 가장 오랫동안 안 쓸 페이지 교체 (구현 불가, 비교 기준)
2026-03-23
403. 벨라디의 모순 (Belady's Anomaly) - 프레임을 늘렸는데 오히려 페이지 부재가 증가하는 현상
2026-03-23
404. FIFO (First-In, First-Out) 교체 - 가장 먼저 들어온 페이지 교체 (벨라디 모순 발생)
2026-03-23
405. LRU (Least Recently Used) 교체 - 가장 오랫동안 사용되지 않은 페이지 교체 (타임스탬프, 스택 하드웨어 지원 필요)
2026-03-23
406. LRU 근사 알고리즘 (LRU Approximation) - 참조 비트 (Reference Bit) 사용
2026-03-23
407. 2차 기회 알고리즘 (Second-Chance / Clock Algorithm) - 참조 비트가 1이면 0으로 바꾸고 통과, 0이면 교체
2026-03-23
408. 개선된 2차 기회 알고리즘 - 참조 비트와 변경 비트의 조합 (0,0 -> 0,1 -> 1,0 -> 1,1 우선순위 교체)
2026-03-23
409. LFU (Least Frequently Used) 알고리즘 - 참조 횟수가 가장 적은 페이지 교체
2026-03-23
410. MFU (Most Frequently Used) 알고리즘
2026-03-23
411. 에이징 (Aging) 기반 페이지 교체 로직
2026-03-23
412. 스래싱 (Thrashing) - 프로세스가 실제 실행보다 페이징(스와핑)에 더 많은 시간을 보내는 현상
2026-03-23
413. 다중 프로그래밍 정도 (Degree of Multiprogramming)와 CPU 이용률 관계 그래프
2026-03-23
414. 스래싱 원인 - 각 프로세스가 필요로 하는 최소 프레임 확보 실패
2026-03-23
415. 지역성 모델 (Locality Model) - 시간적, 공간적 지역성
2026-03-23
416. 워킹 셋 모델 (Working-Set Model) - 특정 시간 구간(윈도우) 동안 참조된 페이지 집합 보장
2026-03-23
417. 페이지 부재 빈도 (PFF, Page-Fault Frequency) 모델 - 상한/하한 설정하여 동적 프레임 할당 조절
2026-03-23
418. 메모리 매핑 파일 (Memory-Mapped Files, mmap)
2026-03-23
419. 파일 I/O를 메모리 접근으로 변환, 버퍼 캐시 활용, 프로세스 간 공유 메모리로 사용 가능
2026-03-23
420. 메모리 맵 I/O (Memory-Mapped I/O) - 디바이스 레지스터 매핑
2026-03-23
421. 커널 메모리 할당의 특징 - 물리적으로 연속되어야 함 (주로 버디 시스템 + 슬랩 할당기)
2026-03-23
422. 페이지 고정 (Page Pinning / Locking) - I/O 대기 중인 페이지가 스왑아웃되지 않게 고정 (mlock)
2026-03-23
423. 대형 페이지 (Large Page / Transparent Hugepage)의 가상 메모리 성능 이점
2026-03-23
424. ZRAM / 커널 스왑 압축 기술 - 스왑 디스크 I/O 대신 메모리 내 데이터 압축 보관
2026-03-23
425. OOM Killer (Out-of-Memory) 작동 우선순위 점수 (oom_score) 매커니즘
2026-03-23
426. NUMA 환경의 가상 메모리 스케줄링 (NUMA 노드 별 페이지 할당 / numactl)
2026-03-23
427. 캐시 친화적 가상 메모리 관리 배치
2026-03-23
428. VMA (Virtual Memory Area) 구조체 (리눅스 커널 프로세스 주소 공간 매핑)
2026-03-23
429. 마이너 페이지 폴트 (Minor Page Fault) vs 메이저 페이지 폴트 (Major Page Fault / 디스크 I/O 동반)
2026-03-23
430. 수요 페이지 제로화 (Demand Zero Paging) - BSS 영역 보안 할당
2026-03-23
431. 더티 페이지 쓰기 (Dirty Page Writeback) 메커니즘 (pdflush / flusher 스레드)
2026-03-23
432. 캐시 컬러링 (Cache Coloring)에 의한 페이지 매핑 최적화
2026-03-23
433. 역 페이지 테이블 탐색 최적화 해시 함수
2026-03-23
434. 비동기식 페이지 폴트 (Asynchronous Page Faults) 핸들링
2026-03-23
435. TLB 슛다운 (TLB Shootdown) - 멀티코어 환경에서 타 코어의 TLB 무효화 오버헤드
2026-03-23
436. 커널 페이지 테이블 격리 (KPTI, Kernel Page-Table Isolation) - Meltdown 취약점 대응망
2026-03-23
437. 메모리 암호화 가상화 (AMD SME/SEV, Intel SGX)
2026-03-23
438. 파일시스템 버퍼 캐시(Buffer Cache)와 가상 메모리 페이지 캐시(Page Cache)의 통합 원리
2026-03-23
439. Cgroups 메모리 서브시스템의 자원 제한 (Memory Limit) 동작
2026-03-23
440. eBPF 기반 메모리 할당 트레이싱
2026-03-23