Organizer 정리 산출물(From_RawData) + 이사 체크리스트 + 인덱스 갱신
- Raw_Data 자동 정리 산출물이 각 도메인 From_RawData/ 로 편입, 00_INDEX 연결 갱신 - 컴퓨터_이사_체크리스트.md 추가 (두뇌-상대 경로 규약 v2.2.304 — 새 컴퓨터에서 바꿀 절대 경로는 localBrainPath 1개) - Astra 세션 산출물(에피소드 기억·기능 인벤토리) 갱신 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
---
|
||||
id: process-swapping
|
||||
title: "Process Swapping"
|
||||
category: "Architecture"
|
||||
status: "draft"
|
||||
verification_status: "conceptual"
|
||||
canonical_id: ""
|
||||
aliases: ["Swapping", "프로세스 스와핑", "스왑", "Process Swap"]
|
||||
duplicate_of: ""
|
||||
source_trust_level: "A"
|
||||
confidence_score: 0.95
|
||||
created_at: 2026-07-11
|
||||
updated_at: 2026-07-11
|
||||
review_reason: ""
|
||||
merge_history: []
|
||||
tags: ["research", "context 이해 규칙", "Operating System", "Memory Management"]
|
||||
raw_sources: ["[S1] Difference between Swapping and Context Switching - TutorialsPoint", "[S2] why it is called context switch? why not Process Swap or Swapping,cause resources are same - Stack Overflow"]
|
||||
applied_in: []
|
||||
github_commit: ""
|
||||
---
|
||||
|
||||
# [[Process Swapping]]
|
||||
|
||||
## 🎯 한 줄 통찰 (One-line insight)
|
||||
물리적 메모리(RAM)의 한계를 극복하기 위해 비활성 프로세스 전체를 메인 메모리와 보조 기억장치(디스크) 간에 이동시켜 가용 공간을 최적화하는 메모리 관리 기법이다.
|
||||
|
||||
## 🧠 핵심 개념 (Core concepts)
|
||||
* **Memory Management (메모리 관리):** 물리적 메모리보다 더 많은 프로세스를 수용할 수 있도록, 유휴 상태의 프로세스를 디스크로 임시 이동시켜 메인 메모리의 공간을 확보하는 최적화 기술.
|
||||
* **Granularity & Scope (단위 및 범위):** CPU 레지스터와 프로그램 카운터 정보만 이동하는 [[Context Switching]]과 달리, 프로세스를 구성하는 코드, 데이터, 스택 세그먼트 등 프로세스 전체를 이동 단위로 삼음.
|
||||
* **Disk I/O Overhead (디스크 I/O 오버헤드):** 디스크 스토리지로의 물리적인 데이터 전송이 수반되므로 동작 속도가 상대적으로 매우 느리며, 메모리 부족(Memory pressure) 시에만 트리거되어 덜 빈번하게 발생함.
|
||||
|
||||
## 🧩 추출된 패턴 (Extracted patterns)
|
||||
* **Memory Pressure Trigger:** 메인 메모리의 가용 공간이 활성 프로세스를 모두 수용하기에 부족할 때 발동하여, 당장 실행되지 않는 프로세스를 디스크로 'Swap Out' 시키는 패턴.
|
||||
* **Legacy of Partition Naming:** 현대의 페이징(Paging) 기법이 등장하기 이전 시대에 전체 프로세스를 디스크로 옮기던(Swapped) 관행에서 기원하였으며, 유닉스(UNIX) 시스템의 '스왑 파티션(Swap partition)'이라는 명칭에 그 역사적 패턴이 남아 있음.
|
||||
|
||||
## ⚖️ 비교 및 선택 기준 (Comparison & decision criteria)
|
||||
|
||||
| 항목 (Option) | 장점 | 단점 | 언제 선택 |
|
||||
|---|---|---|---|
|
||||
| **Process Swapping** | 물리적 메모리의 용량 한계를 초과하여 시스템에 더 많은 프로세스를 유지하고 수용할 수 있음 [S1]. | 디스크 I/O 작업이 수반되어 속도가 매우 느리며, 프로세스가 다시 복귀할 때까지 실행이 멈추는 오버헤드가 높음 [S1]. | 메모리 부족 현상(Memory pressure)이 발생하여, 유휴 프로세스를 디스크로 옮겨 물리적 메모리 공간을 강제로 확보해야 할 때 [S1]. |
|
||||
| **Context Switching** | 프로세스를 메모리에 그대로 둔 채 CPU 레지스터 정보만 교체하므로 속도가 매우 빠르며, 원활한 멀티태스킹을 가능하게 함 [S1]. | 과도하게 빈번히 발생할 경우, CPU가 실제 연산 대신 상태 저장 및 복원에만 시간을 소모하여 성능 저하 유발 [S1]. | 여러 프로세스가 하나의 CPU를 공유하기 위해 시분할 스케줄링을 하거나, I/O 대기 및 인터럽트 처리가 필요할 때 [S1]. |
|
||||
|
||||
## 📖 세부 내용 (Details)
|
||||
* **Swapping의 정의와 목적:** 스와핑(Swapping)은 프로세스 전체 또는 그 세그먼트를 메인 메모리(RAM)와 보조 기억장치(디스크) 사이에서 이동시키는 메모리 관리 기법이다 [S1]. 이 기법의 주된 목적은 물리적 메모리의 한계를 극복하는 것으로, 비활성 상태의 프로세스를 디스크에 임시로 저장하여 더 많은 프로세스를 시스템이 수용할 수 있도록 돕는다 [S1].
|
||||
* **동작 원리와 특징:** 스와핑은 주로 시스템의 사용 가능한 메모리가 부족해지는 상황(Memory shortage)에서 트리거된다 [S1]. 특정 프로세스의 코드, 데이터, 스택 세그먼트 전체를 포함하여 이동시키기 때문에(Scope & Granularity), 이 과정에서 발생하는 디스크 I/O 연산으로 인해 처리 속도는 상대적으로 느리고 오버헤드가 높다 [S1]. 디스크로 스왑 아웃(Swap Out)된 프로세스는 다시 메인 메모리로 스왑 인(Swap In)되어 돌아올 때까지 실행이 일시적으로 중단된다 [S1].
|
||||
* **Context Switching과의 차이점:** 프로세스 스와핑은 실행 흐름을 바꾸는 [[Context Switching]]과 명칭 상 혼동될 수 있으나 완전히 다른 개념이다 [S2]. 스와핑은 메모리 공간 확보를 위해 프로세스를 RAM과 디스크 사이에서 물리적으로 이동시키는 반면, 컨텍스트 스위칭은 CPU 자원 공유와 멀티태스킹을 위해 프로세스를 메모리에 그대로 유지한 채 CPU 레지스터와 프로그램 카운터(PC) 등의 실행 상태(Execution Context)만을 전환한다 [S1, S2]. 따라서 스와핑은 메모리 압박 시에만 간헐적으로 발생하고 디스크 지연으로 인해 느린 반면, 컨텍스트 스위칭은 스케줄링 알고리즘에 따라 매우 빈번하고 빠르게 발생한다 [S1].
|
||||
* **역사적 배경:** 과거 페이징(Paging) 기술이 존재하지 않던 시절에는 전체 프로세스를 디스크로 통째로 옮기는 스와핑이 주된 메모리 확보 방식이었다 [S2]. 이로 인해 유닉스(Unix)와 같은 운영체제에서는 이를 처리하는 디스크 영역을 '페이지 파티션'으로 명칭을 갱신하지 않고, 여전히 '스왑 파티션(swap partition)'이라는 용어로 부르고 있다 [S2].
|
||||
|
||||
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
|
||||
소스에서 확인되지 않음. (제공된 소스는 Process Swapping과 Context Switching의 차이를 모순 없이 일관되게 정의하고 있음)
|
||||
|
||||
## 🛠️ 적용 사례 (Applied in summary)
|
||||
현재 발견된 실제 적용 사례가 없습니다. (단지 UNIX 운영체제에서 '스왑 파티션'이라는 명칭을 사용한다는 역사적 사실이 언급될 뿐, 특정 소스 코드 파일 경로나 커밋 해시 등은 소스에서 확인되지 않음)
|
||||
|
||||
## 💻 코드 패턴 (Code patterns)
|
||||
소스에 코드 예시 없음.
|
||||
|
||||
## ✅ 검증 상태 및 신뢰도
|
||||
- **상태:** draft
|
||||
- **검증 단계:** conceptual
|
||||
- **출처 신뢰도:** A
|
||||
- **신뢰 점수:** 0.95
|
||||
- **중복 검사 결과:** 신규 생성 (New discovery)
|
||||
|
||||
|
||||
## 🔗 관련 문서 링크 (Related document links)
|
||||
|
||||
### 상위/유사 개념
|
||||
- [[Context Switching]] — 연결 이유: CPU 레지스터의 실행 문맥만 교체하는 멀티태스킹 기법으로, Swapping과 대비되는 핵심 개념.
|
||||
- [[Process Control Block]] — 연결 이유: 프로세스의 상태와 메모리 정보를 저장하여 Context Switching 및 프로세스 관리 시 기준이 되는 구조체.
|
||||
|
||||
### 심층 후속 질문 (Deeper Research Questions)
|
||||
- 현대 운영체제에서 Paging 기술과 Swapping 기법은 어떻게 상호보완적으로 사용되는가?
|
||||
- Swap Out된 프로세스가 다시 Swap In될 때, 이전과 동일한 메모리 주소를 할당받아야만 하는가?
|
||||
- 잦은 Swapping으로 인해 발생하는 스래싱(Thrashing) 현상은 시스템 전반에 어떤 치명적인 영향을 미치는가?
|
||||
- 모바일 운영체제(예: Android, iOS)에서도 데스크톱과 같은 전통적인 디스크 Swapping 기법이 사용되는가?
|
||||
|
||||
### 실무 적용 맥락 (Practical Application Contexts)
|
||||
- **Implementation:** 시스템의 Swap 파티션 크기 설정 및 가상 메모리 할당 전략 구성.
|
||||
- **System Design:** Out Of Memory (OOM) 상황을 대비한 메모리 관리 정책 및 방어적 스케줄러 설계.
|
||||
- **Operation / Maintenance:** 서버 성능 모니터링 시 디스크 I/O 병목 및 Thrashing 발생 여부를 통한 메모리 증설 지표 확인.
|
||||
- **Learning Path:** 운영체제 프로세스 관리 체계 파악 -> 가상 메모리 및 디스크 I/O 메커니즘 학습 -> 시스템 성능 최적화 및 튜닝.
|
||||
|
||||
### 인접 주변 주제 (Adjacent Topics)
|
||||
- [[Virtual Memory]] — 확장 방향: Swapping을 포괄하여 물리적 메모리보다 큰 주소 공간을 제공하는 전반적인 메모리 가상화 기술.
|
||||
- [[Paging]] — 확장 방향: 프로세스 전체가 아닌 일정한 크기의 페이지(블록) 단위로 메모리를 분할하여 관리하는 현대적 기법.
|
||||
|
||||
|
||||
## 🔗 지식 그래프 (Knowledge Graph)
|
||||
- **상위/루트:** [[context 이해 규칙]]
|
||||
- **관련 개념:** [[Context Switching]], [[Virtual Memory]]
|
||||
- **참조 맥락:** 고부하 시스템의 메모리 관리 전략을 설계하거나 멀티태스킹 중 발생하는 디스크 병목(I/O Overhead) 원인을 분석할 때 참조.
|
||||
|
||||
## 📚 출처 (Sources)
|
||||
- [S1] Difference between Swapping and Context Switching - TutorialsPoint
|
||||
- [S2] why it is called context switch? why not Process Swap or Swapping,cause resources are same - Stack Overflow
|
||||
|
||||
## 📝 변경 이력 (Change history)
|
||||
- 2026-07-11: Initial draft generated via Datacollector_MAC P-Reinforce engine.
|
||||
Reference in New Issue
Block a user