1. 마이크로 커널
모노리틱 커널
- 커널이 제공해야 할 모든 기능이 단일한 커널 공간에 구현된 구조
- 리눅스 커널 구조
마이크로 커널
- 모노리틱 커널과 구조상으로 반대되는 개념
- 커널 공간에 반드시 필요한 기능들만을 구현함
- 주로 하드웨어와 밀접하게 관련된 기능들을 커널 공간에 구현
- 그 외의 다른 커널 기능들은 사용자 공간에 구현
- 장점
- 커널의 크기를 작게 할 수 있음
- 커널 소스도 작고 깨끗해질 수 있음 → 관리, 개선, 유지 등이 쉬워짐
- 휴대용 시스템의 운영체제로 사용될 수 있음
- 분산 환경 특히 클라이언트-서버 모델에 잘 적용될 수 있음
- 최근에 개발되는 운영체제들은 대부분 마이크로 커널 구조
리눅스 커널
- 모듈을 지원함으로써 커널의 장점을 제공
- 모듈을 사용하면 커널에 새로운 기능을 추가할 때 커널 소스를 직접 컴파일 할 필요 없음
2. 모듈 프로그래밍 무작정 따라하기
→ 실습
3. 시스템 호출 hooking
→ 실습
4. 시스템 호출 hooking 모듈 확장
→ 실습
이 글은 아래의 책을 공부 및 정리한 내용입니다.
리눅스 커널 내부구조 - 예스24