Linux学习记录-01(Linux系统发展史)

对计算机一直感觉很神秘,想要学习,奈何不是计算机专业出身,最近决定开始学习,也算是充实一下自己,希望自己可以坚持下去。

一、Linux系统
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

二、Linux发展史
Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。
1981 年IBM公司推出微型计算机IBM PC。
1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的操作系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU操作系统,但是GNU奠定了Linux用户基础和开发环境。
1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。1991年4月,林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统。
1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell软件了。
1991年7月3日,第一个与Linux有关的消息是在comp.os.minix上发布的(当然此时还不存在Linux这个名称,当时林纳斯·托瓦兹的脑子里想的可能是FREAX,FREAX的英文含义是怪诞的、怪物、异想天开等)。
1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生(Freeminix-like kernel sources for 386-AT)。
1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码大约有十万行,用户大约有10万左右。
1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。
1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售。这在经营模式上是一种创举。
1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。
1998年2月,以Eric Raymond为首的一批年轻的"老牛羚骨干分子"终于认识到GNU/Linux体系的产业化道路的本质,并非是什么自由哲学,而是市场竞争的驱动,创办了"Open Source Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的Linux产业化运动。
2001年1月,Linux 2.4发布,它进一步地提升了SMP系统的扩展性,同时它也集成了很多用于支持桌面系统的特性:USB,PC卡(PCMCIA)的支持,内置的即插即用,等等功能。
2003年12月,Linux 2.6版内核发布,相对于2.4版内核2.6在对系统的支持都有很大的变化。
2004年的第1月,SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。

三、开源精神
简单来说,开源软件的特点就是把软件程序与源代码文件一起打包提供给用户,让用户 在不受限制地使用某个软件功能的基础上还可以按需进行修改,或编制成衍生产品再发布出 去。用户具有使用自由、修改自由、重新发布自由以及创建衍生品的自由。这也正好符合了黑 客和极客对自由的追求,因此国内外开源社区的根基都很庞大,人气也相当高。 坦白来讲,每位投身于 Linux 行业的技术人或者程序员只要听到开源项目就会由衷地感 到自豪,这是一种从骨子里带有的独特情怀。开源的企业不单纯是为了利益,而是互相扶持, 努力服务好更多的用户。开源软件最重要的特性有下面这些。
? 低风险: 使用闭源软件无疑把命运交付给他人,一旦封闭的源代码没有人来维护,你
将进退维谷; 而且相较于商业软件公司,开源社区很少存在倒闭的问题。
? 高品质: 相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编
写、维护、测试的用户量众多,一般的 bug 还没有等爆发就已经被修补。
? 低成本: 开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份
力量,因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。
? 更透明: 没有哪个笨蛋会把木马、后门等放到开放的源代码中,这样无疑是把自己的
罪行暴露在阳光之下。
但是,如果开源软件为了单纯追求“自由”而牺牲程序员的利益,这将会影响程序员的 创造激情,因此世界上现在有 60 多种被开源促进组织(Open Source Initiative)认可的开源许 可协议来保证开源工作者的权益。对于那些只知道一味抄袭、篡改、破解或者盗版他人作品 的不法之徒,终归会在某一天收到法院的传票。对于准备编写一款开源软件的开发人员,也 非常建议先了解一下当前最热门的开源许可协议,选择一个合适的开源许可协议来最大限度 保护自己的软件权益。
? GNU GPL GNU General Public License GNU 只要软件中包含了遵循 GPL 协议的产品或代码,该软件就必须也遵循 GPL 许可协议且开源、免费, 因此这个协议并不适合商用软件。遵循该协议的开源软件数量极其庞大,包括 Linux系统在内的大多数的开源软件都是基于这个协议的。GPL 开源许可协议最大的 4 个特 点如下所示。
? 复制自由: 允许把软件复制到任何人的电脑中,并且不限制复制的数量。
? 传播自由: 允许软件以各种形式进行传播。
? 收费传播: 允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的;因此,一般来讲,开源软件都是通过为用户提供有偿服务的形 式来盈利的。
? 修改自由: 允许开发人员增加或删除软件的功能,但软件修改后必须依然基于GPL 许可协议授权。

四、常见的Linux系统
在介绍常见的 Linux 系统版本之前,首先需要区分 Linux 系统内核与 Linux 发行套件系 统的不同。
? Linux 系统内核指的是一个由 Linus Torvalds 负责维护,提供硬件抽象层、硬盘及文件 系统控制及多任务功能的系统核心程序。
? Linux 发行套件系统是我们常说的 Linux 操作系统,也即是由 Linux 内核与各种常用 软件的集合产品。

红帽企业版:Linux RedHat Enterprise Linux RHEL :
红帽公司是全球最大的开源技术厂商,RHEL 是全世界内使 用最广泛的 Linux 系统。RHEL 系统具有极强的性能与稳定 性,并且在全球范围内拥有完善的技术支持。RHEL 系统也 是本书、红帽认证以及众多生产环境中使用的系统。

社区企业操作系统:Community Enterprise Operating SystemCentOS
通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统,具有广泛的使用人群。CentOS 当前已被红帽公司 “收编”

Fedora :由红帽公司发布的桌面版系统套件(目前已经不限于桌面版)。
用户可免费体验到最新的技术或工具,这些技术或工具 在成熟后会被加入到 RHEL 系统中,因此 Fedora 也称为 RHEL 系统“试验田”。运维人员如果想时刻保持自己的技术领先, 就应该多关注此类 Linux 系统的发展变化及新特性,不断改变自己的学习方向。

