Skip to content

总体架构设计

graph TB
  %% ========== 主模块样式 ==========
  style Entry fill:#F0F8FF,stroke:#4682B4
  style Core fill:#FFF0F5,stroke:#DB7093
  style API fill:#E6E6FA,stroke:#9370DB
  style Process fill:#F0FFF0,stroke:#3CB371
  style Trace fill:#FFFACD,stroke:#FFA500
  style ArceOS fill:#FFE4E1,stroke:#FF6347

  %% ========== 模块定义 ==========
  subgraph Entry["entry (系统初始化)"]
    direction TB
    启动入口 --> init脚本
    系统调用入口
  end

  subgraph Core["core (内核核心)"]
    direction TB
    ELF加载器
    内存管理
    资源限制管理
    任务调度
    进程生命周期
  end

  subgraph API["api (系统调用层)"]
    direction TB
    接口层["<b>接口层</b>: POSIX兼容接口"] --> 实现层["<b>实现层</b>: 跨架构统一实现"]
  end

  subgraph Process["process (进程管理)"]
    direction LR
    会话 --> 进程组 --> 进程 --> 线程
  end

  subgraph Trace["syscall-trace (追踪系统)"]
    direction TB
    日志生成器[[自动生成]] -.-> 参数记录器["结构体/基本类型"]
    日志生成器 -.-> 结果解析器["返回值/错误码"]
  end

  subgraph ArceOS["ArceOS (底层支持)"]
    direction LR
    调度器["任务调度"] <--> 内存管理器
    文件系统 <--> 设备驱动
    HAL层 <--> 运行时环境
  end

  %% ========== 模块连接关系 ==========
  Entry -->|初始化| Core
  Core -->|资源管理| Process
  API -->|功能依赖| Core
  Trace -->|监控| API
  ArceOS -->|基础服务| Core
  用户程序 --> 系统调用入口
  系统调用入口 --> 接口层