《UNIX环境高级编程》读书笔记之一

为什么读这本书?

为什么选择读这本书?我所作的项目的内容是嵌入式软件开发,嵌入式系统为LINUX系统。不管是要做Linux系统底层驱动还是Linux的应用软件开发,都离不开linux系统,想知道linux系统的为我们开放了什么接口(系统调用接口和库函数可以参看《UNIX程序员手册》),以及想了解接口的基本原理和如何使用这些接口,另外这本书是非常权威和饱受好评的一本书,由W.Richard Steven ,Steven A . Rago著作;UNIX遵循同样的标准,Linux是仿UNIX的系统,知识具有通用性。这就是我读该书的原因。

书的页数有684页,这么多的内容怎么读?能消化吗?

 记得有一个微软的开发底层系统的人说过,“我会使用的功能也只有不到整个系统的30%”。作为我们来说,挑自己用的上,感兴趣的内容来读,本书更像是一个工具书+参考书。说是工具书,该书中有很多常用的接口的使用方法和实例供我们参考,说是参考书因为该书中不仅仅有接口的使用和实例,还有很多基础知识,工作原理,能让我们使用接口更明白自己在做什么,以及为什么这样做。

linux的系统由来和变种 

1.UNIX操作系统
        Linux 操作系统是UNIX 操作系统的一个克隆版本。UNIX 操作系统是美国贝尔实验室的Ken.Thompson和Dennis Ritchie 于1969 年夏在DEC PDP-7 小型计算机上开发的一个分时操作系统。Ken Thompson 为了能在闲置不用的PDP-7 计算机上运行他非常喜欢的星际旅行(Space travel)游戏,于是在1969 年夏天乘他夫人回家乡加利福尼亚渡假期间,在一个月内开发出了UNIX 操作系统的原型。当时使用的是BCPL 语言(基本组合编程语言),后经Dennis Ritchie 于1972 年用移植性很强的C语言进行了改写,使得UNIX 系统在大专院校得到了推广。

Open Solaris

在UNIX的各发行版中,Open Solaris是唯一一个由商业版转为开放源代码的个例。 [4] 

Oracle Solaris

在UNIX商业版中,Solaris是一个非常优秀的操作系统。 [4] 

IBM AIX

AIX(Advanced Interactivee Xecutive)是IBM公司所有的UNIX操作系统。AIX源自于System V Release 3,运行在IBM公司的Power PC硬件架构之上。 [4] 

HP-UX

HP-UX(Hewlett Packard UNIX,HPUX)是美国惠普公司在System v的基础上开发的UNIX操作系统。 [4] 

UNIX V6

1975年发表的UNIX V6版是比较成熟的版本,贝尔实验室免费向美国各大学提供该版本,并开始广泛地配备于各大学的PDP-11系列计算机上。1977年,UNIX首次移植到非PDP类型的计算机上。 [5] 

BSD UNIX

除了贝尔实验室外,另一个使用比较广泛的UNIX版本是美国加州大学贝克利分校开发的BSD UNIX,该版本大量安装在SUN工作站上。1993年推出了4.4BSD版本。BSD是网络的主要平台,对DARPA的TCP/IP提供了支持,其中的网络文件系统(NFS)提供了与很多计算机机种的连接,NFS及AT&T开发的远程文件共享(RFS)使UNIX系统在网络支持方面保持领先地位。 [5] 

Solaris

Solaris曾是使用最广泛、最成功的商业UNIX实现版本。Sun公司的操作系统最初叫做Sun OS,主要基于BSD UNIX版本。 [5] 


2.MINIX操作系统
        MINIX 系统是由Andrew S. Tanenbaum(AST)开发的。AST 是在荷兰Amsterdam 的Vrije 大学数学与计算机科学系统工作,是ACM 和IEEE 的资深会员(全世界也只有很少人是两会的资深会员)。MINIX 是他1987 年编制的,主要用于学生学习操作系统原理。到1991 年时版本是1.5。目前主要有两个版本在使用:1.5 版和2.0 版。当然目前MINIX 系统已经是免费的,可以从许多FTP 上下载。
        对于Linux 系统,他后来曾表示对其开发者Linus的称赞。但他认为Linux的发展很大原因是由于他为了保持MINIX 的小型化,能让学生在一个学期内就能学完,因而没有接纳全世界许多人对MINIX的扩展要求。因此在这样的前提下激发了Linus 编写Linux 系统。当然Linus 也正好抓住了这个好时机。
        作为一个操作系统,MINIX 并不是优秀者,但它同时提供了用C 语言和汇编语言编写的系统源代码。这是第一次使得有抱负的程序员或hacker 能够阅读操作系统的源代码。在当时,这种源代码是软件商们一直小心守护着的秘密。

3.GNU计划
        软件产业在70年代成就了两位针锋相对的领袖人物,来自哈佛大学的比尔·盖茨和Richard M.Stallman。前者宣布了Copyright(版权)时代的到来,并构建了微软帝国的辉煌;后者于1984年创立自由软件体系GNU,拟定普遍公用版权协议(GeneralPublicLicense,简称GPL),今天Linux的成功就得益于GPL协议。
        所有GPL协议下的自由软件都遵循着Richard M. Stallman的"Copyleft"(非版权)原则:即自由软件允许用户自由拷贝、修改和销售,但是对其源代码的任何修改都必须向所有用户公开。
        GNU 计划和自由软件基金会FSF(the Free Software Foundation)是由Richard M. Stallman 于1984 年一手创办的。旨在开发一个类似UNIX 并且是自由软件的完整操作系统:GNU 系统(GNU 是"GNU's Not Unix"的递归缩写,它的发音为"guh-NEW")。
        各种使用Linux 作为核心的GNU 操作系统正在被广泛的使用。虽然这些系统通常被称作"Linux",但是Stallman 认为,严格地说,它们应该被称为GNU/Linux系统。
        到上世纪90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。这些软件为Linux 操作系统的开发创造了一个合适的环境。这是Linux 能够诞生的基础之一,以至于目前许多人都将Linux 操作系统称为“GNU/Linux”操作系统。

先有UNIX操作系统的原型,但初始时候源码是被保护的,早期版权归AT&T所有,后来为了UNIX系统的发展,AT&T将源码送到了学校和教育机构,学校等机构对系统的进行了扩充,产生了衍生版本,这些衍生版本也促进了UNIX的发展,后来AT&T意识到其巨大的商业价值,对其衍生版本进行了版权声明,其广泛使用的版本都是依靠商业公司进行维护,因为Linux遵循的是GNU GPL协议,没有使用UNIX系统一行的代码,MINIX对其启发是思想上的,因此Linux和UNIX是完全不同两个系统,不是UNIX的衍生版;然后是MINIX系统提供了操作系统的原理使得Linux系统最初的开发者能够有足够的思想去写属于自己的系统,GNU计划提供了工具,有了工具才使得linux系统的有了发展的基础。

所以为什么说LINUX是类UNIX系统?
虽说Linux没有使用UNIX 的一行源码但是一个仿UNIX的操作系统,UNIX上的命令在Liux上面都可以找得到,其与UNIX使用了同样的宏内核的概念。Linux同样是一个遵循POSIX标准的操作系统。因此,许多UNIX上面的应用可以非常方便地移植到Linux上面。同样,Linux上面的应用也可以非常方便地转移到UNIX上面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值