[리눅스 커널 내부구조] Chapter 07 - 리눅스 모듈 프로그래밍

gom·2024년 4월 24일
post-thumbnail

1. 마이크로 커널

모노리틱 커널

  • 커널이 제공해야 할 모든 기능이 단일한 커널 공간에 구현된 구조
  • 리눅스 커널 구조

마이크로 커널

  • 모노리틱 커널과 구조상으로 반대되는 개념
  • 커널 공간에 반드시 필요한 기능들만을 구현함
  • 주로 하드웨어와 밀접하게 관련된 기능들을 커널 공간에 구현
  • 그 외의 다른 커널 기능들은 사용자 공간에 구현
  • 장점
    • 커널의 크기를 작게 할 수 있음
      • 커널 소스도 작고 깨끗해질 수 있음 → 관리, 개선, 유지 등이 쉬워짐
      • 휴대용 시스템의 운영체제로 사용될 수 있음
      • 분산 환경 특히 클라이언트-서버 모델에 잘 적용될 수 있음
  • 최근에 개발되는 운영체제들은 대부분 마이크로 커널 구조

리눅스 커널

  • 모듈을 지원함으로써 커널의 장점을 제공
  • 모듈을 사용하면 커널에 새로운 기능을 추가할 때 커널 소스를 직접 컴파일 할 필요 없음

2. 모듈 프로그래밍 무작정 따라하기

→ 실습

3. 시스템 호출 hooking

→ 실습

4. 시스템 호출 hooking 모듈 확장

→ 실습

이 글은 아래의 책을 공부 및 정리한 내용입니다.
리눅스 커널 내부구조 - 예스24

profile
탐험하는 개발자

0개의 댓글