refactor: 문서 개선 중
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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 이 잦을 때 무엇을 함께 보는지는 본문 표가 이미 맡고 있어 그림에 넣지 않았다."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user