知识储备:
国产大型实时操作系统SylixOS
- 兼容IEEE 1003(ISO/IEC 9945)操作系统接口规范
- 兼容POSIX 1003.1b(ISO/IEC 9945-1)实时编程的标准
- 优秀的实时性能(任务调度与切换、中断响应算法都是O(1)时间复杂度算法)
- 支持无限多任务
- 支持进程、线程、协程三种多任务模型
- 支持优先级继承,防止优先级翻转
- 极其稳定的内核,内核CPU占用率低
- 支持紧耦合同构多处理器(SMP)
- 支持标准I/O、多路I/O复用与异步I/O接口
- 支持多种新型异步事件同步化接口,例如:signalfd、timerfd、hstimerfd、eventfd等
- 支持众多标准文件系统:FAT、YAFFS、ROOTFS、PROCFS、NFS、ROMFS等
- 支持文件记录锁,可为各种类型实时数据库提供支持(SQL、NoSQL、In-Mem DB)
- 支持动态应用程序装载、动态链接库以及内核模块
- 支持标准TCP/IPv4/v6双网络协议栈
- 支持AF_UNIX、AF_PACKET、AF_INET、AF_INET6协议域
- 集成众多网络工具,例如:FTP、TFTP、NAT、PING、TELNET、NFS等
- 支持众多标准设备抽象,如:TTY、BLOCK、DMA、ATA、GRAPH、RTC、PIPE等
- 支持多种工业设备或总线模型,如:CAN、I2C、SPI、USB、PCI、SDIO等
- 提供内核行为跟踪器方便调试
- 可支持众多图形界面系统,例如:Qt、ftk、ucGUI等
简单需求分析:
在如下环境中
开发环境:Windows操作系统、翼辉的RealEvo-IDE
实验平台:SylixOS ECS容器、VMware Linux虚拟机和linux虚拟机中的K8S
开发语言:c/c++
设计并实现一个运行在SylixOS上的服务端代理程序,满足K8S容器操作指令到ECS的容器操作命令的转换。
解决非功能性需求CPU和内存等资源的占用;软件容错处理设计;软件架构可扩展性。
就是设计一个可以在SylixOS上运行的软件可以实现命令的转换完成一个容器的功能
并实现如下功能:
序号 |
功能 |
接口语言 |
说明 |
1 |
创建一个容器 |
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
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/345186
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!