openSUSE : 源自德国的一款著名的 Linux 系统,在全球范围内有着不错的声誉及市场占有率。

Gentoo: 具有极高的自定制性,操作复杂,因此适合有经验的人员使用。

Debian: 稳定性、安全性强,提供了免费的基础支持,可以良好地支持各种硬件架构,以及提供近十万种不同的开源软件,在国 外拥有很高的认可度和使用率。

Ubuntu: 是一款派生自 Debian 的操作系统,对新款硬件具有极强的兼容能力。Ubuntu 与 Fedora 都是极其出色的 Linux 桌面系 统,而且 Ubuntu 也可用于服务器领域。

---------------------
作者:Lenovo_seed
来源:CSDN
原文:https://blog.csdn.net/weixin_43034500/article/details/89293554
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/lenovo2017/p/10704793.html

时间: 2024-10-12 21:30:16

Linux学习记录-01(Linux系统发展史)的相关文章

Linux学习记录--文件管理相关系统编程

文件管理相关系统编程 重要文件标识 打开文件标识 O_RDONLY:只读方式打开 O_WRONLY:只写方式打开 O_RDWR:可读写方式打开 打开文件操作副标识 O_CREAT:若路径中文件不存在则创建,使用Open函数时需同时指定文件权限 O_EXCL:若与O_CREAT连用,检查文件是否已经存在,若不存在则建立文件存在则返回错误,这使创建和测试成为一个原子操作 O_APPEND:读写文件从文件尾部开始移动,所有写入数据都加入文件尾部 O_TRUNC:若文件存在并且可以写入,此标识会将源文件

Linux学习记录--文件IO操作相关系统编程

文件IO操作相关系统编程 这里主要说两套IO操作接口,分别是: POSIX标准 read|write接口,函数定义在#include<unistd.h> ISO C标准 fread|fwrite接口,函数定义在#include<stdio.h> 有书上说POSIX标准与ISO C标准的区别在于文件读写是否带缓冲区,我则不是很认同,因此POSIX标准下的IO操作也是带缓冲区的,至于这两个标准下的IO性能谁更加好则不一定,因为这和缓冲区的大小,以及用户逻辑有很大关系. POSIX标准

linux 学习记录- 用户切换

一.用户切换:      缘由:1.使用一般账号操作系统,这是平日操作的好习惯.2.用较低权限启动系统服务:如apache软件,可以建立        apache用户来启动apache软件,如果这个程序被攻破,系统也不至于损毁.3.软件本身的限制. a.su  最简单的切换用户身份的方法       使用方法:  su [-lm][-c 指令][username]            详解: -:代表使用login-shell的变量档案读取方式来登入系统,若后面没有用户名,代表切换到root

《Linux学习并不难》Linux字符界面(2):关闭和重启Linux系统之shutdown命令

3.2  <Linux学习并不难>Linux字符界面(2):关闭和重启Linux系统之shutdown命令 shutdown命令可以安全地关闭或重启Linux系统,有些用户会使用直接断掉电源的方式来关闭计算机,这是十分危险的.Linux系统与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,在有的系统中甚至会损坏硬件设备.在系统关机前使用shutdown命令,系统管理员会通知一条警告信息给所有登录的用户,告诉他们系统将要关闭,新的用户不能再

1.菜鸟的linux学习之路------linux初体验

脚本编程语言通常是解释型的.这类程序的执行,是由解释器读入代码,并将其转换成内部的形式,在执行.请注意,解释器本身是一般的编译型程序. 常用的脚本编程语言有 :awk,Perl,Python,Ruby,Shell.这里的Ruby是日本人研发的. 注释: linux : 1.rm 删除指定的文件 例:rm /Users/apple/Desktop/QQDock.plist 2.假设你想知道现在的系统有多少人在登录,那么 who命令可以实现 3.|管道符号可以在两个程序之间建立管道:who的输出,成

linux学习书籍推荐linux学习书籍推荐

引用地址:http://www.cnblogs.com/notepi/archive/2013/06/15/3137103.html Linux 学习书目推荐 Linux基础 1.<Linux与Unix Shell 编程指南> C语言基础 1.<C Primer Plus,5th Edition>[美]Stephen Prata著 2.<The  C Programming Language, 2nd Edition>[美]Brian W. Kernighan Davi

Activiti框架学习记录-01

Activiti框架学习记录-01 本篇主要是Activiti工作流框架的学习记录,以及对于该框架的基本使用和一些浅显的理解: 1.工作流框架基本概念 2.在eclipse中使用工作流框架 3.创建工作框架 4.使用框架提供API,操作框架实现业务逻辑 1.工作流框架基本概念(摘自百度百科) 工作流(Workflow),就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现某个

Linux网络服务01——Linux网络基础设置

Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [[email protected] ~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:D5:3A:FA inet addr:192.168.200.100 Bcast:192.168.200.255 Mask:255.255.255.0 inet6 addr: fe80::20c:

《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串

8.14  <Linux学习并不难>Linux常用操作命令(14):grep命令查找文件中符合条件的字符串 使用grep命令可以查找文件内符合条件的字符串.          命令语法: grep [选项] [查找模式] [文件] 命令中各选项的含义如表所示. 选项 选项含义 -E 模式是一个可扩展的正则表达式 -F 模式是一组由断行符分隔的定长字符串 -P 模式是一个Perl正则表达式 -b 在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量 -c 只显示匹配行的数量 -i 比较时不