콘텐츠로 이동
공식 웹사이트로 돌아가기

시스템 아키텍처

JelinaOS 아키텍처의 핵심은 이중 시스템, 읽기 전용 루트, 독립 데이터, 클라우드 협력입니다. 이 설계가 높은 신뢰성, 쉬운 유지보수와 관리 가능성의 기반을 이룹니다.

JelinaOS는 저장 매체에 역할이 명확하고 서로 간섭하지 않는 파티션을 구성합니다. 고정된 이름(Label)으로 파티션을 식별하며 플랫폼 간에 일관됩니다. 하위 장치 노드가 x86의 sda/nvme 또는 ARM의 mmcblk처럼 달라도 파티션 이름으로 위치를 찾습니다.

┌────────────────────────────────────────────────┐
│ jelina-boot 부트 파티션: 부트로더 및 환경 변수 │
│ jelina-kernel-1 커널 1(커널 2와 상호 백업, 읽기 전용) │
│ jelina-kernel-2 커널 2 │
│ jelina-system-1 시스템 1(읽기 전용, 출하 상태) │
│ jelina-system-2 시스템 2 │
│ jelina-data 데이터 파티션: 모든 사용자 데이터와 쓰기 │
│ jelina-recv 복구 파티션: 시스템 복구 및 공장 초기화 │
└────────────────────────────────────────────────┘
  • A/B 이중 파티션: 커널과 시스템에 각각 완전한 복사본 두 개를 유지하여 상호 백업합니다.
  • 읽기 전용 마운트: 실행 중 시스템 파티션을 읽기 전용으로 마운트하여 프로그램의 내용 변조를 막습니다.
  • 독립 데이터 파티션: 모든 사용자 데이터, 구성과 실행 중 쓰기를 Data 파티션에 저장합니다.

하위 하드웨어 플랫폼과 관계없이 JelinaOS는 같은 부팅 논리를 따릅니다.

하드웨어 펌웨어 → 부트로더 → A/B 파티션 선택 → 커널 로드 → 시스템 구성 → 업무 애플리케이션 시작
│ │ │
플랫폼 종속 플랫폼 종속 플랫폼 독립, 이후 과정은 모든 플랫폼에서 동일
  1. 하드웨어 펌웨어와 부트로더가 플랫폼을 초기화합니다. 플랫폼별 차이는 사용자가 신경 쓸 필요가 없습니다.
  2. 부트로더가 부팅 정책을 읽어 A/B 파티션을 선택하고 시스템 정상 상태를 검증합니다.
  3. 커널이 시작되면 읽기 전용 시스템 파티션과 쓰기 가능한 데이터 파티션을 통합 실행 뷰로 결합합니다.
  4. 시스템 서비스와 업무 애플리케이션이 순차 시작되어 작업 상태로 진입합니다.

시스템 업데이트도 같은 흐름을 따릅니다. 예비 파티션에 새 버전을 기록하고 전환 후 자동 검증하며 실패하면 자동 복귀합니다. 대역폭이 제한된 현장에서는 변경 부분만 전송하는 증분 업데이트도 사용할 수 있습니다.

이 절차는 업데이트가 예비 파티션에만 영향을 주어 현재 실행을 방해하지 않고, 부팅 시 자동 검증하여 이상이 있으면 자동 전환함을 보장합니다.

실행 중 내부 데이터 흐름은 엄격한 격리 원칙을 따릅니다.

┌────────────────────────────┐
│ 애플리케이션 계층(컨테이너/네이티브 앱) │
└──────────────┬─────────────┘
│ 읽기: 읽기 전용 시스템
│ 쓰기: 데이터 파티션
┌──────────────┴─────────────┐
│ 시스템 계층(읽기 전용, 변조 불가) │
├────────────────────────────┤
│ 데이터 파티션(모든 사용자 쓰기) │
└────────────────────────────┘
  • 애플리케이션은 시스템 내용을 읽을 수만 있고 시스템 자체를 변경할 수 없습니다.
  • 모든 쓰기는 데이터 파티션으로 리디렉션되어 시스템과 완전히 격리됩니다.
  • 공장 초기화는 시스템과 사용자 쓰기를 출하 상태로 복원하므로 중요 데이터는 미리 백업하세요.

장치는 내장 에이전트를 통해 JelinaCloud와 협력합니다.

┌──────────┐ 상태 보고/로그 ┌─────────────┐
│ 엣지장치 │ ─────────────────────────▶ │ JelinaCloud │
│ JelinaOS │ ◀───────────────────────── │ 클라우드 │
└──────────┘ 업데이트 전송/원격 운영 └─────────────┘
  • 상향: 장치 상태, 실행 지표와 로그를 지속 보고하여 클라우드에서 실시간 조회합니다.
  • 하향: 시스템 업데이트, 애플리케이션 Release와 구성 정책을 클라우드에서 통합 조율합니다.
  • 보안 채널: 운영 모드에서는 암호화 채널로만 클라우드와 통신하므로 원격 운영이 공용 네트워크에 노출되지 않습니다.
계층 구성 역할
애플리케이션 계층 컨테이너·네이티브 애플리케이션 업무 로직 실행
실행 계층 컨테이너 런타임, 서비스 관리, 장치 에이전트 애플리케이션 오케스트레이션, 시스템 서비스와 클라우드 협력
시스템 계층 읽기 전용 시스템(Debian / Ubuntu / Kylin 등) 안정적이고 변조할 수 없는 기반 제공
하드웨어 계층 ARM64(Allwinner / Rockchip / NXP i.MX), x86_64 다중 플랫폼 통합 지원

이 아키텍처는 더 안전한 시스템, 더 신뢰할 수 있는 업데이트, 더 간단한 운영·유지보수를 제공합니다. 이것이 산업용 엣지를 위한 JelinaOS의 아키텍처입니다.