⬅️ 이전     🏠 분류 목차

커널의 주요 기능

커널의 주요 기능

1. 프로세스 관리 (Process Management)

프로세스 생성 및 제어:

  • fork(): 새로운 프로세스 생성
  • exec(): 프로세스 이미지 교체
  • wait(): 자식 프로세스 종료 대기
  • exit(): 프로세스 종료

스케줄링:

  • Completely Fair Scheduler (CFS): 완전 공정 스케줄러
  • 실시간 스케줄링: SCHED_FIFO, SCHED_RR
  • 우선순위 관리: nice 값, real-time priority
  • 멀티코어 지원: SMP(Symmetric Multi-Processing) 환경

2. 메모리 관리 (Memory Management)

가상 메모리 시스템:

  • 페이지 관리: 4KB 페이지 단위 메모리 관리
  • 메모리 매핑: 가상 주소와 물리 주소 매핑
  • 스왑 관리: 디스크 공간을 메모리로 활용
  • 캐시 관리: 페이지 캐시, 버퍼 캐시

메모리 할당:

  • 슬랩 할당자: 커널 메모리 할당
  • buddy 시스템: 물리 메모리 할당
  • OOM Killer: 메모리 부족 시 프로세스 종료

3. 파일 시스템 관리 (File System Management)

VFS (Virtual File System):

  • 통합된 인터페이스: 다양한 파일 시스템을 통합 관리
  • 파일 시스템 추상화: ext4, btrfs, xfs 등 지원
  • 네트워크 파일 시스템: NFS, CIFS 지원

파일 조작:

  • 파일 생성/삭제: inode 기반 파일 관리
  • 디렉토리 관리: 계층적 디렉토리 구조
  • 권한 관리: rwx 권한, ACL 지원
  • 링크 관리: 하드 링크, 심볼릭 링크

4. 네트워크 관리 (Network Management)

네트워크 스택:

  • TCP/IP 프로토콜: 전송 제어 프로토콜 스택
  • 소켓 인터페이스: 네트워크 통신 API
  • 라우팅: 네트워크 패킷 라우팅
  • 방화벽: netfilter 프레임워크

네트워크 인터페이스:

  • 네트워크 장치 관리: 이더넷, 무선랜 등
  • 프로토콜 지원: IPv4, IPv6, TCP, UDP
  • 네트워크 보안: SELinux, AppArmor

5. 디바이스 드라이버 관리 (Device Driver Management)

드라이버 아키텍처:

  • 플러그 앤 플레이: 자동 장치 인식
  • 핫플러그: 실행 중 장치 연결/해제
  • 버스 시스템: PCI, USB, I2C 등 지원

드라이버 종류:

  • 문자 장치 드라이버: 키보드, 마우스, 터미널
  • 블록 장치 드라이버: 하드디스크, SSD
  • 네트워크 장치 드라이버: 이더넷 카드, 무선랜

6. 보안 기능 (Security Features)

접근 제어:

  • 사용자/그룹 관리: UID, GID 기반 권한
  • 파일 권한: rwx 권한, setuid, setgid
  • SELinux: 강제 접근 제어
  • AppArmor: 응용 프로그램별 보안 정책

암호화 및 인증:

  • 커널 암호화: dm-crypt, LUKS
  • 키 관리: 키링 시스템
  • 보안 모듈: LSM (Linux Security Modules)

⬅️ 이전

서브목차