2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

Micro Kernels

기존의 운영체제는 Layered Architecture 로 되어 있다.
Layer 구조의 장점은 유지관리가 편리하며 개발시 자신의 Layer 부분만 처리하면 되므로 개발효율
상승을 기대할 수 있다.

하지만 Layer의 설계 및 정의가 어렵고 처음 잘못 설계하게 되면 유지보수가 어렵게 된다.
Layer 를 추가하게 되면 기존 Layer 와의 연계 및 유지보수가 힘들다.
또한 Layer가 늘어나게 되면 System Overhead 가 늘어나게 된다.

이러한 Layer 구조의 단점을 보완하기 위해 나온 개념이 Micro Kernel 이다.

이 개념은 운영 체제(OS)의 기본적인 기능을 Kernel 에 구현하고 (Process, Memory, 동기화 기능)
나머지 기능은 모두 Server 형태로 User Mode 에 올린다.

Micro Kernel 에는 처리 제어나 장치 구동기 등 H/W에 의존하는 기능, 실시간 처리 및 동기화 기능
(Mutex, IPC, 세마포어) 을 포함하게 된다.

장점은 기능의 추가가 쉽고 디버깅이 용이하다.
Server 오류시 Kernel에 영향을 주지 않고 그 Server 만 멈추게 되므로 시스템 유지에 장점이 있고
또한 각종 처리기에 용이하게 이식할 수 있다는 장점이 있다.

그러나 단점은 Application 의 Service Request 시 용량이 크거나 자주 Request 되면 Overhead 가
증가하게 된다.

초창기에 Mach Os에서 사용하고 있으며 현재는 Apple Mac OS에서 사용하고 있다.
또한 MS의 Windows 의 경우에는 Layered Architecture + Micro Kernel을 혼용하고 있다.

일반 커널과 마이크로 커널의 계층구조

댓글

이 블로그의 인기 게시물

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[react-native] uuid 생성이 에러가 날 때 대처법