第一章--

读书笔记(鸟哥的Linux私房菜—第一章)

虽然第一章就是介绍了Linux包括其他操作系统的历史故事,没什么干货。但是依然解决了我对一些名词的疑惑,比如GNU等。看完第一章,了解了一些操作系统的历史,我对这些倒是挺感兴趣的。

先提下其他的:
1.操作系统内核是直接和硬件所对接的,所以说不同的操作系统所对应的硬件平台(我先简单理解为CPU的架构把)也不同,在一种硬件平台上能运行,需要对操作系统代码进行修改才能在别的操作系统中运行。
2.

历史沿袭

早期的系统

早期有个 相容分时系统(也就是当代操作系统的雏形),允许多台终端共同使用一台主机的运算资源,而终端是只有输入输出的功能。但开始最多只能支持30个终端共同使用。

Multics计划

为了能够更大程度地利用主机的运算资源,在 1965年 ,著名的Bell实验室,MIT和GE通用电器一起发起了Multics计划,然而中道崩殂,Bell实验室退出计划。‘

Unics

之后,1969年,Bell实验室的ken Thompson一个月时间用汇编开发了精简版Multics,写出了核心程序,工具和小型的文件系统。这个精简的Multics就是Unix的原型了,被同行亲切的称为Unics,并在实验室内部广为流传(我记得之前听说过,这个大佬是为了打游戏开发的这套系统)。

Unix

1973年,Dennis Ritchie对这个精简版的Multics用C语言进行了改写,于是乎伟大的Unix系统就诞生了。C语言是比汇编更加高阶的语言,所以和硬件契合更浅一些,所以说Unix比Unics更加具移植性。
由于当时还没有版权纠纷的问题,几家公司将Unix改写为适应自家硬件设备的系统从而使用,形成了许多Unix的不同的发行版。但出于当时x86芯片的性能问题,没有厂商做针对x86硬件的Unix系统。

Unix的重要分支
1977年,BSD,是由Berkeley大学的Bill Joy改写Unix并增添了一些工具和编译软件,同时他也是Sun公司的创始人,这家公司就是以BSD为发展核心进行Unix商业版发展的。

然而,1979年,Bell实验室的上层公司AT&T这家商业公司为了赚钱把Unix的版权收回了,在其发布的第七版Unix时,加了一个条例:“不可以对学生提供源代码”。导致了Minix系统项目的产生。

现在的Unix就 BSD和Unix System V(也就是AT&T公司的发行版Unix)

Minix

由于AT&T公司的操作,直接影响了学校里对Unix操作系统的教学工作。所以呢在***1984年***,Andrew Tanenbaum开始着手编写Minix,可以在x86架构上运行,用于教学工作。

GNU计划和FSF基金会

1984年,真正的Hacker,Richard Mathew Stallman开始用Lisp系统,后来用Unix系统,但这俩都是专利软件,无法共享,和他本人的信仰相悖,为了他自身的信念,他就发起了GNU计划,目的是为了:“创建一个开放自由的操作系统”。

GNU计划的全称为 GNU’s Not Unix,那GNU是什么意思呢,GNU意思是GNU’s Not Unix, 那GNU全称是啥?GNU全称是 GNU’s Not Unix

但是! 计划是好的,操作系统一个人开发却是非常艰难的,所以他就决定从Unix上运行的软件入手,做开源软件。Unix上的专利软件很多,他就自己开发一些免费的具有相同功能的软件以提升GNU计划的知名度。
后来更聪明的是,所有软件的开发不都需要编译为二进制可执行程序吗,他就直接开始开发编译软件也就是大名鼎鼎的GNU C Compiler(GCC)。然而编译软件也不好做啊,就开发编辑器Emacs,由于他开发的Emacs编辑器具有程序语法错误提示功能,所以有很多人开始使用了这款GNU计划的编辑器。为了积攒一些资金,他就把Emacs编辑器录入磁带出售。并成立了FSF(Free Software Foundation)基金会。
通过积攒的基金,他请了更多的programmers成功将GCC开发完成。

当然GNU计划还开发了许多重要的自由软件 比如:
GNU C Library (C语言的函数库)
Bash Shell (用于操作 操作系统基本接口的)

GPL license

全称(General Public License), 为了避免GNU计划下的Free Software 被他人利用做成专利软件,1985年 ,Stallman请律师草拟了该License。所有的GNU计划和FSF基金会所开发的软件都必须有该版权声明。

Open Source(也就是开源)这个词是1998 年成立的“开放源代码促进会 (Open Source Initiative)”提出的。

而并不是先有开源这个词才有的开源代码的License的(比如GPL…)。之前一直不懂Github中发布开源项目时的选取License的含义,现在才有了一些概念,就是你所开源的项目遵守的一些版权条例。

Linux

Linus Torvalds首先是通过Minix学习了相关操作系统的框架,但是由于开发Minix系统的tanenbaum教授只是为了教学共作,所以就没有把Minix继续开发更多功能,所以呢,Linus为了自身需要的一些需求,就自己开发了Linux的基本内核,且能够成功运行,于是他就在BBs上发布了他开发的LInux,引起了当时世界各地的Programmers的兴趣,于是来自世界各地的Programmers就开始对Linux的功能进行开发完善,Linux同时也使用了许多GNU计划的软件比如Shell和Gcc等,
别忘了GNU计划的初心就是:建立一个自由开放的操作系统。当然GNU计划是有开发自己的操作系统,名字是hurd,但是可能是由于构想太复杂,导致没有开发完成,
而Linux的出现,我觉得应该可能也是导致GNU计划没有继续开发hurd的原因吧,毕竟Linux也是用了很多GNU计划的软件工具,所以Stallman就建议称Linux为GNU/Linux,提Linux就指的操作系统内核,但是Linux套件中不仅有内核啊还有一系列GNU计划下的各种工具和软件,他们组合到一起才是真正的Linux啊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值