Sehyup
Preview Image

CS 로드맵 8편 — 프로세스와 스레드: OS는 실행 단위를 어떻게 추상화하는가

서론: 지도에서 본론으로 지난 편에서는 세 운영체제의 혈통과 뼈대를 훑었습니다. Linux는 모놀리식, Windows NT는 하이브리드, macOS XNU는 Mach + BSD 이중 구조. 이게 지도였다면, 이번 편부터는 본론입니다. Stage 2의 핵심 질문을 다시 꺼내 보겠습니다. “스레드 두 개가 같은 변수를 쓰면 왜 프로그램이 때...

Preview Image

CS 로드맵 7편 — OS 아키텍처 입문: Unix, NT, XNU의 갈림길

서론: 왜 OS부터 시작하는가 Stage 1에서는 자료구조와 메모리를 다뤘습니다. 배열과 연결 리스트, 해시 테이블, 트리와 그래프, 그리고 힙까지 — 모두 “데이터를 어떻게 정리할 것인가”의 이야기였습니다. Stage 2의 질문은 조금 다릅니다. “스레드 두 개가 같은 변수를 쓰면 왜 프로그램이 때때로만 죽는가?” 이 질문에 답하려...

Preview Image

Flow Field 최적화 - 3,000에서 10,000 에이전트로 스케일링하기

서론 이전 포스트에서 Flow Field 패스파인딩의 개념과 3단계 파이프라인을 다뤘다. Flow Field는 에이전트 수와 무관하게 \(O(V)\) 로 계산되므로, 패스파인딩 자체는 병목이 아니다. 그렇다면 3,000 에이전트에서 프레임이 떨어지는 원인은 무엇인가? 그리고 10,000 에이전트까지 스케일업하려면 무엇을 바꿔야 하는가? 이 포스트...

Preview Image

NativeContainer 심화 — 컨테이너 생태계부터 커스텀 컨테이너 제작까지

서론 Job System 포스트에서 NativeArray의 내부 구조를 해부했다. C# 배열과의 메모리 모델 차이, Allocator 종류, Safety System의 기본 동작까지 다뤘다. 하지만 실전에서는 NativeArray만으로 모든 것을 해결할 수 없다. 동적 크기의 리스트가 필요하고, 키-값 쌍으로 빠르게 조회해야 하고, 여러 워커 스레...

Preview Image

Flow Field 패스파인딩 - 대규모 군중을 위한 최적의 해법

서론 3,000마리의 좀비가 플레이어를 향해 몰려온다고 상상해보자. 각 좀비에게 개별 경로를 계산해준다면? A* 하나당 수백~수천 노드를 탐색하고, 그것을 3,000번 반복해야 한다. 프레임은 순식간에 바닥을 친다. Flow Field 패스파인딩은 이 문제를 근본적으로 다른 방식으로 접근한다. 개별 에이전트에게 경로를 주는 대신, 공간 전체에 “어...

Preview Image

AI 에이전트 하네스 엔지니어링 심층 해부 — 오케스트레이션 설계 원리와 C# 재구축

들어가며 이전 포스트에서 Claude Code의 아키텍처 설계 원리를 분석했다. 이번 글에서는 한 단계 더 깊이 들어가서, 하네스 엔지니어링(Harness Engineering) — 즉 AI 에이전트의 오케스트레이션 계층이 어떤 설계 원리로 구축되는지를 해부한다. “하네스”라는 용어는 원래 테스트 하네스(test harness)에서 온 것으로, 실...