Lecture DP : Architecture et programmation du processeur Kunpeng (13) Noyau du système d'exploitation et logiciels de base cloud


Mise à jour supplémentaire, à cause du dessin d'il y a quelques jours...

Composition du logiciel Kunpeng

logiciel spécifique au matériel

Composition du logiciel Kunpeng

L'écologie logicielle du processeur Kunpeng est une écologie logicielle en constante évolution. Le serveur lui-même présente également une variété de complexité. Après une longue période de développement, le matériel du serveur a différentes solutions de système d'exploitation. Ces systèmes d'exploitation implémentent souvent une combinaison de logiciels en couches. , il est difficile de décrire simplement son architecture logicielle .

Cette section présente la composition du logiciel Kunpeng à un niveau relativement élevé, principalement du point de vue de l'écologie logicielle GNU/Linux .

Ce qui suit est une vue générale de l'architecture logicielle de Kunpeng GNU/Linux :

Une vue de haut niveau de l'architecture logicielle de Kunpeng GNU/Linux
Dans l'image ci-dessus, le bas est le matériel du serveur Kunpeng, qui est un périphérique serveur à usage général avec le processeur Kunpeng comme noyau .
Les logiciels exécutés sur un système matériel comprenant un cœur ARM contiendront inévitablement du code spécifique au système. Ce code est généralement séparé des autres logiciels système sous la forme d'un micrologiciel . Cette section fait référence au code de cette fonctionnalité ---- spécifique au matériel logiciel .

Dans le domaine des serveurs, le matériel et les logiciels spécifiques au matériel du serveur ont le plus grand impact sur le serveur « prêt à l'emploi », ces deux parties doivent donc répondre aux exigences de conformité liées aux serveurs ARM (voir : ARMv8- Une architecture , Kunpeng Logiciel Écologie et services Cloud )

logiciel spécifique au matériel

Les logiciels spécifiques au matériel font référence aux logiciels spécifiques à un système dans un serveur ARM et sont souvent fournis sous forme de micrologiciel, comprenant principalement ce que l'on appelle le chargeur de démarrage et un micrologiciel spécifique au périphérique.

Cette section présentera d'abord le chargeur de démarrage , puis présentera les spécifications requises du micrologiciel SBSA et SBBR dans le serveur ARM , ainsi que certains éléments importants impliqués, tels que UEFI, ACPI et ATF (ARM Trusted Firmware) .

1. Chargeur de démarrage

Boot Loader est le chargeur de démarrage, qui est une version abrégée du mot Bootstrap Loader. Il s'agit généralement du premier logiciel après la mise sous tension ou la réinitialisation du système , il est donc spécifique à un processeur et une carte mère spécifiques.

Un aperçu général du processus de démarrage comprend trois étapes principales :

  1. Le système est sous tension et le matériel charge le Boot Loader ;
  2. Boot Loader charge le système d'exploitation, tel que le noyau Linux ;
  3. Le système d'exploitation charge les applications et les données utilisateur, complétant ainsi le processus de démarrage.
系统上电 加载
加载
加载
硬件
BootLoader
操作系统
应用程序和用户数据

Parmi eux, la fonction principale du Boot Loader est d'agir comme intermédiaire entre le matériel et le système d'exploitation pour le chargement du système d'exploitation. Pour atteindre cet objectif, Boot Loader trouve et libère souvent le système d'exploitation, et établit l'environnement de base pour l'exécution du système d'exploitation (comme l'initialisation de la mémoire, la découverte des paramètres du périphérique matériel et leur renvoi au système d'exploitation, etc.). Certains chargeurs de démarrage complexes auront également de nombreuses fonctions supplémentaires, telles que la prise en charge du démarrage en plusieurs étapes, plusieurs méthodes de démarrage (telles que la mémoire Flash, le disque, le réseau, le disque U, le CD, etc.), le démarrage de plusieurs systèmes d'exploitation, la mise à jour du micrologiciel, la fourniture de service Time en cours d'exécution, prise en charge du débogage de niveau inférieur, etc.

Dans le domaine des serveurs, la prise en charge du démarrage sécurisé est également une fonctionnalité très importante.

