第1章 Linux是什么
1. Linux是什么
首先谈了Linux是什么。就是一套操作系统,即内核与系统调用接口那两层。早期的Linux是针对386来开发的。
然后谈了Linux之前Unix的历史。
1)1969年之前:Bell、MIT与GE的“Multics”系统。20世纪60年代初期,MIT开发了分时操作系统(CTSS),可以让大型主机通过提供多个终端机建以连接进入主机,但此时的终端机只具有输入/输出功能。
2)1969年:Ken Thompson的小型File Server System。该系统是以汇编语言编写的,就是UNIX的原型。这个文件系统有两个重要的概念:所有的程序或系统装置都是文件;不管构建编辑器还是附属文件,所写的程序只有一个目的就是有效地完成目标。
3)1973年:UNIX正式诞生,Ritchie等人用C语言写出了第一个正式的UNIX内核。这个改变也使得UNIX很容易被移植到不同的机器上。
4)1977年:重要的UNIX分支—BSD诞生。Bill Joy改进了UNIX内核,命名为Berkeley Software Distribution(BSD)。
5)1979年:重要的System V架构与版权声明。早期的UNIX只用在服务器和大型工作站上,但1979年AT&T提出的System V 第七版UNIX最重要的特点是可以支持x86架构的个人计算机系统。目前被称为纯种的UNIX指的就是System V和BSD这两套。
6)1984年之一:x86架构的Minix操作系统诞生。谭宁邦教授自己动手写了Minix这个Unix Like的内核程序。
7)1984年之二:GNU项目与FSF基金会成立。Stallman(史托曼)发起了GNU项目,目的是创建一个自由的、开放的UNIX操作系统(Free UNIX)。此外,他还开发了C语言的编译程序GNU C Complier(GCC),他还成立了自由软件基金会(Free Software Foundation),还开发了编辑器Emacs,还编写了更多可以被调用的C函数库(GUN C Library)以及可以被用来操作操作系统的基本接口bash
shell。
8)1988年:图形接口XFree86项目。其实是X Window System + Free + x86的整合名称。
9)1991年:芬兰的赫尔辛基大学的Linus Torvalds开发了Linux系统内核。
最后又谈了关于GNU项目。将源码连同软件程序释出的举动称为自由软件运动。GNU具有通用公共许可证(GPL),GNU就是GNU‘s Not UNIX的意思。自由软件的重点不是指“免费”的,而是指具有“自由度”的软件,即用户可以自由执行、复制、再发行、学习、修改与强化自由软件。自由软件是可以销售的,但应同时搭配售货服务与相关手册。自由软件工作者主要收益是来自服务费。另外,GPL也是可以从事商业行为的。
2. Torvalds的Linux开发
首先谈了Minix。托瓦兹通过这个的源码学到了很多内核程序设计的概念。
然后谈了对386硬件的多任务测试。托瓦兹探索了386的硬件。
接着又谈了初次释出Linux 0.02。托瓦兹通过GNU项目提供的bash工作环境软件以及gcc编译程序等自由软件顺利编写了内核程序。由于他放置内核的那个FTP网站的目录为Linux,所以这个内核便被称为Linux。为了让Linux能够兼容UNIX,他修改了Linux,并参考POSIX规范(可携式操作系统接口,重点在于规范内核与应用程序之间的接口)。
还谈到了Linux开发:虚拟团队的产生。经历了“单一个人维护阶段”到“广大志愿者加入阶段”再到“内核功能细部分工开发阶段”。由于托瓦兹和他的助手都没有见过面,所以他的团队也成为虚拟团队。
又谈到了Linux的内核版本。类似于2.6.18-92.e15分别对应着主版本.次版本.释出版本-修改版本。主、次版本为奇数代表是开发中的版本;主、次版本为偶数代表是稳定的版本;释出版本是主、次版本架构不变的情况下,新增的功能累积到一定的程度后所新释出的内核版本。Linux版本指的是内核版本,常说的Linux系统则是说的distribution。
最后就谈到了Linux distribution。“Kernel + Software + Tools”的可完全安装系统称为Linux distribution。每个Linux distribution都遵循了Linux Standard Base(LSB)标准和File
system Hierarchy Standard(FHS)规范,差异并不大。如果安装在个人计算机上推荐使用团队版,如果用在服务器上推荐使用商业版,更稳定。中文Linux的翻译靠的是CLE这个套件。
3. Linux的特色
UNIX Like是目前服务器类型的操作系统的统称。
首先谈了Linux的特色。
1)自由与开放的使用与学习环境。
2)配备需求低廉。
3)内核功能强大而稳定。
4)独立作业。
随后谈到了Linux的优缺点。优点是:
1)稳定的系统。
2)免费或少许费用。
3)安全性、漏洞的快速修补。
4)多任务、多用户。
5)用户与用户组的规划。
6)相对比较不耗资源的系统。
7)适合需要小内核程序的嵌入式系统。
8)整合度佳且多样的图形用户界面(GUI)。
缺点是:
1)需要使用命令行模式操作。
2)没有特定的支持厂商。
3)游戏的支持度不足。
4)专业软件的支持度不足。
最后谈了关于授权。有几个授权模式:
1)Open Source(开放源码)。除了可执行的软件本身外,一定伴随着源码的释出。如GNU,BSD,Apache License等。
2)Close Source。仅推出可执行的二进制程序。其中Freeware是“免费软件”,不一定要公开源码;Shareware是共享软件,初期免费,试用期到了要付费。
版权声明:本文为博主原创文章,未经博主允许不得转载。