鲁棒性原则的有害后果(2018)
本文批判了互联网工程中著名的"鲁棒性原则"(Postel定律),即"对自己严格,对他人宽容"。文章论证该原则导致协议容忍错误和不规范实现,反而削弱了系统健壮性,鼓励了不良编程实践,并阻碍了协议的演进与安全改进。作者主张用更严格的规范替代这条原则,以提升互联网协议的长期可靠性与安全性。
本文批判了互联网工程中著名的"鲁棒性原则"(Postel定律),即"对自己严格,对他人宽容"。文章论证该原则导致协议容忍错误和不规范实现,反而削弱了系统健壮性,鼓励了不良编程实践,并阻碍了协议的演进与安全改进。作者主张用更严格的规范替代这条原则,以提升互联网协议的长期可靠性与安全性。
Raymond Chen continues his series on cross-process reader/writer locks by addressing fairness, ensuring exclusive (write) acquisitions get a fair chance against repeated shared (read) acquisitions to prevent writer starvation.
The article discusses fractal page mapping, a technique for mapping page tables into memory using the page tables themselves. This approach allows the operating system to access its own page table structures through the virtual memory system it manages.
The article explains that when a C++ compiler reports an error about code you didn't write, you should investigate who actually wrote that code. This helps in understanding misleading error messages like "illegal use of ->" when no arrow operator appears in your source.
The article examines what happens when a C function receives fewer register parameters than expected across different CPU architectures, concluding the outcome is always problematic but especially severe on Itanium.
This post continues a series on building a cross-process reader/writer lock, focusing on handling the scenario where a process holding the lock is terminated, requiring recovery mechanisms for the abandoned lock state.