Show HN: I wrote a from-scratch OS to serve my blog
8 months ago
- #operating-system
- #web-server
- #networking
- Tatix是一个专为托管静态网页设计的自定义内核,具备定制TCP/IP协议栈、HTTP服务器、RAM文件系统及协作式任务调度功能。
- 开发与测试在Linux的QEMU虚拟环境中进行,需依赖GNU Make、NASM、GCC和Python 3等标准工具链。
- Tatix可通过HTTP协议全球范围提供网页服务,仅需支持虚拟化的Linux宿主机及公网IP地址即可部署。
- 系统采用两阶段引导加载程序,从BIOS启动后切换至支持分页机制的64位长模式进行内核初始化。
- 协作式调度器管理网络包处理、TCP重传及Web服务等任务,单核执行特性天然规避了锁机制需求。
- TCP子系统严格遵循RFC标准,实现状态管理、数据传输及基于动态超时计算的重传机制,复杂度较高。
- 内存管理采用池分配器优化连接结构和数据缓冲区的处理效率,显著减少内存碎片。
- RAM文件系统(ramfs)采用树形结构组织网页资源,通过分配器动态管理目录节点和文件内存空间。