【发布时间】:2016-01-31 20:29:20
【问题描述】:
我是一名学生,现在正在学习操作系统课程。我在学习考试时偶然发现了一个奇怪的问题答案,但我找不到它的解释。
问题:假设我们有一个在低物理内存上运行的操作系统。因此,设计者决定使缓冲区(处理连接到网络的所有工作)尽可能小。缓冲区的最小大小可以是多少?
答案:不能只用一个字节来实现,但可以用2个字节大小来实现。
我的想法:它有 4 个答案,其中一个是“3 个字节或更多”,所以我认为这是正确的答案,因为为了建立连接,您需要在列表中能够发送包含所有连接信息的 tcp/udp 或类似包的标头,所以我不知道为什么它是正确的答案(根据参考)。也许是一些退化的情况?
感谢您的帮助。
【问题讨论】:
-
似乎是一个奇怪的答案,也是一个奇怪的问题。还有更多上下文吗?一个 IP 头是 20 个字节。
-
不幸的是,这就是整个问题..我以为我遗漏了什么..但我想我得问问写这个问题的人。
-
我猜有一个论点是一个字节的缓冲区不会给你带来任何好处,但是一个两个字节的缓冲区可以,因为它将对下一阶段的写入减少了一半。但是必须管理缓冲区:必须有人知道它们的地址和长度,这远远超过两个字节,因此在实践中,您可能希望将这些开销分摊到更大的缓冲区上。
标签: tcp network-programming operating-system udp buffer