본문 바로가기

kernel4

리눅스 커널 디렉터리 1. 리눅스 커널 디렉터리운영체제(OS)에서 커널은 하드웨어와 사용자 응용프로그램 사이를 연결하는 핵심 소프트웨어입니다. 커널은 시스템의 자원(메모리, CPU, 디바이스 등)을 관리하고, 응용프로그램이 하드웨어를 안전하게 쓸 수 있도록 도와줍니다. 즉, '운영체제의 뇌'이자, 하드웨어와 소프트웨어 그 사이에 있는 관리자 역할을 합니다.왜 필요할까?하드웨어 직접 접근을 막아 안전성 확보여러 프로그램이 자원을 나눠쓰도록 제어다양한 장치들을 자유롭게 연결/제어2. 커널 소스코드 디렉터리 구조의 큰 그림리눅스 커널의 소스코드는 주요 기능별로 디렉터리(Tree)로 구성되어 있습니다. 이 구조를 이해하면, 각각의 디렉터리가 OS의 핵심 역할에서 어떤 부분을 담당하는지 파악할 수 있습니다.디렉터리역할arch/CPU별.. 2025. 12. 15.
디바이스 드라이버의 역할과 주요 특징에 대해 알아보자 디바이스 드라이버는 특정 하드웨어와 운영체제(OS) 사이에서 통신을 가능하게 하는, 커널의 일부분으로 동작하는 소프트웨어로, 하드웨어의 기능을 추상화하여 응용 프로그램이 하드웨어와 상호작용할 수 있도록 돕습니다. OS는 디바이스 드라이버를 통해 마우스, 키보드, 프린터, 네트워크 카드 등 다양한 주변 장치들을 인식하고 제어합니다.역할하드웨어 추상화: 실제 하드웨어의 복잡한 작동 방식을 숨기고, 응용 프로그램이 표준화된 인터페이스를 통해 하드웨어에 접근할 수 있게 합니다.OS와 하드웨어 연결: 운영체제의 핵심 부분인 커널의 일부로서, 하드웨어의 고유한 명령을 OS가 이해할 수 있는 형식으로 번역하고, OS의 명령을 하드웨어에 맞게 전달합니다.표준화된 기능 제공: 파일 입출력 함수와 같은 일반적인 시스템 .. 2025. 12. 8.
커널은 모듈(디바이스 드라이버)를 삽입 제거 점검하는 기능을 지원한다: insmod, rmmod, lsmod 1. 커널 모듈이란?커널의 일부 기능(예: 장치 드라이버, 파일시스템, 네트워크 프로토콜 등) 을 별도 .ko 파일 형태로 분리해둔 것.필요할 때만 커널에 동적으로 적재(insmod/modprobe) 하거나 제거(rmmod) 할 수 있음.그래서 커널 전체를 다시 컴파일하거나 부팅할 필요가 없음.lsmod, insmod, rmmod는 도대체 뭘까? 명령어야? c언어?정리하자면 — lsmod, insmod, rmmod는 “터미널 명령어(유저 공간에서 실행)”이고, 커널 내부에서는 그 명령을 처리하는 “시스템 콜 함수”가 동작한다.아래에서 계층을 나눠서 보면 바로 이해할 수 있다.1. 사용자 공간(User Space)우리가 터미널에 입력하는 명령어:insmod mydriver.ko lsmod rmmod myd.. 2025. 12. 1.
Kconfig, defconfig, .config? Linux kernel Kconfig, defconfig, .config를 이해하기 위해서 “리눅스 커널을 직접 빌드해서 내 보드에서 돌리고 싶다”고 가정해봅시다.그럼 커널에게 이런 걸 알려줘야 해요“나는 어떤 CPU를 쓸 거고, 어떤 드라이버를 켜고 끌 거고, 어떤 파일시스템을 쓸 거야.” 이 설정을 ‘커널 설정(configuration)’이라고 부르고,그걸 저장하고 관리하는 파일들이 바로Kconfig, defconfig, .config 입니다.커널 설정의 흐름 한 줄 요약📂 Kconfig → 📄 defconfig → 🧾 .config1️⃣ Kconfig — 메뉴 설계도 (설정 항목의 “설계도”)“어떤 설정 항목이 존재하는가?”를 정의해둔 파일이에요.커널 소스코드 곳곳에 Kconfig 파일이 있음각 디렉터리별로 설정 항.. 2025. 10. 27.