2. SBSA et SBBR

Différents systèmes d'exploitation ont des exigences différentes pour le processus de chargement du système. Les produits Soc dans le domaine des atouts traditionnels d'ARM - les appareils embarqués et les terminaux mobiles - sont souvent personnalisés, différenciés et sensibles au prix , et les utilisateurs changent rarement de système d'exploitation de module matériel. Dans ces cas, le coût des logiciels personnalisés est bien inférieur aux économies réalisées grâce à la suppression des fonctionnalités matérielles. Par conséquent, dans de tels cas, le plan d'utilisation est généralement hautement personnalisé, tel que « firmware de démarrage + chargeur de démarrage (u-boot, fastboot) + système d'exploitation (Linux) + logiciel d'application ».

Mais dans le domaine des serveurs et des PC , le logiciel est généralement développé par un tiers, et les utilisateurs n'ont qu'à considérer "prêt à l'emploi" et "les modules peuvent être remplacés". Le coût du matériel personnalisé dépasse de loin le coût des logiciels. Les solutions utilisées sont donc généralement compatibles avec les interfaces standardisées.

SBSA (Server Base Boot Requirements) et SBBR (Server Base Boot Requirements) sont des spécifications proposées par ARM pour les exigences de démarrage de base des serveurs dans le domaine des applications serveur .

La spécification SBBA est une spécification basée sur l'architecture matérielle de l'architecture du processeur ARM 64 bits. Elle décrit en détail le logiciel du système d'exploitation du serveur , tel que : le système d'exploitation, l'hyperviseur (gestionnaire de machine virtuelle) et le micrologiciel s'appuient sur les fonctionnalités et aspects clés de l'architecture du système. Y compris le processeur, le PCIe, la minuterie, l'IOMMU, l'UART (récepteur/émetteur asynchrone universel, émetteur de récepteur asynchrone universel), le chien de garde et l'interruption, etc., l'objectif est d'avoir suffisamment d'architecture système standard pour permettre un bon fonctionnement. image système à utiliser
lors des exécutions sur tout le matériel système conforme.

La norme SBSA définit principalement les exigences pour les aspects suivants :

1.服务器在加电自检(POST)阶段应该检查的基本硬件组件,例如处理器、内存、硬盘驱动器、键盘和鼠标等。
2.服务器引导过程中需要加载的最小软件集合,包括固件(如BIOS或UEFI固件)、引导加载器(如GRUB或UEFI引导加载器)以及内核等。
3.服务器在引导过程中应该遵循的基本时序和顺序。
4.对于采用多引导架构的系统,SBSA还规定了引导过程中如何处理多个操作系统的引导选项。

La spécification SBBR est une spécification pour le micrologiciel de démarrage du système , qui définit les exigences de base du micrologiciel pour un système d'exploitation ou un hyperviseur (gestionnaire de machine virtuelle) sur un serveur d'architecture ARM AArch64 conforme à la norme SBSA pour obtenir des fonctionnalités prêtes à l'emploi. , y compris les exigences requises en matière de service de démarrage et d'exécution et de sécurité, et suivez UEFI (Unified Extensible Firmware Interface, Unified Extensible Firmware Interface) et ACPI (Advanced Adaptive Power Management Interface Spécification)

SBSA/SBBR est l'ensemble minimum d'exigences pour que les serveurs ARM puissent démarrer des micrologiciels tels que le système d'exploitation ou les moniteurs , et suit en même temps les normes de l'industrie telles que UEFI, ACPI, PSCI et SMBIO. Parmi eux, bien que SBSA et SBBR portent des noms similaires, ils se concentrent en réalité sur des aspects différents. SBSA se concentre principalement sur les exigences minimales pour le démarrage et le fonctionnement du système, y compris les chargeurs de démarrage, les services d'exécution, l'abstraction du micrologiciel, etc., tandis que SBBR se concentre sur les exigences minimales pour les programmes de démarrage, tels que les BootServices, RuntimeServices, Protocol et autres services de base de l'UEFI. interfaces de protocole.

