FreeBSD读书笔记—11进程间通信—11.3内存管理

2009-05-13 02:09:37来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折



《The Design and Implementation of the FreeBSD Operating System》Part IV: Interprocess CommunicationChapter 11. Interprocess Communication 11.1. Interprocess-Communication Model进程间通信和网络协议对内存管理的特殊要求有:
  • 所需内存的大小变化无常。
  • 数据长度可能会有经常性的动态改变。
  • 数据常需化零为整或化整为零。
  • 数据在收发时可能需要进行排队。mbuf的定义是在mbuf.h中给出的:
    _________________________________________________________________________________________
        79    /*
        80     * Header present at the beginning of every mbuf.
        81     */
        82    struct m_hdr {
        83        struct    mbuf *mh_next;        /* next buffer in chain */
        84        struct    mbuf *mh_nextpkt;    /* next chain in queue/record */
        85        caddr_t    mh_data;        /* location of data */
        86        int    mh_len;            /* amount of data in this mbuf */
        87        int    mh_flags;        /* flags; see below */
        88        short    mh_type;        /* type of data in this mbuf */
        89    };
        90   
        91    /*
        92     * Packet tag structure (see below for details).
        93     */
        94    struct m_tag {
        95        SLIST_ENTRY(m_tag)    m_tag_link;    /* List of packet tags */
        96        u_int16_t        m_tag_id;    /* Tag ID */
        97        u_int16_t        m_tag_len;    /* Length of data */

    标签:

    版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

  • 上一篇:雲端技术分群[系统级]

    下一篇:如何实现当在vim中输入到80个字符时自动断行