Linux取经之旅

发表于:2011-10-18 09:58

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:白龙马(cnblogs)    来源:51Testing软件测试网采编

(一)理论介绍

  Linux包括内核和外围软件。内核与硬件紧密相关,外围软件提供系统调用的接口,方便编写应用程序。

  同一个操作系统是不能运行在不同的处理器架构上的,因为不同的处理器的指令不同。但是Linux是开放源码的,任何人都可以修改源码,所以可以很方便地修改以适应不同的处理器架构,这就是Linux的可移植性。

  Linux来源于UNIX。 1969年,Bell,MIT,GE合作研发Multics系统,后来因为Multics太复杂,很难成功,Bell退出。然而参与过Multics项目的Bell研究员Ken Thompson获得灵感,自己开发了一个File Server System,同实验室的同事都觉得好用。后来Thompson与人合作将原来用汇编语言写的Unics改为用C语言编写。此时AT&T公司对UNIX还是处于开放状态,很多厂商都可以获得UNIX的源码并改变成适合自己的硬件的UNIX版本。此时UNIX还是大多用于服务器架构和大型机,个人x86计算机上无法使用UNIX,后来有人修改UNIX源码使之可以运行在x86架构上。后来UNIX的影响越来越大,AT&T公司决定收回版权,源代码不能再向学生公开。有个教UNIX内核源码的教授AndrewTanenbaum因此自己写了一个系统Minix用于教育,但是教授很忙,并没有去完善它。与此同时Richard Mathew Stallman在1984年发起GNU(GNU=GNU's Not UNIX)项目,掀起自由软件的风潮。该项目的目的就是创建一个自由、开放的UNIX操作系统,但是AT&T已经收回版权,不允许再公布UNIX源码。开发操作系统太困难了,于是Stallman决定先开发可以在UNIX上运行的自由软件,比较著名的软件有:Emacs、GCC、GNU C Library、Bash shell等。有了上面的工具,程序员可以很方便地开发应用程序了。GNU引起巨大反响。

  GNU GPL:可以取得源码,复制软件,修改源码,再发行,回馈;不能修改授权,即不可以在修改自由软件后将GPL授权取消;不允许单纯销售自由软件,可以附带销售售后服务和相关手册。通过服务来获取商业利益。

  芬兰赫尔辛基大写Torvalds利用GNU提供的自由软件和Minix开发出来早期的Linux内核Kernel,并将它公布到互联网上,在互联网上由一群志愿者组建的虚拟团队一起完善Linux。Torvalds决定以企鹅为Linux的吉祥物。

(二)Linux的应用和如何学习Linux

  很多商业公司和非营利机构将Linux Kernel与可运行的软件集成起来,加上自己具有创意的工具程序,这个工具可以让用户以光盘、DVD或者通过网络直接安装/管理Linux系统。这个“Linux+Softwares+Tools”的可完全安装的系统,称为Linux distribution(Linux发行版,Linux可完全安装套件)。不同的发行版的内核是一样的,只是外围工具不同。

  常见发行版有:Red Hat、Fedora、Ubuntu、CentOS、Novell SuSE、Gentoo、Mandriva、Debian、Slachware等。

  Linux的特色:

  自由和开放的使用、学习环境

  设备需求低

  内核强大而稳定

  独立作业

  适合于需要小内核程序的嵌入式系统

  Linux应用:网络服务器、关键任务(金融业等)、大型工作站、学术机构高性能运算、桌面应用、手持设备系统、嵌入式系统等。

  如何使用Linux?不能让Linux死板地定位在那儿,更多可用的功能有待我们自己去发掘!

  学习Linux还是学习distribution?

  Linux的发行版很多,选择一个发行版好好研究学习就好,重点是掌握Linux,而不是学习如何操作各种不同的Linux发行版。

  学习Linux的精髓,应该放弃使用图形界面,不能用使用Windows的思维来使用Linux。但如果只是想玩一玩而已,那么掌握一个比较流行的桌面式Linux发行版的操作就可以了,比如Ubuntu和Fedora。但是Linux一般作为服务器和嵌入式系统为主,计算机专业的学生应该熟悉使用命令行模式操作Linux。

  一般来说,Linux图形界面只是一个程序,不是Linux的内核,X Window是很耗系统资源的。作为服务器操作系统的Linux一般都不推荐运行X Window。

  学习Linux的参考步骤(学习Linux得花比较长的时间,要有耐心,一旦学好了,无比强大!):

  1、学习计算机概论和相关硬件知识(要有个基本的概念)

  2、学习Linux的安装和常用基本命令(了解磁盘管理和分区,要多装几次系统来熟悉)

  3、学习Linux操作系统的基本技能(用户/用户组,权限等概念)

  4、学习使用vim(这是一个很好的工具,为以后编写shell脚本也做好准备)

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号