• 相逢是缘
    置顶
    2021-08-02
    我们的 Cosmos 操作系统已经实现了xTaskCreateStatic、osSemaphoreCreate 等这些函数了吗? 一路跟着课程过来,没有发现呢,37课代码里面也没有呢

    编辑回复: 相逢是缘你好,感谢你的留言。需要自己在Cosmos实现 ,这里代码只是为了演示移植的思路。先理解移植的核心思想即可,暂时不必深究。受限于工程规模,Cosmos系统的网络栈移植将会安排在项目正式开源之后排期开发,同学们敬请期待哈~

    
    3
  • pedro
    2021-08-02
    由于历史的原因,主流的操作系统都是在内核实现网络协议栈,但是由于网络环境的日益复杂,用户对服务稳定性的要求越来越高。 内核网络协议栈的封闭性是一个很大的桎梏点,因此非内核网络协议栈早就被很多人实现了,例如 DPDK,号称能解决 c10m 问题。虽然现在内核协议栈仍然是主流,但可以预见的是非内核协议栈会越来被人接受,解决更多的实际需求。

    作者回复: 期待老铁能够实现Cosmos用户待协议栈

    共 2 条评论
    11
  • 青玉白露
    2021-08-02
    网络协议栈也可以放在用户态来执行。 需要注意的是,如今网速加快、网络环境复杂,多核的CPU在处理高速的网络请求时也会有很大的性能局限性。 而将网络协议栈放在用户态,就可以实现高度自定义,有关这方面的知识可以参考这个博客:https://www.cnblogs.com/jmilkfan-fanguiju/p/12789805.html

    作者回复: 6666

    共 2 条评论
    6
  • Fan
    2021-08-03
    找到个 lwIP的教程。 https://www.kancloud.cn/jiejietop/tcpip/988547

    编辑回复: 感谢分享~

    共 3 条评论
    2
  • LDxy
    2021-08-02
    协议栈应该也可以放在用户态实现,这时候就需要绕过内核的协议栈,直接和网卡驱动程序通信

    作者回复: 是的

    
    1
  • kocgockohgoh王裒
    2022-01-07
    请问cosmos到底用的是nosys模式+ 模拟层实现的函数 还是带操作系统模式啊 有点晕

    作者回复: 操作系统

    
    
  • 苏流郁宓
    2021-11-05
    放在用户态是不是也有一个好处?由于网络数据包过来,假如原来给它分配的内存空间不够用(关键是还不能一直排队等)操作系统还要重新忙下手中的活,重新为它分配新的内存空间。再干别的,放在用户态的话。需求跟着用户态程序走(分配内存资源)翻译等任务跟着用户态程序走。操作系统不用在此之外重新去操心网络数据包的文件情况(例如,视频,照片等。),只需配合用户态程序工作就行(用户态需要调节用到的内核态指令)。这样大大利于网络的流畅稳定。 就像原来是参谋本部,管这管哪,中间存在很多需要通信功能问题(需要与用户态程序反复沟通,浪费时间和资源)现在是管大放小,实时任务由下面的将军(用户态程序)操心,操作系统管好后勤配合工作就行。

    作者回复: 是的

    
    
  • 云师兄
    2021-08-02
    理解软件的设计思想,最重要的是先要理解需求。而内核中的数据流转也只是为了满足网络收发的需求而进行的设计。

    作者回复: 是的

    
    