软件杯第一阶段

知识储备:

国产大型实时操作系统SylixOS

  1. 兼容IEEE 1003(ISO/IEC 9945)操作系统接口规范
  2. 兼容POSIX 1003.1b(ISO/IEC 9945-1)实时编程的标准
  3. 优秀的实时性能(任务调度与切换、中断响应算法都是O(1)时间复杂度算法)
  4. 支持无限多任务
  5. 支持进程、线程、协程三种多任务模型
  6. 支持优先级继承,防止优先级翻转
  7. 极其稳定的内核,内核CPU占用率低
  8. 支持紧耦合同构多处理器(SMP)
  9. 支持标准I/O、多路I/O复用与异步I/O接口
  10. 支持多种新型异步事件同步化接口,例如:signalfd、timerfd、hstimerfd、eventfd等
  11. 支持众多标准文件系统:FAT、YAFFS、ROOTFS、PROCFS、NFS、ROMFS等
  12. 支持文件记录锁,可为各种类型实时数据库提供支持(SQL、NoSQL、In-Mem DB)
  13. 支持动态应用程序装载、动态链接库以及内核模块
  14. 支持标准TCP/IPv4/v6双网络协议栈
  15. 支持AF_UNIX、AF_PACKET、AF_INET、AF_INET6协议域
  16. 集成众多网络工具,例如:FTP、TFTP、NAT、PING、TELNET、NFS等
  17. 支持众多标准设备抽象,如:TTY、BLOCK、DMA、ATA、GRAPH、RTC、PIPE等
  18. 支持多种工业设备或总线模型,如:CAN、I2C、SPI、USB、PCI、SDIO等
  19. 提供内核行为跟踪器方便调试
  20. 可支持众多图形界面系统,例如:Qt、ftk、ucGUI等

简单需求分析:

在如下环境中

开发环境:Windows操作系统、翼辉的RealEvo-IDE

实验平台:SylixOS ECS容器、VMware Linux虚拟机和linux虚拟机中的K8S

开发语言:c/c++

设计并实现一个运行在SylixOS上的服务端代理程序,满足K8S容器操作指令到ECS的容器操作命令的转换。

解决非功能性需求CPU和内存等资源的占用;软件容错处理设计;软件架构可扩展性。

就是设计一个可以在SylixOS上运行的软件可以实现命令的转换完成一个容器的功能

并实现如下功能:

序号

功能

接口语言

说明

1

创建一个容器

C/C++

container -c path

2

列举容器中运行的进程

C/C++

container -s [cid]

3

启动一个容器

C/C++

srtp -f ...

4

停止一个容器

C/C++

container -k cid

5

重新启动一个容器

C/C++

停止后启动

6

杀死一个容器

C/C++

container -k cid

7

更新一个容器

C/C++

更新容器目录文件

8

连接到一个容器

C/C++

container -a

9

移除一个容器

C/C++

删除容器目录

10

导出一个容器(内容)

C/C++

拷贝容器目录

原型设计:

软件设计完成后就为一个普通软件一般,双击即可运行,可实现K8S容器操作指令到ECS的容器操作命令的转换,也可以满足上表所有功能

并且我们准备进行可视化展示,在对容器进行操作时可以直观地看到发生的变化,使用户不会重复操作

原文地址:https://www.cnblogs.com/jinseliunian/p/12805011.html