운영체제 커널 구조
1.
모놀리식 커널
•
모든 시스템 서비스와 드라이버가 하나의 큰 커널 내에 통합되어 실행되는 구조입니다.
•
이 구조는 효율적인 성능을 제공하지만, 커널 내의 한 부분에 문제가 생길 경우 전체 시스템에 영향을 줄 수 있는 위험이 있습니다.
2.
마이크로커널
•
필수적인 기능만을 커널 내에 포함하고, 나머지 서비스들은 사용자 공간에서 실행되도록 하는 구조입니다.
•
이로 인해 시스템의 유연성과 안정성이 향상되지만, 시스템 콜과 사용자 공간 서비스 간의 통신 오버헤드로 인해 성능 저하가 발생할 수 있습니다.
3.
하이브리드 커널
•
모놀리식 커널과 마이크로커널의 중간 형태로, 필수적인 커널 서비스는 커널 공간에서 실행되고, 나머지 서비스는 사용자 공간에서 실행됩니다.
•
이 구조는 두 커널의 장점을 적절히 조합하여 성능과 유연성을 동시에 추구합니다.
4.
적재 가능한 커널 모듈
a.
동적 적재 및 제거
커널 모듈은 운영체제가 실행 중일 때 필요에 따라 추가하거나 제거할 수 있습니다.
b.
자원 효율성
필요한 기능만을 메모리에 적재함으로써 시스템의 메모리 사용을 최적화할 수 있습니다.
c.
보안 및 안정성
특정 모듈이 시스템의 안정성이나 보안에 문제를 일으킬 경우, 해당 모듈만을 쉽게 제거하거나 수정할 수 있습니다.
운영체제 커널 구조를 간단히 알아보는 이유는 실제 운영체제가 이러한 구조들을 복합적으로 활용하여 제작되기 때문입니다.
예를 들어, Windows는 주로 모놀리식 구조를 채택했다고 알려져 있습니다.
운영체제마다 구조가 다르고, 각 회사의 보안 정책으로 인해 정확한 제작 방식이 공개되지 않습니다.
그러므로 유니티 클라이언트 개발자로서 커널 구조의 기본 개념들을 이해하는 것만으로도 충분하다고 개인적으로 생각합니다.