이번 포스팅은 커널의 종류에 대해서 간단히 포스팅하겠습니다.

 

커널은 용도에 맞게 여러 종류가 존재하는데 이 때 가장 대표적인 커널 방식이 마이크로 커널, 모놀리식 커널, 하이브리드 커널입니다. 여기서 하이브리드 커널은 마이크로와 모놀리식의 장점을 섞어서 만든 커널로 이번 포스팅에서는 마이크로 커널과 모놀리식 커널에 대한 설명을 주로 진행하겠습니다.

 

먼저 두 커널은 위와 같이 그림으로 간단히 표현할 수 있습니다. 모놀로식은 대부분의 주요 기능이 kernel에 존재하고 마이크로 커널의 경우에는 kernel을 최소화 했다는 것을 한 눈에 볼 수 있습니다.

 

 

1. 마이크로 커널

먼저 마이크로 커널 입니다. 마이크로 커널의 경우 대부분의 기능을 User 단에서 진행합니다. 커널의 사용이 적기 때문에 메모리의 충돌이나 여러 문제가 발생하더라도 시스템에 큰 문제가 되지 않고 상대적으로 안전성이 뛰어난 커널임을 알 수 있습니다. 하지만 속도 측면에서는 좋지 못한 성능을 보이고 있습니다. 왜냐하면

 

마이크로 커널의 동작이 위 그림과 같이 이루어지기 때문입니다. 즉 어플리케이션에서 파일서버에서 요하는 기능을 요청했을 때 user mode(어플리케이션) -> 커널 로 이동 후 커널 -> user mode(파일 서버)로 이동해야 하기 때문입니다. 즉 하나의 명렁을 수행하는데 있어 여러 번의 커널과 user mode의 변환이 일어날 수 있고 이러한 작업은 전체적으로 속도 측면에서 좋지 않은 단점이 될 수 있습니다.

 

2. 모놀로식 커널

대부분의 기능이 커널에 존재하는 유형입니다. 이 경우 위의 마이크로 커널과 달리 커널의 비중이 커지며 속도 측면에서 마이크로 커널보다 user mode와 커널모드의 변환이 적어 빠른 속도의 장점을 가지고 있습니다. 하지만 대부분의 주요기능이 kernel에 존재하기 때문에 만약 메모리 충돌과 같은 에러가 발생한 경우 kernel에서 발생하기 때문에 시스템 자체가 죽어버리는 치명적인 문제가 발생할 수 있습니다.

 

이번 포스팅은 커널의 종류중 가장 대표적인 모놀로식과 마이크로 커널에 대해 간단하게 정리 했습니다.

감사합니다~~!

+ Recent posts