본문 바로가기

전체 글5

제11회 리눅스 커널 개발자 모임 참석 후기 오늘은 제11회 리눅스 커널 개발자 모임 참석 후기에 대해 얘기해보려 한다. https://kernel-dev-ko.github.io/11th/ 먼저 리눅스 커널 개발자 모임은 현업에서 커널 개발을 하시거나, 관련분야에 종사하시는 분들이 모여 발표도 듣고 서로 대화도 할 수 있는 좋은 자리인거 같다! 발표 세션 요약간략하게 작성하기 위해 모든 발표자 분들을 요약하진 못했다. 요번 모임에는 150명정도 인원이 모인거 같았다.대강당에서 진행되었고, 6분정도의 발표를 들은 후 커뮤니티 시간이 주어졌다. 발표하신 분중에서 메타에서 일하시는 개발자 분도 있으셨다.유형곤 개발자님은 평소 커널 공부를 할 때, 자주 보던 블로거 분이셨기도 하다.리눅스 커널을 공부하시거나 관심있으신 분들이라면 한번쯤 방문해보면 .. 2026. 9. 18.
Memory mapped I/O 0. IntroductionMemory-Mapped I/O란 CPU가 입출력 장치와 데이터를 주고받는 방식이다.이 Memory-Mapped I/O(MMIO)와 함께 I/O-Mapped I/O(PMIO)가 존재한다.두방식 모두 CPU가 입출력 장치와 데이터를 주고받는 개념은 동일하며 방법의 차이가 있다.이번 포스팅에서는 두 방식의 개념과 서로다른 차이를 알아보려 한다. 1. MMIO메모리와 I/O장치가 단일주소공간을 공유하는 방식이다. CPU입장에서 I/O장치의 레지스터는 메모리의 일부 주소처럼 처리된다. 주요 특징하드웨어 간소화: 메모리용 버스와 I/O용 버스를 따로 구분할 필요가 없기 때문이다.주소 공간 감소: I/O장치가 메모리 주소 영역의 일부분이 되므로, 실제 RAM으로 사용될 수 있는 용량은 .. 2026. 9. 16.
VFS(Virtual File System) 이번 포스트는 가상파일시스템에 대해 다룬다. VFS와 VFS구조(슈퍼블록, 아이노드, 덴트리, 파일)에 대해서 정리한다. 0. UNIX에서의 파일 시스템현재 리눅스에서의 파일시스템을 이해하려면 과거에 UNIX에서 사용하던 파일시스템에 대해 이해하는게 도움이 될 것 같다.과거 UNIX 파일시스템은 오로지 UNIX사의 하드웨어만 마운트가 가능했고, UNIX이외의 solalis, DOS사 등은 마운트 할 수 없었다.이를 해결한것이 linux의 가상파일시스템이다. 이를 통해서 Linux, solalis, Windows 등 다양한 파일시스템 전부를 마운트 할 수 있게 되었다. 1. 가상파일시스템 이란가상파일시스템의 정의는 "파일 시스템 관련 인터페이스를 유저에게 제공하는 커널 서브시스템" 이다. 위의 사진에서 .. 2026. 9. 9.
Memory Model 이번 페이지에서는 물리 메모리 모델에 대해서 정리를 할 생각이다. ** 커널 버전에 따라 내용이 다를 수 있고, 틀린 내용이 있을 수 있음 1. Physical Memory Model개념적으로 물리 메모리는 할당되는 과정에서 완벽히 연속적으로 할당되기는 쉽지 않다.할당되다보면은 hole이 생기기 마련이다. 리눅스 커널에서는 물리 메모리 할당을 페이지 프레임 단위(4KB)로 할당하는 페이지 구조체를 사용한다.전체 메모리 크기가 4GB인 경우에 4KB의 페이지 프레임 단위로 쪼개면 총 1M개의 프레임 방이 생깁니다.즉 1M개의 페이지 프레임과 이를 관리하는 1M개의 페이지 구조체가 1:1로 생성되는 개념입니다. 이때 페이지 구조체 하나는 64바이트로 이뤄지며, 총 1M * 64B = 64MB의 크기를 차지하.. 2026. 9. 2.
node & zone 첫 포스트는 커널 메모리 관리에 기반이 되는 node와 zone에 대한 내용이다. ** 커널 버전에 따라 내용이 다를 수 있고, 틀린 내용이 있을 수 있음 1. memory node메모리 노드는 NUMA구조에서 프로세서마다 접근속도가 같은(가까운 메모리) 집합을 뱅크라고 할때, 이 뱅크를 표현하는 구조가 node이다. NUMA(non-uniform mem access)는 멀티코어 상에서 메모리 접근의 병목현상을 해결하기 위한 방법이다.NUMA의 자세한 구성은 다음 포스트에서 공부해보려 한다. 돌아와서 node의 사전적 정의는 위와 같지만, 풀어말하면 node란 NUMA 시스템 상에서 같은 특성을 갖는 메모리를 말한다.같은 특성이란 프로세서 기준으로 접근속도를 얘기한다.가까운 노드에 접근하는 속도는 빠르고.. 2026. 8. 29.