Au niveau de l'implémentation, les spécifications SBSA et SBBR sont principalement implémentées via LuvOS, un système Linux personnalisé. LuvOS est basé sur le noyau Linux et s'obtient en compilant les outils de FWTS (Firmware Test Suite) et SBSA-ACS (ARM Server Base Architecture - Automotive and Server Consortium Starter Kit) sous Linux avec le noyau Linux standard.

3. UEFI

Initialement introduit par Intel, l'UEFI est le successeur du BIOS PC « hérité » x86 16 bits et est actuellement maintenu par le forum UEFI .

UEFI (Unified Extensible Firmware Interface) est une interface graphique standard utilisée dans le micrologiciel informatique, conçue pour remplacer le BIOS traditionnel. UEFI est défini comme une spécification d'interface de micrologiciel extensible, qui fournit un ensemble d'API standard afin que le système d'exploitation puisse interagir avec le micrologiciel dans l'environnement de pré-démarrage.

L'implémentation de référence open source de la spécification UEFI est edk2 ou EDK Ⅱ, et le code source se trouve sur https://github.com/tianocore/tianocore.github.io/tree/master/edk2
L'équipe de développement en amont est TianoCore communauté

L'UEFI est affiché dans une interface graphique , plus facile à utiliser et à personnaliser que le BIOS traditionnel. De plus, UEFI fournit également certaines fonctionnalités avancées, telles que la configuration réseau, les diagnostics matériels et le démarrage sécurisé.

L'UEFI est formulé conjointement par certaines entreprises leaders du secteur, notamment AMD, Intel, Microsoft, etc. Avec le développement du matériel informatique, l'UEFI évolue également pour répondre à de nouveaux besoins.

