码迷,mamicode.com
首页 > 其他好文 > 详细

系统崩溃,TCP协议栈

时间:2019-02-17 11:12:03      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:win   操作系统   linu   没有   blog   而且   str   简单   log   

上学那会儿,学的是谭浩强的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/jiangjunshow

系统崩溃,TCP协议栈

标签:win   操作系统   linu   没有   blog   而且   str   简单   log   

原文地址:https://www.cnblogs.com/ksiwnhiwhs/p/10390289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!