소프트웨어 아키텍처 - 15(Microkernel Architecture Style)

박승현·2023년 10월 15일
0

아키텍처

목록 보기
15/30
post-thumbnail

Microkernel Architecture Style

  • 관련 하드웨어 플랫폼으로 쉽게 이식 가능
  • 미래의 발전을 쉽게 수용
  • 다른 인기 있는 운영 체제로 작성된 응용 프로그램 실행 가능

  • 맥락
    • 동일한 핵심 기능을 기반으로 하는 유사한 프로그래밍 인터페이스를 사용하는 여러 프로그램의 개발
  • 문제
    • 응용 플랫폼과 그래픽 GUI는 긴 수명 주기를 가지고 있음
      • 응용 플랫폼이 지속적인 하드웨어 및 소프트웨어 발전에 대응해야함
      • 응용 플랫폼이 새로운 기술을 쉽게 통합할 수 있도록 이식 가능하고 확장 가능하며 적응 가능해야 함

  • 마이크로 커널 구조
    • 애플리케이션 플랫폼의 기본 서비스를 마이크로 커널 컴포넌트에 캡슐화
    • 마이크로커널 내에서 크기나 복잡성을 불필요하게 증가시키지 않고 구현할 수 없는 핵심 기능은 내부 서버로 분리
    • 외부 서버는 내부 마이크로커널의 기본 모습을 구현
    • 클라이언트는 마이크로 커널이 제공하는 통신 시설을 사용하여 외부 서버와 통신

  • 각 구성 요소 해석
    • 마이크로 커널
      • 중앙 서비스를 구현
      • 시스템 특정 종속성은 마이크로 커널 내에 캡슐화
      • 마이크로커널은 시스템 리소스를 유지하는 역할도 함
      • 원자적 서비스 구현
    • 내부 서버
      • 마이크로커널이 제공하는 기능을 확장
      • 기존 하드웨어나 소프트웨어 시스템에 대한 일부 의존성을 캡슐화
      • 마이크로커널은 내부 서버의 기능을 서비스 요청을 통해 호출
    • 외부 서버
      • 응용 프로그램 도메인에 대한 자체적인 시각을 구현하기 위해 마이크로커널을 사용하는 구성 요소
    • 클라리언트 & 어댑터
      • 어댑터는 클라이언트와 외부 서버 간의 인터페이스를 대표
      • 클라이언트가 외부 서버의 서비스를 휴대 가능한 방식으로(설치 없이) 액세스할 수 있게 함


  • 장점
    • 휴대성
    • 유엿너
    • 정책과 메커니즘의 분리
  • 분산 마이크로커널의 이점
    • 확장성
    • 신뢰성
    • 투명성
    • 성능
    • 설계 및 구현 복잡성

아키텍처 계층 구조 요약

  • 여기까지가 계층 구조 스타일

  • 응용 프로그램, 시스템 소프트웨어 설계, 네트워킹 프로토콜 설계 등 다른 비즈니스 데이터 처리와 같은 시스템 소프트웨어 설계에 매우 인기가 있으며 응용 프로그램 소프트웨어 설계에도 사용
  • 구현
    • 구조 기술뿐만 아니라 현대적인 객체 지향 및 컴포넌트 지향 접근법을 사용하여 구현 가능
  • 설계 지침
    • 분해 기준을 정의
      • 각 레이어는 하위 레이어에만 의존 각 레이어는 명확하고 구체적인 작업이 있다
    • 분할 기준을 기반으로 경계를 결정
    • 분해된 하위 시스템의 인터페이스를 정의
    • 분해된 하위 시스템의 각 서비스를 정의
    • 하위 시스템 간의 연결을 정의

profile
KMU SW

0개의 댓글