refactor: 문서 개선 중

This commit is contained in:
donghyeon-ka
2026-09-21 14:30:55 +09:00
parent c93cdea150
commit 805a18f486
1497 changed files with 525837 additions and 59152 deletions
@@ -14,11 +14,11 @@
"long_description": "왼쪽에서 오른쪽으로 읽는다. 왼쪽 끝에 Guest 가 있고 VM Exit 이 KVM 으로 제어권을 넘긴다. KVM 은 Exit Reason 을 확인해 두 갈래 중 하나를 고른다. 커널 안에서 처리할 수 있는 Exit 은 Kernel 쪽 KVM 커널 처리로 가고, userspace 처리가 필요한 Exit 만 KVM_RUN 이 반환되면서 Userspace 쪽 QEMU 로 간다. QEMU 는 필요한 장치 동작을 처리한 뒤 KVM_RUN 을 다시 호출한다. 두 갈래는 오른쪽 끝에서 다시 만나며 어느 쪽이든 VM Entry 를 지나 Guest 실행 재개로 돌아온다. 무엇이 Exit 을 부르는지와 Exit 이 잦을 때 무엇을 함께 보는지는 본문의 표와 문단이 맡는다.",
"source_context": {
"document": "docs/virtualization/final/document.md",
"document_sha256": "181e2b3cc8a45bae81e7e8193d026937c4d586ae4495d3b2c323eb7e6abcfadd",
"document_sha256": "8c4ecc64c8cea9a4450ed7131fdd9cb2048dc092b66cd969f6346ed77887c210",
"anchor": {
"kind": "heading",
"value": "9. VM Exit 이후 처리",
"line": 493
"line": 506
}
},
"composition": {
@@ -41,8 +41,8 @@
"description": "VM Exit 이 나기 직전까지 실행 중이던 Guest.",
"evidence": [
{
"start_line": 498,
"end_line": 501
"start_line": 511,
"end_line": 514
}
],
"assumption": false
@@ -60,12 +60,12 @@
"description": "VM Exit 을 받아 Exit Reason 을 확인하고 갈래를 고르는 자리.",
"evidence": [
{
"start_line": 495,
"end_line": 495
"start_line": 508,
"end_line": 508
},
{
"start_line": 502,
"end_line": 504
"start_line": 515,
"end_line": 517
}
],
"assumption": false
@@ -79,12 +79,12 @@
"description": "커널 안에서 끝낼 수 있는 Exit 을 처리하는 갈래. QEMU 까지 올라가지 않는다.",
"evidence": [
{
"start_line": 508,
"end_line": 510
"start_line": 521,
"end_line": 523
},
{
"start_line": 531,
"end_line": 531
"start_line": 544,
"end_line": 544
}
],
"assumption": false,
@@ -106,12 +106,12 @@
"description": "userspace 처리가 필요한 Exit 에서만 개입하는 갈래.",
"evidence": [
{
"start_line": 510,
"end_line": 516
"start_line": 523,
"end_line": 529
},
{
"start_line": 533,
"end_line": 533
"start_line": 546,
"end_line": 546
}
],
"assumption": false
@@ -125,12 +125,12 @@
"description": "두 갈래가 다시 만나는 자리. VM Exit 은 VM 종료가 아니라 여기로 돌아온다.",
"evidence": [
{
"start_line": 521,
"end_line": 524
"start_line": 534,
"end_line": 537
},
{
"start_line": 529,
"end_line": 529
"start_line": 542,
"end_line": 542
}
],
"assumption": false
@@ -146,12 +146,12 @@
"style": "solid",
"evidence": [
{
"start_line": 495,
"end_line": 495
"start_line": 508,
"end_line": 508
},
{
"start_line": 498,
"end_line": 502
"start_line": 511,
"end_line": 515
}
],
"assumption": false
@@ -165,12 +165,12 @@
"style": "solid",
"evidence": [
{
"start_line": 504,
"end_line": 510
"start_line": 517,
"end_line": 523
},
{
"start_line": 531,
"end_line": 531
"start_line": 544,
"end_line": 544
}
],
"assumption": false
@@ -184,12 +184,12 @@
"style": "solid",
"evidence": [
{
"start_line": 508,
"end_line": 512
"start_line": 521,
"end_line": 525
},
{
"start_line": 533,
"end_line": 533
"start_line": 546,
"end_line": 546
}
],
"assumption": false
@@ -203,12 +203,12 @@
"style": "solid",
"evidence": [
{
"start_line": 518,
"end_line": 524
"start_line": 531,
"end_line": 537
},
{
"start_line": 531,
"end_line": 531
"start_line": 544,
"end_line": 544
}
],
"assumption": false
@@ -222,12 +222,12 @@
"style": "solid",
"evidence": [
{
"start_line": 514,
"end_line": 524
"start_line": 527,
"end_line": 537
},
{
"start_line": 533,
"end_line": 533
"start_line": 546,
"end_line": 546
}
],
"assumption": false
@@ -237,4 +237,4 @@
"metadata": {
"rationale": "flow 로 고른 이유는 이 절이 답하는 물음이 「제어권이 어디까지 갔다가 어떻게 돌아오는가」이기 때문이다. Kernel·Userspace 를 경계 상자로 그리면 두 상자가 같은 열에서 겹쳐(check-figure-overlap 15750px²) 어느 노드가 어느 경계인지 오히려 흐려져 노드의 details 로 내렸다. 무엇이 Exit 을 부르는지(§8)와 Exit 이 잦을 때 무엇을 함께 보는지는 본문 표가 이미 맡고 있어 그림에 넣지 않았다."
}
}
}