CharmingGroot 🌱

실무에서 쓰는 스킬과 깊게 파본 것들을 남기는 기록. 보안·쿠버네티스·AI 에이전트가 중심.

099. opencode 활용 — 도구를 넘어 플랫폼으로: 6개 확장 표면과 실전 시나리오

opencode는 터미널에서 쓰는 코딩 에이전트이자, 클라이언트-서버 구조 덕에 다른 것을 그 위에 얹을 수 있는 플랫폼이기도 하다. HTTP 서버 API와 SDK, 헤드리스·CI 자동화, ACP 에디터 통합, MCP, 플러그인 훅, 커스텀 에이전트·권한까지 여섯 개의 확장 표면을 코드 근거로 짚고, 각각으로 무엇을 만들 수 있는지 정리한다. 보안 같은 도메인 특화 에이전트로 가는 경로도 함께 본다.

2026년 6월 20일 · 9 분 · 4476 단어 · CharmingGroot

arch-00. 하드웨어 — CPU, 캐시, 버스, 인터럽트, 특권 레벨, VT-x

OS와 VM이 추상화하는 대상의 실체. CPU 내부(레지스터·파이프라인·캐시 계층·MESI), 메모리 버스와 DMA, 인터럽트 컨트롤러(APIC), CPU 특권 레벨(ring 0-3), 하드웨어 가상화 지원(VT-x·EPT·IOMMU), NUMA까지 정리한다.

2026년 6월 20일 · 6 분 · 2760 단어 · CharmingGroot

arch-01. 커널 — 내부 구조, 메모리 레이아웃, 동기화, 자료구조, eBPF

커널이 하드웨어 위에서 어떻게 구성되는지. 부트 과정, 커널 메모리 레이아웃(direct map/vmalloc/fixmap), 커널 스택, 동기화 원시 연산(spinlock/mutex/RCU), 커널 자료구조(list_head/rbtree/radix_tree), 모듈 시스템, eBPF까지 정리한다.

2026년 6월 20일 · 6 분 · 2622 단어 · CharmingGroot

arch-02. 유저 공간 — ELF, 동적 링킹, vDSO, 주소 공간 레이아웃, ASLR

ring 3에서 돌아가는 세계의 전체 지도. ELF 바이너리 구조, execve에서 main()까지의 과정, 동적 링킹(PLT/GOT/lazy binding), libc와 syscall 래핑, vDSO, 64비트 유저 공간 주소 레이아웃, ASLR/PIE/Stack canary까지 정리한다.

2026년 6월 20일 · 6 분 · 2648 단어 · CharmingGroot

arch-03. 프로세스 — task_struct, fork/exec/clone, 상태 전이, COW, zombie

커널이 프로세스를 어떻게 표현하고 관리하는지. task_struct의 핵심 필드, fork/exec/clone의 내부 동작, 프로세스 상태 전이, mm_struct와 vm_area_struct, Copy-on-Write 메커니즘, 프로세스 종료와 zombie reaping까지 정리한다.

2026년 6월 20일 · 6 분 · 2579 단어 · CharmingGroot

arch-04. 프로세스 가상 메모리 레이어 — VMA, 4단계 페이지 테이블, 페이지 폴트, mmap, Huge Pages

프로세스 가상 메모리의 두 레이어. 커널 소프트웨어 레이어(mm_struct/vm_area_struct)와 하드웨어 레이어(4단계 페이지 테이블/MMU/TLB). 페이지 폴트 핸들러 흐름, mmap/brk 내부 동작, Huge Pages(THP vs HugeTLB), NUMA 메모리 정책까지 정리한다.

2026년 6월 20일 · 7 분 · 3263 단어 · CharmingGroot

arch-05. VM — 구성 요소, Type 1/2, KVM, QEMU, vCPU 스케줄링, 라이브 마이그레이션

VM이 무엇으로 이뤄지고 어떻게 동작하는지. vCPU/vMem/vDisk/vNIC 구성, Type 1 vs Type 2 하이퍼바이저, KVM 아키텍처(Linux 커널 모듈), QEMU와 KVM의 분업, vCPU 스케줄링, VM 라이프사이클, 이미지 포맷(qcow2), 라이브 마이그레이션까지 정리한다.

2026년 6월 20일 · 6 분 · 2540 단어 · CharmingGroot

arch-06. VM의 프로세스와 가상 메모리 레이어 — GVA/GPA/HPA, EPT, Shadow PT, 메모리 오버커밋

VM 안의 프로세스가 쓰는 메모리가 물리 메모리에 닿기까지의 두 단계 변환. Guest 페이지 테이블(GVA→GPA), EPT(GPA→HPA), Shadow Page Table(EPT 이전), EPT violation 처리, 메모리 오버커밋(balloon/KSM), vNUMA까지 정리한다.

2026년 6월 20일 · 6 분 · 2798 단어 · CharmingGroot

arch-07. Guest 커널과 하이퍼바이저 — VMX, VMCS, VM exit, 반가상화, I/O 가상화, 보안

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)까지 정리한다.

2026년 6월 20일 · 8 분 · 3581 단어 · CharmingGroot

096. Flue — 자율 에이전트를 배포 서버로 컴파일하는 하니스 프레임워크

Flue는 agents/·workflows/ 디렉터리의 TypeScript 프로젝트를 배포 가능한 서버 아티팩트로 컴파일하는 에이전트 하니스다. ‘Not another SDK’를 표방하며 모델에 컨텍스트·도구·샌드박스를 주고 자율 실행시킨다. 다만 이름과 달리 격리 샌드박스를 직접 구현하지 않고, 에이전트 루프도 외부 패키지에 위임한다. 무엇을 제공하고 무엇을 위임하는지, 샌드박스 세 모드의 실제 격리 수준, durable execution까지 코드 레벨로 분해한다.

2026년 6월 19일 · 8 분 · 3951 단어 · CharmingGroot