Skip to content

Commit

Permalink
update name
Browse files Browse the repository at this point in the history
  • Loading branch information
ZCShou committed Dec 5, 2024
1 parent 9c16cfe commit 48f59aa
Show file tree
Hide file tree
Showing 19 changed files with 163 additions and 160 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img src="static/images/site/logo.svg" alt="secos-logo" width="64"><br>
<img src="static/images/site/logo.svg" alt="infisecos-logo" width="64"><br>
A security operating system focused on the AIoT (Artificial Intelligence of Things) field.<br/>
<br/>
</p>
Expand All @@ -8,7 +8,7 @@ English | [中文版](README_CN.md)

# Introduction

This repository is the source repository for the SecOS documentation built using [Docusaurus](https://docusaurus.io/). Docusaurus is an open-source website generator tool developed by Meta, based on React, for creating, maintaining, and deploying static websites.
This repository is the source repository for the InfisecOS documentation built using [Docusaurus](https://docusaurus.io/). Docusaurus is an open-source website generator tool developed by Meta, based on React, for creating, maintaining, and deploying static websites.

## Development

Expand All @@ -21,7 +21,7 @@ Docusaurus is actually a set of Node.js packages, so this documentation is essen

## Deploy

Currently, the SecOS documentation website is hosted on GitHub Pages. The repository is configured by default to deploy via GitHub Actions. When the source code is committed to the repository, it will automatically trigger GitHub Actions to deploy the website.
Currently, the InfisecOS documentation website is hosted on GitHub Pages. The repository is configured by default to deploy via GitHub Actions. When the source code is committed to the repository, it will automatically trigger GitHub Actions to deploy the website.

> It also supports yarn deploy for deploying to a separate branch (after modifying the repository configuration).
> - Linux:
Expand Down
6 changes: 3 additions & 3 deletions README_CN.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img src="static/images/site/logo.svg" alt="secos-logo" width="64"><br>
<img src="static/images/site/logo.svg" alt="infisecos-logo" width="64"><br>
一个专注于 AIoT 领域的安全操作系统<br/>
<br/>
</p>
Expand All @@ -8,7 +8,7 @@

# 简介

本仓库是使用 [Docusaurus](https://docusaurus.io/) 构建 SecOS 的文档的源码仓库。Docusaurus 是有 Meta 开源的基于 React 开发的一个用于创建、维护和部署静态网站的网站生成工具。
本仓库是使用 [Docusaurus](https://docusaurus.io/) 构建 InfisecOS 的文档的源码仓库。Docusaurus 是有 Meta 开源的基于 React 开发的一个用于创建、维护和部署静态网站的网站生成工具。

## 开发

Expand All @@ -21,7 +21,7 @@ Docusaurus 实际上是一组 Node.js 包,因此,本文档实际上是一个

## 部署

目前,SecOS 的文档网站托管在了 GitHub Pages 上,仓库默认配置为通过 GitHub Action 进行部署,当把源码提交到仓库之后将自动触发 GitHub Action 进行部署。
目前,InfisecOS 的文档网站托管在了 GitHub Pages 上,仓库默认配置为通过 GitHub Action 进行部署,当把源码提交到仓库之后将自动触发 GitHub Action 进行部署。

> 也支持 `yarn deploy` 进行独立分支部署(需修改仓库配置后)
> - Linux:
Expand Down
6 changes: 3 additions & 3 deletions blog/2024/11-15-secos-docs/secos-docs.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
slug: socos-docs
title: About SecOS document
title: About InfisecOS document
authors: [ZCShou]
tags: [hello, secos, docusaurus]
tags: [hello, infisecos, docusaurus]
---

The SecOS documentation built using Docusaurus
The InfisecOS documentation built using Docusaurus
<!-- truncate -->

## 简介
Expand Down
2 changes: 1 addition & 1 deletion blog/authors.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ZCShou:
name: ZCShou
title: SecOS Kernel Engineer @ QCLIC
title: InfisecOS Kernel Engineer @ QCLIC
url: https://github.com/zcshou
image_url: https://github.com/zcshou.png
page: true
Expand Down
8 changes: 4 additions & 4 deletions blog/tags.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ docusaurus:
permalink: /docusaurus
description: Docusaurus tag description

secos:
label: SecOS
permalink: /secos
description: SecOS tag description
infisecos:
label: InfisecOS
permalink: /infisecos
description: InfisecOS tag description
30 changes: 15 additions & 15 deletions docs/design/arch.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebar_position: 1

# Architecture

SecOS 是一个开源的、组件化的 Unikernel,以组合组件库的方式构建系统。
InfisecOS 是一个开源的、组件化的 Unikernel,以组合组件库的方式构建系统。

![Arch](./images/arch.svg)

Expand All @@ -19,9 +19,9 @@ SecOS 是一个开源的、组件化的 Unikernel,以组合组件库的方式
- SMP调度: SMP scheduling with single run queue
- 文件系统: File system

SecOS 由 apps、crates、modules 组成
InfisecOS 由 apps、crates、modules 组成
- apps: 应用程序。它的运行需要依赖于modules组件库。
- modules: SecOS 的组件库。
- modules: InfisecOS 的组件库。
- crates: 通用的基础库,为 modules 实现提供支持。


Expand Down Expand Up @@ -63,26 +63,26 @@ SecOS 由 apps、crates、modules 组成
其中进程组件与地址空间组件形成内核主干,而各种文件系统是功能组件(functional-kits)或内核组件(os-kits)。而系统调用接口层主要是对接抽象资源管理层,可以看成是抽象资源管理层面向应用的接口,也是内核主干的一部分。

## examples
examples 即直接面向用户的可执行程序,SecOS 在设计上可以同时支持 Rust 编程和 C 语言编程,并提供了如下所示的一些示例
examples 即直接面向用户的可执行程序,InfisecOS 在设计上可以同时支持 Rust 编程和 C 语言编程,并提供了如下所示的一些示例
- Rust 应用
![输入图片说明](./images/exp_rust.png)

- C 应用
![输入图片说明](./images/exp_c.png)

## modules
Modules 是 SecOS 的组件集合,它是与具体 OS 相关的。modules 下的模块是 SecOS 为了想要实现操作系统的必要功能而对 crates 的各种库组合和扩展后,更加接近用户应用层的抽象模块。
- axalloc: SecOS 的全局内存分配器.
- axconfig: SecOS 特定平台编译的常量和参数配置。
- axdisplay: SecOS 的图形化模块。
- axdriver: SecOS 的设备驱动模块。
- axfs: SecOS 的文件系统模块。
Modules 是 InfisecOS 的组件集合,它是与具体 OS 相关的。modules 下的模块是 InfisecOS 为了想要实现操作系统的必要功能而对 crates 的各种库组合和扩展后,更加接近用户应用层的抽象模块。
- axalloc: InfisecOS 的全局内存分配器.
- axconfig: InfisecOS 特定平台编译的常量和参数配置。
- axdisplay: InfisecOS 的图形化模块。
- axdriver: InfisecOS 的设备驱动模块。
- axfs: InfisecOS 的文件系统模块。
- axhal: SecOS硬件抽象层,为特定平台的操作提供统一的API。
- axlog: SecOS 多个级别日志记录宏,包括:error、warn、info、debug、trace。
- axnet: SecOS 的网络模块,包括:IpAddr、TcpSocket、UdpSocket、DnsSocket等。
- axruntime: SecOS 的运行时库,是应用程序运行的基础环境。
- axsync: SecOS 提供的同步操作模块,包括:Mutex、spin。
- axtask: SecOS 的任务调度管理模块,包括:任务创建、调度、休眠、销毁等。
- axlog: InfisecOS 多个级别日志记录宏,包括:error、warn、info、debug、trace。
- axnet: InfisecOS 的网络模块,包括:IpAddr、TcpSocket、UdpSocket、DnsSocket等。
- axruntime: InfisecOS 的运行时库,是应用程序运行的基础环境。
- axsync: InfisecOS 提供的同步操作模块,包括:Mutex、spin。
- axtask: InfisecOS 的任务调度管理模块,包括:任务创建、调度、休眠、销毁等。

## crates
crates 是 Modules 实现提供更底层的支持,通用的基础库。crates 模块属于是系统无关的模块,这些库可以理解为构建一个操作系统所需要的底层共性,我们以松耦合,高抽象的方式开发这些库,目的是后续可以为别的系统复用。
Expand Down
8 changes: 4 additions & 4 deletions docs/design/detail.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ sidebar_position: 3
TODO

### axhal 组件
SecOS 中,axhal 组件提供了一层针对不同硬件平台的硬件封装,它为指定的操作平台进行引导和初始化过程,并提供对硬件的操作。例如 modules/axhal/src/platform/qemu_virt_riscv/console.rs 里面提供了对字符输出的封装,我们可以直接调用其中的 putchar 函数进行字符的输出,而不是一次又一次地使用 sbi 这样汇编级别的代码进行输出。
InfisecOS 中,axhal 组件提供了一层针对不同硬件平台的硬件封装,它为指定的操作平台进行引导和初始化过程,并提供对硬件的操作。例如 modules/axhal/src/platform/qemu_virt_riscv/console.rs 里面提供了对字符输出的封装,我们可以直接调用其中的 putchar 函数进行字符的输出,而不是一次又一次地使用 sbi 这样汇编级别的代码进行输出。
![axhal](./images/axhal.png)
我们看到 boot.rs 的汇编代码最后有一段跳转到 entry 的代码, 目前来说,SecOS 运行到这里之后,就会跳转到 rust_entry 函数(在axhal/src/platform/qemu_virt_riscv/mod.rs 文件中),这个函数会执行一些初始化流程,然后调用rust_main 函数(在 modules/axruntime/src/lib.rs 文件中), rust_main 函数会根据选择的 feature 进行初始化的流程, 最后会调用应用程序的 main 函数。
我们看到 boot.rs 的汇编代码最后有一段跳转到 entry 的代码, 目前来说,InfisecOS 运行到这里之后,就会跳转到 rust_entry 函数(在axhal/src/platform/qemu_virt_riscv/mod.rs 文件中),这个函数会执行一些初始化流程,然后调用rust_main 函数(在 modules/axruntime/src/lib.rs 文件中), rust_main 函数会根据选择的 feature 进行初始化的流程, 最后会调用应用程序的 main 函数。

```c
extern "C" {
Expand All @@ -30,15 +30,15 @@ unsafe extern "C" fn rust_entry(cpu_id: usize, dtb: usize) {
}
```
为避免引入过多组件, 我们直接将 axhal/src/platform/qemu_virt_riscv/mod.rs 里面 rust_entry 中调用的 rust_main() 函数换成应用程序的 main 函数(记得要在上面 extern 引用 main 函数), 并加上一行 self::misc::terminate(), 方便 SecOS 运行完程序后终止,以防止SecOS卡死不能正常退出(目前退出的功能依赖于下一部分提到的axruntime组件)。
为避免引入过多组件, 我们直接将 axhal/src/platform/qemu_virt_riscv/mod.rs 里面 rust_entry 中调用的 rust_main() 函数换成应用程序的 main 函数(记得要在上面 extern 引用 main 函数), 并加上一行 self::misc::terminate(), 方便 InfisecOS 运行完程序后终止,以防止SecOS卡死不能正常退出(目前退出的功能依赖于下一部分提到的axruntime组件)。
### axruntime
如果我们需要支持更复杂的应用,axhal 提供的低级的裸机环境肯定不能满足我们的需求, 那么就需要用到 axruntime 这个更强大的组件了。axruntime 的主要功能是在进入应用程序的 main 函数之前执行一些初始化操作, 根据所选择的不同 feature 执行相对应的初始化过程。
![输入图片说明](./images/axruntime.png)
在 axhal 执行完后不是直接跳转到应用程序的 main 函数, 而是跳转到 axruntime 这个组件的 rust_main 函数,再跳转到 helloworld 的 main 函数。
### feature
feature 的参数控制也是 SecOS 的强大功能之一,和之前的部分不同,用户从开启或关闭 feature 变成了具体调整 feature 特性的参数,以达到自己所需要的最佳环境支持。用户通过运行命令来调整 feature 的流程可以用下图来表示:
feature 的参数控制也是 InfisecOS 的强大功能之一,和之前的部分不同,用户从开启或关闭 feature 变成了具体调整 feature 特性的参数,以达到自己所需要的最佳环境支持。用户通过运行命令来调整 feature 的流程可以用下图来表示:
![输入图片说明](./images/feature.png)
结合图中展示和具体实现部分,用户 (Client) 通过命令传递想要控制的参数,自顶往下由 helloworld 传递到 modules,最终抵达 modules/axruntime/src/lib.rs(123 行)`axlog::set_max_level(option_env!("LOG").unwrap_or(""));`这行代码, 接收用户在命令上设置的`LOG`控制参数来实现对日志过滤等级的控制。
Expand Down
2 changes: 1 addition & 1 deletion docs/design/principle.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebar_position: 2

# Principle

SecOS 是一款具备内核隔离分区虚拟化能力的安全操作系统,采用安全架构设计,面向工业自动化、汽车、医疗、铁路等对安全性和实时性严格要求的领域,具备应用程序隔离、架构灵活、高性能、高安全等特点。
InfisecOS 是一款具备内核隔离分区虚拟化能力的安全操作系统,采用安全架构设计,面向工业自动化、汽车、医疗、铁路等对安全性和实时性严格要求的领域,具备应用程序隔离、架构灵活、高性能、高安全等特点。

## 设计原则
我们希望操作系统开发者能够快速创建一个面向特定领域的操作系统内核,且对于每个应用程序,能确保最佳性能、高安全和高可靠的需求,同时能轻松移植现有的应用程序。为此,需要建立如下一些设计原则:
Expand Down
4 changes: 2 additions & 2 deletions docs/introduction/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ sidebar_position: 1

# Introduction

SecOS 是一款具备内核隔离分区虚拟化能力的安全操作系统,采用安全架构设计,面向工业自动化、汽车、医疗、铁路等对安全性和实时性严格要求的领域,具备应用程序隔离、架构灵活、高性能、高安全等特点。
InfisecOS 是一款具备内核隔离分区虚拟化能力的安全操作系统,采用安全架构设计,面向工业自动化、汽车、医疗、铁路等对安全性和实时性严格要求的领域,具备应用程序隔离、架构灵活、高性能、高安全等特点。

![SecOS](./images/block_diagram.png)
![InfisecOS](./images/block_diagram.png)
8 changes: 4 additions & 4 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {themes as prismThemes} from 'prism-react-renderer';
/** @type {import('@docusaurus/types').Config} */

export default {
title: 'SecOS',
title: 'InfisecOS',
tagline: 'A security operating system focused on the AIoT field',
favicon: 'images/site/favicon.ico',

Expand Down Expand Up @@ -185,10 +185,10 @@ export default {
},
},
navbar: {
title: 'SecOS',
title: 'InfisecOS',
hideOnScroll: true,
logo: {
alt: 'SecOS Logo',
alt: 'InfisecOS Logo',
src: 'images/site/logo.svg',
},
items: [
Expand Down Expand Up @@ -229,7 +229,7 @@ export default {
],
},
{
href: 'https://github.com/qclic/SecOS',
href: 'https://github.com/qclic/InfisecOS',
position: 'right',
className: 'header-github-link',
'aria-label': 'GitHub repository',
Expand Down
3 changes: 3 additions & 0 deletions i18n/zh/code.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
{
"InfisecOS": {
"message": "无极安全操作系统"
},
"A security operating system focused on the AIoT field": {
"message": "一个专注于 AIoT 领域的安全操作系统"
},
Expand Down
4 changes: 2 additions & 2 deletions i18n/zh/docusaurus-theme-classic/navbar.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"title": {
"message": "SecOS",
"message": "InfisecOS",
"description": "The title in the navbar"
},
"logo.alt": {
"message": "SecOS Logo",
"message": "InfisecOS Logo",
"description": "The alt text of navbar logo"
},
"item.label.Document": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "secos-docs",
"name": "infisecos-docs",
"version": "0.0.1",
"private": true,
"scripts": {
Expand Down
Loading

0 comments on commit 48f59aa

Please sign in to comment.