系统崩溃,TCP协议栈_系统tcp协议栈request

上学那会儿,学的是谭浩强的C语言教材,书里说“访问空指针会造成系统崩溃”。我记得大学老师讲到这里的时候,我就会较真儿什么是系统崩溃,老师便告诉我,访问任意指针,系统的行为将会是未知的,访问空指针系统会直接崩溃,我再问什么是系统,如何崩溃的时候,老师说,系统就是操作系统,崩溃就是蓝屏,司机之类的,反正就是系统不能继续用了…

那是2003年左右,Windows XP系统刚刚发布不到两年,大红大紫之时啊,我记得只要回到寝室,一有上机时间就会摆弄Windows XP的各种特性,炫酷的UI真的不错…

那时我们的C语言平台是Turbo C,我用它写了一个访问空指针的程序,看看能不能让Windows XP崩溃,然而,并不能。无论我写一个访问什么指针的程序,系统都不会崩溃,只是简单的程序错误。

那个时候我还在机械工程系学习机械原理,也就不纠结计算机的事了。时间过了好多年后,我才第一次经历了自己访问空指针造成了Linux操作系统崩溃,那一次,我第一次写Linux内核模块,写的不好,所以操作系统就崩溃了…

所以,在教授或者学习C语言之前,最好先教授或者学习一些操作系统的基础原理,否则,对于指针错误这种,就很难能描述清楚。即便是普通应用程序里的指针,你想真正了解它,不也得先了解虚拟内核和MMU吗?不然,当程序由于指针出现错误时,很难获得一个根源上的解释。

我不知道现在大学的老师在讲C语言系统崩溃的时候,还会不会说操作系统崩溃了,反正,跟我差不多时间上大学的人,遇到这个问题时,很多的老师都是在照本宣科操作系统崩溃


当我们提到“栈”这个词时,我们说的是带有后入先出这种行为的一种容器。也就是说,它的内容并不是一个东西,而是多个层次化的东西层叠在一起,就像一摞盘子一样。

协议栈,指的是符合某种分层模型约束的多个协议的层叠结构,比如TCP/IP,这是一个典型的协议栈。但是注意,TCP/IP协议栈包含的是一族协议,其中有HTTP,DNS,TCP,UDP,ICMP,IP,ARP,RIP,OSPF等等,而不是某一个协议。

由于TCP名不副实的地位,人们经常会用“TCP协议栈”这个词来代替TCP这一个协议,有点喧宾夺主,这是不对的。TCP只是一个协议,并不是一个栈。如果非要硬将TCP协议栈指代TCP/IP协议栈,那就必须连带着包含IP协议。

这就好比,没有任何人可以被称作人类一样。如果要描述TCP,就说TCP好了,把“栈”字去掉。


昨天看了《恐怖游轮》,本来今天准备用代码写一下逻辑的,然而睡了一觉后就没想法了,而且还有几个BUG需要解释,等全部通了一并搞。今天继续看完《土拨鼠之日》和《Happy Death Day!》,同样精彩的无限循环电影。

原文链接: https://blog.csdn.net/dog250/article/details/80961244

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    系统崩溃,TCP协议栈_系统tcp协议栈request

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/406856

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月26日 上午10:21
下一篇 2023年4月26日 上午10:22

相关推荐