<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>시스템 아키텍처 on CharmingGroot</title>
    <link>https://charminggroot.github.io/categories/%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98/</link>
    <description>Recent content in 시스템 아키텍처 on CharmingGroot</description>
    <generator>Hugo</generator>
    <language>ko-kr</language>
    <lastBuildDate>Sat, 20 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://charminggroot.github.io/categories/%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>arch-00. 하드웨어 — CPU, 캐시, 버스, 인터럽트, 특권 레벨, VT-x</title>
      <link>https://charminggroot.github.io/posts/arch-00-hardware/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://charminggroot.github.io/posts/arch-00-hardware/</guid>
      <description>OS와 VM이 추상화하는 대상의 실체. CPU 내부(레지스터·파이프라인·캐시 계층·MESI), 메모리 버스와 DMA, 인터럽트 컨트롤러(APIC), CPU 특권 레벨(ring 0-3), 하드웨어 가상화 지원(VT-x·EPT·IOMMU), NUMA까지 정리한다.</description>
    </item>
    <item>
      <title>arch-01. 커널 — 내부 구조, 메모리 레이아웃, 동기화, 자료구조, eBPF</title>
      <link>https://charminggroot.github.io/posts/arch-01-kernel/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://charminggroot.github.io/posts/arch-01-kernel/</guid>
      <description>커널이 하드웨어 위에서 어떻게 구성되는지. 부트 과정, 커널 메모리 레이아웃(direct map/vmalloc/fixmap), 커널 스택, 동기화 원시 연산(spinlock/mutex/RCU), 커널 자료구조(list_head/rbtree/radix_tree), 모듈 시스템, eBPF까지 정리한다.</description>
    </item>
    <item>
      <title>arch-02. 유저 공간 — ELF, 동적 링킹, vDSO, 주소 공간 레이아웃, ASLR</title>
      <link>https://charminggroot.github.io/posts/arch-02-userspace/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://charminggroot.github.io/posts/arch-02-userspace/</guid>
      <description>ring 3에서 돌아가는 세계의 전체 지도. ELF 바이너리 구조, execve에서 main()까지의 과정, 동적 링킹(PLT/GOT/lazy binding), libc와 syscall 래핑, vDSO, 64비트 유저 공간 주소 레이아웃, ASLR/PIE/Stack canary까지 정리한다.</description>
    </item>
    <item>
      <title>arch-03. 프로세스 — task_struct, fork/exec/clone, 상태 전이, COW, zombie</title>
      <link>https://charminggroot.github.io/posts/arch-03-process/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://charminggroot.github.io/posts/arch-03-process/</guid>
      <description>커널이 프로세스를 어떻게 표현하고 관리하는지. task_struct의 핵심 필드, fork/exec/clone의 내부 동작, 프로세스 상태 전이, mm_struct와 vm_area_struct, Copy-on-Write 메커니즘, 프로세스 종료와 zombie reaping까지 정리한다.</description>
    </item>
    <item>
      <title>arch-04. 프로세스 가상 메모리 레이어 — VMA, 4단계 페이지 테이블, 페이지 폴트, mmap, Huge Pages</title>
      <link>https://charminggroot.github.io/posts/arch-04-virtual-memory/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://charminggroot.github.io/posts/arch-04-virtual-memory/</guid>
      <description>프로세스 가상 메모리의 두 레이어. 커널 소프트웨어 레이어(mm_struct/vm_area_struct)와 하드웨어 레이어(4단계 페이지 테이블/MMU/TLB). 페이지 폴트 핸들러 흐름, mmap/brk 내부 동작, Huge Pages(THP vs HugeTLB), NUMA 메모리 정책까지 정리한다.</description>
    </item>
    <item>
      <title>arch-05. VM — 구성 요소, Type 1/2, KVM, QEMU, vCPU 스케줄링, 라이브 마이그레이션</title>
      <link>https://charminggroot.github.io/posts/arch-05-vm/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://charminggroot.github.io/posts/arch-05-vm/</guid>
      <description>VM이 무엇으로 이뤄지고 어떻게 동작하는지. vCPU/vMem/vDisk/vNIC 구성, Type 1 vs Type 2 하이퍼바이저, KVM 아키텍처(Linux 커널 모듈), QEMU와 KVM의 분업, vCPU 스케줄링, VM 라이프사이클, 이미지 포맷(qcow2), 라이브 마이그레이션까지 정리한다.</description>
    </item>
    <item>
      <title>arch-06. VM의 프로세스와 가상 메모리 레이어 — GVA/GPA/HPA, EPT, Shadow PT, 메모리 오버커밋</title>
      <link>https://charminggroot.github.io/posts/arch-06-vm-process-memory/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://charminggroot.github.io/posts/arch-06-vm-process-memory/</guid>
      <description>VM 안의 프로세스가 쓰는 메모리가 물리 메모리에 닿기까지의 두 단계 변환. Guest 페이지 테이블(GVA→GPA), EPT(GPA→HPA), Shadow Page Table(EPT 이전), EPT violation 처리, 메모리 오버커밋(balloon/KSM), vNUMA까지 정리한다.</description>
    </item>
    <item>
      <title>arch-07. Guest 커널과 하이퍼바이저 — VMX, VMCS, VM exit, 반가상화, I/O 가상화, 보안</title>
      <link>https://charminggroot.github.io/posts/arch-07-guest-hypervisor/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://charminggroot.github.io/posts/arch-07-guest-hypervisor/</guid>
      <description>Guest 커널과 하이퍼바이저가 어떻게 경계를 나누고 서로 통신하는지. VMX root/non-root mode, VMCS 구조, VM entry/exit 흐름, VM exit 주요 원인, 반가상화(hypercall/virtio), 인터럽트 가상화(vAPIC), I/O 가상화(emulation/virtio/VFIO/SR-IOV), 보안(VM escape/TDX/SEV-SNP)까지 정리한다.</description>
    </item>
  </channel>
</rss>
