返回首页
最新
嗨,HN,
为了真正理解操作系统和网络协议是如何工作的,我决定结合两个经典的学习工具:xv6 教学操作系统和从零开始的 TCP/IP 协议栈。
我很高兴地分享我的成果:我自己从零开始构建的 TCP/IP 网络栈,直接运行在 xv6-riscv 内核中([https://github.com/pandax381/xv6-riscv-net](https://github.com/pandax381/xv6-riscv-net))。
该项目使用现代的 virtio-net 驱动程序,使其能够在 QEMU 中无缝运行并与主机进行通信。
主要特点:
- 从零开始的栈:核心由 microps 提供支持([https://github.com/pandax381/microps](https://github.com/pandax381/microps)),这是我最初为在用户空间运行而编写的 TCP/IP 协议栈,作为个人项目来学习网络的底层细节。
- 内核集成:该项目将 microps 从用户空间移植到 xv6-riscv 内核中。
- 套接字 API:实现标准系统调用(socket、bind、accept 等),以支持网络应用程序的开发。
- 用户级工具:附带一个简单的 ifconfig 命令,以及 tcpecho 和 udpecho 服务器以展示其功能。
这次经历让我受益匪浅。我的目标是通过自己构建组件来揭开网络感知操作系统背后的神秘面纱。
我很期待听到你们的反馈,并回答任何问题!
我创建这个工具是因为我不想将个人文件上传到随机网站,仅仅为了拆分或签署一个PDF文件。<p>因此,我制作了PDF Barber(<a href="https://pdfbarber.com" rel="nofollow">https://pdfbarber.com</a>)。所有操作都在浏览器中完成,完全不涉及服务器。唯一的服务器请求是用于联系表单。<p>这个工具是免费的,我还提供了一个Chrome扩展程序以便于使用。我已经获得了一些付费用户和许多有用的反馈,这些都推动我进一步改进它。<p>期待听到你的想法或反馈。<p>谢谢!