Rust 커널 프로그래밍 가이드 (1) — 커널이 Rust를 받아들인 이유와 최소 모듈 작성

리눅스 커널 CVE 목록을 오래 들여다본 사람이라면 use-after-free, 버퍼 오버플로우, 널 포인터 역참조 같은 메모리 안전성 버그가 얼마나 자주 반복되는지 알 것이다. 리눅스 안정 커널 메인테이너 그렉 크로아-하트만은 지난 25년간의…

Continue ReadingRust 커널 프로그래밍 가이드 (1) — 커널이 Rust를 받아들인 이유와 최소 모듈 작성

io_uring이 커널 7.2에서 도입한 Lockless MPSC 큐

io_uring을 쓰는 프로그램은 한 번에 여러 비동기 작업을 던져놓고 진행 상황을 추적한다. 그 말은 곧 커널 내부의 io_uring 서브시스템이 처리해야 할 작업(task) 목록을 항상 관리하고 있어야 한다는 뜻이다. 지금까지 io_uring은…

Continue Readingio_uring이 커널 7.2에서 도입한 Lockless MPSC 큐

topdown-tool로 Arm Neoverse 성능 분석하기

perf stat로 cycles, instructions, cache-misses 몇 개를 조합해 IPC와 미스율을 계산하는 건 코어 하나짜리 애플리케이션이라면 충분하다. 그런데 병목이 프론트엔드인지 백엔드인지까지 확인한 다음, 백엔드라면 그게 L1인지 L2인지 라스트레벨 캐시인지 TLB인지까지 계속…

Continue Readingtopdown-tool로 Arm Neoverse 성능 분석하기

ARM PMU를 활용한 시스템 성능 모니터링

시스템이 느려졌을 때 "CPU가 바쁜지" "메모리가 병목인지"를 구분하는 건 생각보다 어렵다. top의 CPU 사용률은 코어가 뭔가는 하고 있다는 것만 보여줄 뿐, 그 사이클이 실제 연산에 쓰였는지 메모리 응답을 기다리며 멈춰…

Continue ReadingARM PMU를 활용한 시스템 성능 모니터링

개발자를 위한 추천 Vundle 플러그인 8가지

Vundle로 플러그인 매니저 자체는 갖췄어도, .vimrc에 아무것도 선언하지 않은 vim은 여전히 텍스트 편집기 수준을 벗어나지 못한다. 파일 탐색, git 상태 확인, 코드 자동완성, 린팅처럼 IDE에서는 당연하게 여기는 기능들은 결국 플러그인을…

Continue Reading개발자를 위한 추천 Vundle 플러그인 8가지

vim bundle

vim에서 플러그인을 쓰려면 원래는 ~/.vim/plugin, ~/.vim/autoload 같은 디렉터리 구조를 직접 이해하고, 저장소를 하나씩 git clone한 뒤 runtimepath까지 손으로 맞춰야 했다. 플러그인이 두세 개만 넘어가도 버전 관리, 업데이트, 제거 작업이 금방…

Continue Readingvim bundle

라즈베리파이 PREEMPT_RT 실시간 커널 적용기

라즈베리파이OS 기본 커널은 일반 목적 스케줄러를 쓰기 때문에, 인터럽트가 몰리거나 시스템 부하가 커지면 특정 태스크의 응답 시간이 수 밀리초에서 수십 밀리초까지 튈 수 있다. 로봇 제어, 모터 구동, 오디오 프로세싱처럼…

Continue Reading라즈베리파이 PREEMPT_RT 실시간 커널 적용기

Januscape(CVE-2026-53359): 16년 묵은 KVM 섀도 페이징 버그가 Intel·AMD 게스트를 호스트로 뚫은 이유

퍼블릭 클라우드에서 VM 인스턴스 하나를 빌리는 일은 호스트 커널이나 같은 물리 서버 위에서 도는 다른 테넌트의 VM에는 손댈 수 없다는 전제 위에 서 있습니다. KVM(Kernel-based Virtual Machine)의 섀도 페이징(shadow paging)…

Continue ReadingJanuscape(CVE-2026-53359): 16년 묵은 KVM 섀도 페이징 버그가 Intel·AMD 게스트를 호스트로 뚫은 이유

Python inotify로 파일시스템 이벤트 감시하기

특정 디렉터리에 새 파일이 생기거나 로그 파일이 갱신될 때마다 즉시 반응해야 하는 스크립트를 짤 때, 가장 손쉬운 방법은 os.listdir()이나 파일의 mtime을 주기적으로 비교하는 폴링(polling)이다. 하지만 폴링 주기를 짧게 잡으면 CPU를…

Continue ReadingPython inotify로 파일시스템 이벤트 감시하기