导学问题:
1、TCP/IP 网络协议栈诞生于哪个操作系统? 2、Linux 为什么又被称为 GNU/Linux?
前言
在当代互联网时代里,最重要的事物有两个:
TCP/IP协议
Linux操作系统
TCP协议的由来
最早的网络通信为阿帕网(ARPANET),它的通信协议为网络控制协议(Network Control Protocol,缩写 NCP),卡恩和瑟夫后来在对它不断完善的过程中,加入了分组、序列化、流量控制、超时和容错等核心机制,奠定了后来TCP/IP协议发展的基石。
OSI & TCP/IP
ISO 的组织指定了一套网络互通模型,这就是OSI参考模型,这套模型对后世影响巨大。可惜的是,它诞生较晚,在它发布之前,TCP/IP协议已经逐渐发展起来并且大规模投入使用了。再加上OSI的七层模型过于复杂,软件上较难实现,因此直到现在,我们使用的依然是TCP/IP。
TCP/IP的几个优点
TCP/IP 是免费或者是少量收费的,这样就扩大了使用人群
TCP/IP 搭上了 UNIX 这辆时代快车,很快推出了基于套接字(socket)的实际编程接 口;
TCP/IP 解决了实际问题,并且在实际中不断完善
Unix 系统发展历史
最早期的unix系统运行在 PDP-11 系统上,经典的unix系统有两个版本,分别是1976年发布的第 6 版本和1976年发布的第 7 版本。习惯上,我们把它称为V6和V7。这两个版本是在贝尔实验室以外首先得到广泛应用的 UNIX 系统。
直到现在,Unix有三个广为人知的分支:
AT&T 贝尔实验室维护Unix系统的主枝,该主枝的发展最终停留在1990年发行的第10个版本
加州大学伯克利分校(BSD)研究出的分支,socket 套接字出自此派
AT&T 分支的商业版本, System III 和 System V皆为此版本的典型代表
市场上的主流unix玩家
SVR 4: 商业化 UNIX系统( 如System III/V)的前身,90年代风靡一时,典型代表有IBM 的 AIX、HP 的 HP-UX、SGI 的 IRIX、Sun(后被 Oracle 收购)的 Solaris 等等
BSD:可以说没有BSD系统,就没有今天的TCP,重要性不言而喻
Mac OS:熟悉苹果笔记本的小伙伴,应该会觉得它的风格和Linux系统非常接近。实际上Mas OS和BSD系统有千丝万缕的关系,把它归纳到类unix系统并不过分
Linux:这个就不用说了,不了解它你也不会看这篇文章
POSIX 接口
unix系统版本众多,每家都独领风骚,却苦了要开发兼容多平台程序的程序员。为了统一操作系统的调用服务接口,诞生了POSIX接口,只要各个操作系统兼容这一套标准,就能方便地进行程序的移植
Minix 操作系统
UNIX 操作系统在后期已经不再开源,为了操作系统的教学,安迪·塔能鲍姆(Andy Tanenbaum)教授开发了Minix系统,该系统采用微内核设计,小巧精致。Linus正是从Minix上学习了大量操作系统相关知识,才有了后来Linux系统的诞生
GNU
Linux 操作系统得以发展还有一个非常重要的因素,那就是 GNU(GNU’s NOT UNIX),它的创始人就是鼎鼎大名的理查·斯托曼(Richard Stallman)。斯托曼的想法是 设计一个完全*的软件系统,用户可以*使用,*修改这些软件系统。
今天我们熟悉的gcc编译器、emacs编辑器、Bash shell等等都是它的杰作,它是linux得以诞生的基石,因此也有很多人把Linux称为GNU/Linux
操作系统对 TCP/IP 的支持
下面这张图,展示了 TCP/IP 在各大操作系统的演变历史,哪怕是现在的操作系统巨头--linux和windows都只是TCP的后来者。