La spécification UEFI comprend un gestionnaire de démarrage BOOT Manager, qui déterminera comment charger les fichiers exécutables (peut-être Boot Loader ou d'autres fichiers image) en fonction des paramètres de la NVRAM (Non-Volatile Random Access Memory, mémoire vive non volatile), EFI. (Extensible Firmware Interface) doit être conforme au format PE (Protable Executable, Portable Executable), PE est une plate-forme Windows largement utilisée.

4. ACPI

ACPI (Advanced Configuration and Power Interface) est une spécification d'interface de gestion de l'énergie ouverte, conçue pour fournir une méthode de gestion de l'énergie commune et standardisée . ACPI définit une spécification d'interface pour un contrôle complet de la gestion de l'alimentation sous le contrôle du système d'exploitation.

L'ACPI comprend principalement les parties suivantes :

  1. Tableaux utilisés pour décrire l'état de l'alimentation et l'état des périphériques dans le système informatique (Tableaux) ;
  2. Interfaces pour la communication entre le système d'exploitation et le firmware ;
  3. Spécifications décrivant l’alimentation électrique, la gestion thermique et la configuration du système ;
  4. Événements (Événements) utilisés pour assurer la gestion de l'énergie d'exécution.

ACPI est une spécification relativement complexe qui fournit une multitude de fonctions de gestion de l'énergie. Dans le domaine informatique, de nombreuses nouvelles fonctionnalités de gestion de l'énergie sont implémentées sur la base de l'ACPI.
Sous-système ACPI et diagramme de structure

noyau du système d'exploitation

Le noyau du système d'exploitation est le cœur d'un système informatique et est responsable de tâches clés telles que la gestion des ressources matérielles, la planification des processus et la gestion de la mémoire. Le noyau Linux est un noyau de système d'exploitation gratuit et open source qui alimente de nombreux systèmes informatiques, notamment les ordinateurs personnels, les serveurs, les appareils mobiles, etc.

Appels système Linux

Les appels système sont l'interface par laquelle les applications interagissent avec le noyau du système d'exploitation. Les appels système Linux permettent aux applications de demander des services au noyau, tels que les opérations sur les fichiers, le contrôle des processus, les connexions réseau, etc.

Planification des processus Linux

La planification des processus est un élément clé du système d'exploitation responsable de l'allocation des ressources informatiques aux processus individuels. Linux utilise un algorithme de planification préemptive basé sur les priorités pour prendre en charge les tâches multiprocesseurs et en temps réel.
Noyau Linux

Gestion de la mémoire Linux

La gestion de la mémoire est responsable de l'allocation et de la gestion des ressources mémoire d'un système informatique. La gestion de la mémoire Linux prend en charge la mémoire virtuelle, la gestion de la mémoire physique et les algorithmes de remplacement de pages.

Système de fichiers virtuel Linux

Le système de fichiers virtuel fait partie du noyau Linux et fournit une interface de système de fichiers unifiée pour les applications de couche supérieure. Linux prend en charge une variété de systèmes de fichiers, tels que ext4, NFS, SMB, etc.

Sous-système réseau Linux

Le sous-système réseau est responsable de la gestion de la pile de protocoles réseau du système informatique, y compris l'interface réseau, le transfert des paquets de données, le routage, etc. Le sous-système réseau Linux fournit un riche ensemble d'interfaces de programmation réseau.

Communication interprocessus Linux

La communication inter-processus fait partie du système d'exploitation qui permet l'échange de données et la coopération entre différents processus. Linux fournit une variété de mécanismes de communication inter-processus, tels que des canaux, des sockets et une mémoire partagée.

Modules de noyau chargeables Linux

Les modules de noyau chargeables sont des parties du noyau Linux qui peuvent être chargées et déchargées dynamiquement en cas de besoin. Ces modules offrent la possibilité d'étendre les fonctionnalités du noyau sans modifier le code existant.

Pilotes de périphériques Linux

Les pilotes de périphériques constituent l'interface entre le noyau du système d'exploitation et les périphériques matériels. Les pilotes de périphériques Linux sont responsables de la gestion des périphériques matériels, notamment de l'initialisation des périphériques, de la transmission et du contrôle des données, etc.

Code lié à l'architecture Linux

Le code du noyau Linux se compose de plusieurs modules, chacun responsable de fonctions et de sous-systèmes spécifiques. La collaboration et la communication entre ces modules sont basées sur l'architecture et les principes de conception du noyau Linux. Comprendre l'architecture et le code du noyau Linux peut aider les développeurs à mieux comprendre et optimiser les performances du système.

操作系统内核
Linux系统调用
Linux进程调度
Linux内存管理
Linux虚拟文件系统
Linux网络子系统
Linux进程间通信
Linux可加载内核模块
Linux设备驱动程序
Linux架构相关代码
参考

bibliothèque de base

glibc (bibliothèque système GNU) est la bibliothèque principale de base de GNU/Linux et exécutant Linux.
glibc est la bibliothèque libc publiée par GNU, c'est-à-dire la bibliothèque d'exécution c. La Glibc est l'API de niveau le plus bas du système Linux, et presque toutes les autres bibliothèques d'exécution dépendront de la glibc. En plus d'encapsuler les services système fournis par le système d'exploitation Linux, la glibc elle-même assure également la réalisation de nombreux autres services fonctionnels nécessaires. Puisque la glibc inclut presque tous les standards UNIX courants, il est concevable que son contenu soit exhaustif. Et tout comme les autres systèmes UNIX, les groupes de fichiers qu'il contient sont dispersés dans la structure de répertoires arborescente du système, prenant en charge l'ensemble du système d'exploitation comme un support. Dans le système GNU/Linux, l'historique de développement de sa bibliothèque de fonctions C souligne plusieurs étapes importantes dans l'évolution de GNU/Linux. L'utilisation de la glibc comme bibliothèque de fonctions C du système est une étape importante dans l'évolution de GNU/Linux.

glibc是GNU发布的libc库
即c运行库
封装Linux操作系统所提供的系统服务
实现了必要功能服务的实现
UNIX通行的标准
Linux系统中
内含的档案群分散于系统的树状目录结构中
像其他的UNIX系统一样
包含了许多必要功能服务的实现
是GNU/Linux演进的重要里程碑
用glibc作为系统的C函式库

Outils de développement, middleware et applications

Outils de développement, middleware et applications

  1. Outils de modélisation logicielle : ces outils aident les développeurs à concevoir, planifier et simuler dès le début du cycle de développement logiciel. Ces outils sont généralement utilisés pour créer des modèles conceptuels, logiques et physiques, ainsi que pour la conception architecturale du système.
  2. Outils de mise en œuvre de logiciels : ces outils prennent en charge les activités de développement telles que le codage, la compilation, le débogage et l'intégration. Ils incluent des IDE (Integrated Development Environments), des compilateurs, des débogueurs, des systèmes de contrôle de version, etc.
  3. Outils de simulation logicielle : Ces outils simulent le comportement d'un système logiciel pour le test et la validation avant d'être déployé dans un environnement réel. Ils peuvent simuler le comportement du système dans diverses conditions, notamment en termes de performances, de sécurité et de fiabilité.
  4. Outils de test de logiciels : ces outils sont utilisés pour tester la qualité d'un système logiciel afin de garantir qu'il répond aux exigences fonctionnelles et de performances attendues. Ils incluent des outils de tests automatisés, des outils de tests de performances, des outils d'analyse de la qualité du code, etc.
  5. Outils d'aide au développement logiciel : Ces outils fournissent divers supports requis par l'équipe de développement, notamment des outils de gestion de projet, des outils de gestion des exigences, des outils de suivi des défauts, etc. Ils aident les équipes de développement à mieux collaborer, à améliorer l’efficacité du développement et à garantir le bon déroulement des projets.
软件建模工具
软件实施工具
软件模拟工具
软件测试工具
软件开发支撑工具

logiciel basé sur le cloud

云基础软件的基础是虚拟化技术,本节云基础软件主要为虚拟化软件与容器。

  1. 虚拟化技术简介:虚拟化技术是一种将物理硬件资源虚拟化成多个逻辑资源的技术,从而实现资源的共享、灵活配置和高效利用。虚拟化技术是云基础软件的基础。
  2. Hypervisor:Hypervisor是一种虚拟化软件,它允许在物理计算机上创建多个虚拟机,每个虚拟机都可以运行独立的操作系统和应用程序。Hypervisor对虚拟机的管理包括资源分配、隔离、备份和恢复等。
  3. 容器:容器是一种轻量级的虚拟化技术,它可以将应用程序及其依赖项打包成一个独立的容器,并在容器中运行应用程序。容器共享宿主操作系统的内核,因此相比于传统的虚拟化技术,容器具有更高的资源利用率和更快的启动时间。
  4. ARM服务器开源主流解决方案: Xen、KVM 和 Docker:ARM服务器是一种基于ARM架构的服务器,具有低功耗、高性能和高密度等优点。Xen、KVM和Docker是ARM服务器开源主流解决方案,分别提供虚拟化和容器技术,以支持ARM服务器的高效运行和管理。
云基础软件
虚拟化技术简介
Hypervisor
容器
ARM服务器开源主流解决方案: Xen KVM 和 Docker

鲲鹏软件开发模式

原生开发模式

原生开发模式

  1. 物理服务器:物理服务器是一种将硬件服务器资源出租给用户的云服务。用户可以自行安装操作系统和应用程序,拥有完全的控制权。但是,由于需要购买硬件设备和维护,成本相对较高。
  2. 云服务器:云服务器是一种将虚拟机出租给用户的云服务。用户可以在虚拟机上安装操作系统和应用程序,拥有完全的控制权。相比物理服务器,云服务器更加灵活,可以按需购买资源,且维护成本较低。
  3. 搭建原生开发环境示例:这里以Node.js开发环境为例。首先,需要安装Node.js运行环境,可以从官网下载安装程序进行安装。然后,使用npm(Node Package Manager)安装需要的第三方模块。最后,配置好应用所需的环境变量和路由规则等,就可以开始进行开发了。
原生开发模式
物理服务器
云服务器
搭建原生开发环境示例

交叉开发模式

要完成这两个任务,您可以按照以下步骤进行操作:

  1. 搭载 ARM GCC 交叉编译环境:

首先,您需要安装 ARM GCC 交叉编译工具链。这个工具链是一组用于将源代码编译成在 ARM 架构上运行的二进制文件的工具。

以下是在 Ubuntu 或其他 Linux 系统中安装 ARM GCC 交叉编译工具链的步骤:

# 更新系统软件包列表
sudo apt-get update

# 安装交叉编译工具链
sudo apt-get install gcc-arm-linux-gnueabi

安装完成后,您可以使用 arm-linux-gnueabi-gcc 命令来运行 ARM GCC 编译器。

如果您使用的是其他操作系统,可以参考相关的文档或资源来安装 ARM GCC 交叉编译环境。

  1. 搭建 QEMU 模拟开发环境:

QEMU(Quick Emulator)是一个开源的模拟器,可用于在计算机上模拟不同的硬件平台和操作系统。

以下是在 Ubuntu 或其他 Linux 系统中安装 QEMU 并配置为模拟 ARM 架构的步骤:

# 安装 QEMU
sudo apt-get install qemu

# 下载并解压 ARM 镜像文件(例如,使用 Raspberry Pi 的操作系统)
wget http://downloads.raspberrypi.org/raspbian_lite_latest
unzip raspbian_lite_latest.zip

# 在 QEMU 中创建一个虚拟机,并指定使用的镜像文件和模拟的 ARM 架构
qemu-system-arm -machine type=qEMU,kernel=kernel.img,initrd=initrd.img,append="root=/dev/sda2 panic=1 rootfstype=ext4" -m 1024M -display vnc=127.0.0.1:0 -vnc :0

上述命令将启动一个使用 ARM 架构的 QEMU 虚拟机,并加载指定的镜像文件。您可以根据自己的需求调整命令中的参数。

请注意,这只是一个简单的示例,具体的配置可能因您的需求和使用的镜像文件而有所不同。您可以参考 QEMU 的官方文档和相关资源以获取更详细的信息和指导。

搭载 ARM GCC 交叉编译环境
搭建 QEMU 模拟开发环境

云端开发模式

  1. CloudIDE基本特性ClouldIDE
    Cloud IDE(Integrated Development Environment)是一种基于云计算技术的集成开发环境,它提供了一个在线的开发平台,使开发人员能够在浏览器中进行软件开发和协作。以下是Cloud IDE的基本特性:
    wangyejietu

  2. 在线开发环境:Cloud IDE提供了一个完整的开发环境,包括代码编辑器、调试器、编译器、版本控制工具等,使开发人员可以直接在浏览器中进行开发,无需在本地安装和配置开发环境。

  3. 多语言支持:Cloud IDE支持多种编程语言,包括但不限于Java、Python、JavaScript、C++、Ruby等,以满足不同项目和开发需求。

  4. 版本控制集成:Cloud IDE通常与版本控制系统(如Git)紧密集成,方便开发人员对代码进行版本管理、协作和团队合作。

  5. 云存储支持:Cloud IDE允许开发人员将代码和文件存储在云端,避免了本地存储的限制和风险,并方便与团队成员共享和访问。

  6. 调试和测试功能:Cloud IDE提供了调试和测试工具,帮助开发人员在开发过程中进行代码调试和单元测试,以确保代码的质量和稳定性。insérer la description de l'image ici

  7. 协作和分享:Cloud IDE允许多个开发人员同时在同一个项目上进行协作开发,实时共享代码和编辑器状态,提供了更便捷的协作和沟通方式。

  8. 扩展和插件支持:Cloud IDE通常支持扩展和插件机制,开发人员可以根据自己的需求自定义和集成各种工具和功能。

  9. 跨平台访问:由于Cloud IDE在云端运行,开发人员可以通过浏览器从任何设备(如电脑、平板或手机)访问和使用,实现跨平台开发和远程工作。

Cloud IDE的基本特性使其成为开发人员在团队协作、敏捷开发和学习等场景中的有力工具。但也需要考虑网络连接和应用性能等因素对开发体验的影响。

  1. CloudIDE操作流程

以下是典型的Cloud IDE操作流程:

  1. 注册和登录:访问Cloud IDE提供商的网站,注册一个新账号并登录。

  2. 创建项目:在Cloud IDE界面中创建一个新项目或导入现有项目。你可以选择命名项目并指定项目的语言和框架。

  3. 编辑代码:打开项目文件并使用内置的代码编辑器修改代码。Cloud IDE通常提供代码自动完成、语法高亮和代码格式化等功能,以提高开发效率。

  4. Débogage et tests : si le débogage et les tests sont nécessaires, Cloud IDE fournit généralement des outils de débogage et de tests unitaires intégrés. Vous pouvez définir des points d'arrêt, surveiller les variables et exécuter du code pour le débogage, ainsi qu'écrire et exécuter des tests unitaires.

  5. Contrôle de version : Cloud IDE est généralement intégré à des systèmes de contrôle de version tels que Git, vous pouvez ajouter des fichiers au référentiel de code, valider les modifications, extraire et transmettre du code, gérer les branches et les demandes de fusion, etc.

  6. Créer et déployer : en fonction des exigences du projet, Cloud IDE peut fournir des outils de création et de déploiement permettant de créer du code dans des fichiers exécutables, des bibliothèques ou des packages d'installation, et de les déployer sur des environnements de test ou des serveurs de production.

  7. Développement collaboratif : Cloud IDE prend généralement en charge le développement collaboratif à plusieurs personnes. Vous pouvez inviter les membres de l'équipe à rejoindre des projets, partager du code, modifier et communiquer en temps réel, et suivre les modifications apportées par d'autres.

  8. Enregistrez et synchronisez : Cloud IDE enregistre automatiquement vos modifications de code et synchronise vos fichiers de projet via les services de stockage cloud pour accéder et poursuivre le développement sur différents appareils.

  9. Extension et personnalisation : selon vos besoins, vous pouvez installer et utiliser des plug-ins pour améliorer l'éditeur, intégrer d'autres outils de développement ou ajouter des fonctions personnalisées selon le mécanisme d'extension fourni par Cloud IDE.

  10. Exportation et déploiement : une fois que vous avez terminé de développer votre projet, vous pouvez exporter les fichiers du projet et les déployer dans un environnement de production réel, ou les empaqueter sous forme d'application distribuable.

  1. Exemple d'utilisation de CloudIDE
    Voici un exemple d'utilisation de Cloud IDE :
1. 注册和登录:访问Cloud IDE提供商的网站,点击注册按钮创建一个新账号,并使用注册的账号登录。

2. 创建项目:在Cloud IDE界面中点击"New Project"按钮,选择一个项目模板或创建一个空项目。输入项目名称并选择语言和框架。

3. 编辑代码:在Cloud IDE的编辑器中打开项目文件,开始编写代码。你可以使用代码自动完成、语法高亮和代码格式化等功能来提高开发效率。

4. 调试与测试:如果需要调试代码,你可以在编辑器中设置断点,单步执行代码,并查看变量的值以进行调试。另外,你可以编写单元测试并运行测试来验证代码的正确性。

5. 版本控制:Cloud IDE通常提供与Git等版本控制系统的集成。你可以将代码添加到本地仓库、提交更改并推送到远程仓库。还可以查看提交历史、分支和合并请求等。

6. 构建和部署:根据你的项目需求,Cloud IDE可能会提供构建和部署工具。你可以使用这些工具将代码构建为可执行文件、库或安装包,并将其部署到测试环境或生产服务器。

7. 协作开发:Cloud IDE通常支持多人协作开发功能。你可以邀请团队成员加入项目,并共享代码和编辑器状态。这样你们可以一起编辑代码、讨论和解决问题。

8. 保存和同步:Cloud IDE会自动保存你的代码更改,并将项目文件同步到云存储中。这样你可以在不同设备上访问和继续开发,而无需担心数据丢失。

9. 扩展和定制:根据需要,你可以浏览Cloud IDE提供的插件市场,并安装适合你项目的插件。这些插件可以增强编辑器功能、集成其他工具或添加自定义功能。

10. 导出和部署:完成项目开发后,你可以导出项目文件,并将其部署到实际的生产环境。你还可以将项目打包为可分发的应用程序,以便分享给其他人使用
注册和登录
创建项目
编辑代码
调试与测试
版本控制
构建和部署
协作开发
保存和同步
扩展和定制
导出和部署

Référence : "Architecture et programmation du processeur Kunpeng"

Je suppose que tu aimes

Origine blog.csdn.net/m0_74037814/article/details/132475630
conseillé
Classement