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 파티션 선택 → 커널 로드 → 시스템 구성 → 업무 애플리케이션 시작 │ │ │플랫폼 종속 플랫폼 종속 플랫폼 독립, 이후 과정은 모든 플랫폼에서 동일- 하드웨어 펌웨어와 부트로더가 플랫폼을 초기화합니다. 플랫폼별 차이는 사용자가 신경 쓸 필요가 없습니다.
- 부트로더가 부팅 정책을 읽어 A/B 파티션을 선택하고 시스템 정상 상태를 검증합니다.
- 커널이 시작되면 읽기 전용 시스템 파티션과 쓰기 가능한 데이터 파티션을 통합 실행 뷰로 결합합니다.
- 시스템 서비스와 업무 애플리케이션이 순차 시작되어 작업 상태로 진입합니다.
시스템 업데이트도 같은 흐름을 따릅니다. 예비 파티션에 새 버전을 기록하고 전환 후 자동 검증하며 실패하면 자동 복귀합니다. 대역폭이 제한된 현장에서는 변경 부분만 전송하는 증분 업데이트도 사용할 수 있습니다.
이 절차는 업데이트가 예비 파티션에만 영향을 주어 현재 실행을 방해하지 않고, 부팅 시 자동 검증하여 이상이 있으면 자동 전환함을 보장합니다.
데이터 흐름과 격리
섹션 제목: “데이터 흐름과 격리”실행 중 내부 데이터 흐름은 엄격한 격리 원칙을 따릅니다.
┌────────────────────────────┐ │ 애플리케이션 계층(컨테이너/네이티브 앱) │ └──────────────┬─────────────┘ │ 읽기: 읽기 전용 시스템 │ 쓰기: 데이터 파티션 ┌──────────────┴─────────────┐ │ 시스템 계층(읽기 전용, 변조 불가) │ ├────────────────────────────┤ │ 데이터 파티션(모든 사용자 쓰기) │ └────────────────────────────┘- 애플리케이션은 시스템 내용을 읽을 수만 있고 시스템 자체를 변경할 수 없습니다.
- 모든 쓰기는 데이터 파티션으로 리디렉션되어 시스템과 완전히 격리됩니다.
- 공장 초기화는 시스템과 사용자 쓰기를 출하 상태로 복원하므로 중요 데이터는 미리 백업하세요.
클라우드 협력
섹션 제목: “클라우드 협력”장치는 내장 에이전트를 통해 JelinaCloud와 협력합니다.
┌──────────┐ 상태 보고/로그 ┌─────────────┐│ 엣지장치 │ ─────────────────────────▶ │ JelinaCloud ││ JelinaOS │ ◀───────────────────────── │ 클라우드 │└──────────┘ 업데이트 전송/원격 운영 └─────────────┘- 상향: 장치 상태, 실행 지표와 로그를 지속 보고하여 클라우드에서 실시간 조회합니다.
- 하향: 시스템 업데이트, 애플리케이션 Release와 구성 정책을 클라우드에서 통합 조율합니다.
- 보안 채널: 운영 모드에서는 암호화 채널로만 클라우드와 통신하므로 원격 운영이 공용 네트워크에 노출되지 않습니다.
아키텍처 개요
섹션 제목: “아키텍처 개요”| 계층 | 구성 | 역할 |
|---|---|---|
| 애플리케이션 계층 | 컨테이너·네이티브 애플리케이션 | 업무 로직 실행 |
| 실행 계층 | 컨테이너 런타임, 서비스 관리, 장치 에이전트 | 애플리케이션 오케스트레이션, 시스템 서비스와 클라우드 협력 |
| 시스템 계층 | 읽기 전용 시스템(Debian / Ubuntu / Kylin 등) | 안정적이고 변조할 수 없는 기반 제공 |
| 하드웨어 계층 | ARM64(Allwinner / Rockchip / NXP i.MX), x86_64 | 다중 플랫폼 통합 지원 |
이 아키텍처는 더 안전한 시스템, 더 신뢰할 수 있는 업데이트, 더 간단한 운영·유지보수를 제공합니다. 이것이 산업용 엣지를 위한 JelinaOS의 아키텍처입니다.