Linux学习笔记 01 - Linux概况

一、操作系统的发展历程

操作系统是用来=控制管理系统资源、方便用户使用计算机的程序的集合,是人机交互的接口
大致包括5个方面的管理功能:进程与处理机管理作业管理存储管理设备管理文件管理

1. 服务器专用的 UNIX 操作系统

UNIX 操作系统与1969年由美国贝尔实验室肯·汤普森(K.Thompson)和丹尼斯·麦卡利斯泰尔·里奇(D.M.Ritchie)开发完成,是真正意义上的多用户多任务操作系统
UNIX的商业版版本主要包括SUN公司(现被Oracle公司收购)的Solaris、IBM公司的AIX、惠普公司的HP-UX等;
UNIX系统大部分是由C语言编写的,这使得系统易读,易修改,易移植,性能相当可靠且运行稳定,至今仍广泛应用于银行、航空、保险、金融等领域的大中型计算机和高端服务器。但是,其价格昂贵。
早在20 世纪70 年代, UNIX系统是开源而且免费的。但是在1979年时,AT&T公司宣布了对UNIX系统的商业化计划,随之开源软件业转变成了版权式软件产业, 源代码被当作商业机密, 成为专利产品,人们再也不能自由地享受科技成果。

2. 简单易用的 Windows 操作系统

Windows系统确实很优秀, 但是在安全性、 高可用性与高性能方面却难以让人满意。

3. GNU 与自由软件

在1984年, Richard Stallman 面对于如此封闭的软件创作环境,发起了GNU源代码开放计划并制定了著名的 GPL 许可协议。1987年时, GNU计划获得了一项重大突破—— gcc编译器发布, 这使得程序员可以基于该编译器编写出属于自己的开源软件。
自由软件最重要的特性有下面这些:
低风险:使用闭源软件无疑把命运交付给他 人,一旦封闭 的源代码没有人来维护, 你将进退维谷;而且相较于商业软件公司, 开源社区很少存在倒闭的问题。

高品质:相较于闭源软件产品,开源项目通常是由开源社区来研发及维护 的,参与编写、 维护、 测试的用户量众多, 一般 的 bug 还没有等爆发就已经被修补。

低成本:开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份力量, 因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。更透明:没有哪个笨蛋会把木马、后门等放到开放的源代码中,这样无疑是把自己的罪行暴露在阳光之下。

但是, 如果开源软件为了单纯追求“ 自由” 而牺牲程序员的利益, 这将会影响程序员的创造激情,因此世界上现在有 60 多种被开源促进组织(Open Source Initiative)认可 的开源许可协议来保证开源工作者的权益。

GNU GPLGNU General Public LicenseGNU 通用公共许可证):只要软件中包含了遵循GPL协议的产品或代码, 该软件就必须也遵循 GPL 许可协议且开源、免费, 因此这个协议 并不适合商用软件。 遵循该协议的开源软件数量极其庞大, 包括 Linux 系统在内的大多数的开源软件都是基于这个协议的。

复制自由: 允许把件复制到任何人的电脑 中,并且不限制复制的数量。

传播自由: 允许软件以各种形式进行传播。

收费传播: 允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的; 因此,一般来讲, 开源软件都是通过为用户提供有偿服务的形式来盈利的。

修改自由: 允许开发人员增加或 删除 软件 的 功能, 但软件修改后必须依然基于GPL许可协议授权。

4. Linux 操作系统的出现

在1991年10月, 芬兰赫尔辛基大学的在校生Linus Torvalds编写了一款名为Linux 的操作系统。 该系统因其较高的代码质量且基于GNU GPL许可协议的开放源代码特性,迅速得到了GNU计划和一大批黑客程序员的支持。 随后 Linux 系统便进入了如火如荼的发展阶段。
1994年1月, Bob Young 在Linux系统内核的基础之上,集成了众多的源代码和程序软件, 发布了红帽系统并开始出售技术服务,这进一步推动了Linux系统的普及。 1998年以后, 随着GNU源代码开放计划和Linux系统的继续火热,以IBM和Intel为首的多家IT企业巨头开始大力推动开放源代码软件的发展。到了2018 年年底,Linux内核已经发展到了4.18版本,并且Linux 系统版本也有数百个之多, 但它们依然都使用 Linus Torvalds 开发、 维护的Linux 系统内核。 RedHat公司也成为了开源行业及Linux 系统的带头公司。

二、Linux简介

1. 什么是 Linux

Linux系统是一款优秀的操作系统,具有类似 UNIX 的程序界面,而且继承了UNIX的稳定性,能够较好地满足工作需求
Linux从最初就加入了 GNU 计划,其软件发行遵循GPL协议;
目前几乎所有的Linux发行版本都可以通过Internet下载,但是,按照GPL协议出品Linux的公司和程序员可以通过提供产品升级、故障处理等服务来收取一定的费用。

2. Linux 的主要特点

Linux操作系统在推出之后得到了迅猛的发展,这与它良好的性能不无关系。Linux继承了UNIX的优秀设计思想,几乎拥有UNIX的全部功能

2.1 真正的多用户多任务

  1. 多用户:Linux支持多个用户从相同或不同的终端同时使用同一台计算机,而没有商业软件所谓许可证(License)的限制;
    Linux区别对待不同类型的用户,分别赋予不同的权限和存储空间,而每个用户对自己的软硬件资源(如文件、设备)具备特定的使用权限,相互独立而不会相互影响

  2. 多任务:在同一时间段内,Linux能够响应多个用户的不同操作请求。

2.2 良好的兼容性

Linux 完全符合IEEEPOSIX (Portable Operating System Interface of UNIX,面向UNIX的可移植操作系统接口)标准,兼容现在主流的UNIX系统。在UNIX中可以运行的程序,也几乎完全可以在Linux中运行,这就为应用系统从UNIX向Linux转移提供了可能。

2.3 强大的可移植性

Linux的可移植性极强,是迄今支持最多硬件平台的操作系统。
无论是掌上电脑,个人计算机,小型计算机,还是中型计算机,甚至是大型计算机都可以运行Linux。

2.4 高度的稳定性

Linux承袭UNIX的优良性,可以连续运行数月、数年而无需重新启动。
迄今为止,只有屈指可数的几个病毒感染过Linux,这种强免疫性归功于Linux健壮的基础架构。
Linux的基础架构由相互无关的多个层组成,每个层都拥有特定的功能和严格的权限许可,从而保证最大限度的稳定运行。

三 、Linux的版本

Linux实际上有狭义广义两层含义。

  1. 狭义的Linux是指Linux的内核(Kernel),能够完成内存调度,进程管理、设备驱动等操作系统的基本功能,但不包括应用程序。
  2. 广义的Linux是指以Linux内核为基础,包含应用程序和相关的系统设置与管理工具的完整操作系统。

Linux的版本可分为两种:内核版本和发行版本

1. Linux 的内核版本

Linux系统内核指的是一个由Linus Torvalds领导的官方组织(https://www.kernel.org/)负责维护。它提供硬件抽象层硬盘文件系统控制多任务功能系统核心程序。

由于Linux的源程序是完全公开的,任何人只要遵循GPL就可以对内核加以修改并发布。完全公开源代码带来便利的同时也会带来一个问题,即哪个版本的Linux是原始的版本,哪个版本是其他人开发的。为此,Linux开发人员对Linux版本采用了双树系统,即一个是稳定树(稳定版),另一个是开发树(测试版)。一些新特性、实验性改进首先在测试版中进行。

2. Linux的发行版本

Linux 发行套件系统是我们常说的Linux操作系统, 也即是由Linux内核与各种常用软件的集合产品。
目前,Linux发行版本的数量已达数百种之多,并且还在不断增加。但是,无论何种发行版本都属于Linux大家庭,任何发行版本都不拥有发布内核的权利
发行版本之间的差别主要在于包含的软件种类及数量的不同

1. Red Hat Linux

红帽公司是全球最大的开源技术厂商, RHEL是全世界内使用最广泛的Linux系统, RHEL系统具有极强的性能与稳定性,并且在全球范围内拥有完善的技术支持。Redhat,应该称为Redhat系列,包括:

  1. RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本,稳定性非常好,适合服务器使用)
  2. Fedora Core(由原来的Redhat桌面版本发展而来,免费版本,稳定性较差,最好只用于桌面应用)
  3. CentOS(RHEL的社区克隆版本,免费版本,稳定性非常好,适合服务器使用)

2. CentOS

社区企业操作系统(Community Enterprise Operating System,Centos)通过把RHEL系统重新编译并发布给用户免费使用的Linux系统,由于和RHEL出自同样的源代码,因此,有些服务器以CentOS替代商业版的RHEL使用。
与RHEL不同的是: CentOS并不包含封闭源代码软件

CentOS系统是通过把RHEL系统释放出的程序源代码经过二次编译之后生成的一种Linux系统,其命令操作和服务配置方法与RHEL完全相同,而且在RHEL的基础上修正了不少已知的Bug,相对于其对应的Linux发行版,其稳定性值得信赖
但是,去掉了很多收费的服务套件功能,而且还不提供任何形式的技术支持, 出现问题后只能由运维人员自己解决。
CentOS于2014年已被红帽公司“收编”。

3. Fedora

用户可免费体验到最新的技术或工具,而功能成熟后会被加入到RHEL系统中。因此也被称为RHEL系统的“试验田”,如果感兴趣的话,可以多关注此类系统的发展变化及新特性。
允许任何人自由地使用、修改和重发布。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开源代码的软件和开放的标准。
Fedora 项目由 Fedora 基金会管理和控制,得到了 Red Hat 的支持。Fedora (第七版以前为Fedora Core)是一款基于 Linux 的操作系统,也是一组维持计算机正常运行的软件集合。其目标是创建一套新颖、多功能并且自由和开源的操作系统

4. OpenSUSE

德国著名的Linux系统,全球范围内有着不错的声誉及市场占有率,发行量在欧洲占第一位。
OpenSUSE对个人来说是完全免费的,包括使用在线更新
OpenSUSE被评价为最华丽的Linux桌面发行版,甚至超越win7,但它的优势绝不仅仅局限于win7还要绚丽的用户交互界面,其性能也绝不亚于其他Linux桌面发行版!

5. Gentoo

具有极高的自定制性,操作复杂,因此,只适合有经验的人员使用。
它能为几乎任何应用程序或需求自动地作出优化和定制。
追求极限的配置、性能,以及顶尖的用户和开发者社区,都是Gentoo体验的标志特点。
Gentoo的哲学是自由选择。得益于一种称为Portage的技术,Gentoo能成为理想的安全服务器、开发工作站、专业桌面、游戏系统、嵌入式解决方案或者别的东西——你想让它成为什么,它就可以成为什么。

6. Debian

应该称为Debian系列,包括Debian和Ubuntu等。
Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。提供了接近十万种不同的开源软件支持,在国外用于很高的认可度和使用率。对于各类内核架构支持性良好,稳定性、安全性强更有免费的技术支持。

7. Ubuntu

Ubuntu是一款基于Debian派生的操作系统(严格来说不能算一个独立的发行版本),对新款硬件具有极强的兼容能力;
特点是界面非常友好,容易上手,对硬件支持非常全面,是最适合做桌面系统的Linux发行版本,同时 Ubuntu也可用于服务器领域;
Ubuntu的目标在于为一般用户提供一个最新的,同时又相对稳定的自由软件构建而成的操作系统;Ubuntu具有强大的社区力量,用户可以方便地从社区获取帮助。

四、 Linux应用现状与前景

目前,全球Linux用户已超过千万人,并正在不断増加,许多知名企业和大学都是Linux的忠实用户。IBM、HP、Dell、Oracle. AMD等计算机公司大力支持Linux的发展,不断推出基于Linux平台的相关产品。
Linux的应用范围主要包括桌面服务器嵌人式系统集群计算机等四方面。

1. 桌面

桌面曾经是Linux的弱项。Linux承袭UNIX的传统,字符界面下使用Shell命令就可以完全控制计算机。不过,为方便用户的使用,从早期的Linux发行版本就开始提供图形化用户界面,但是限于当时的技术,这种图形化用户界面在易用性方面跟Windows相比还是有一定的差距,且对应的应用程序选择余地较小。随着Linux技术,特别是随着X Window领域的发展,Linux在界面美观、使用方便等方面都有了长足的进步,Linux作为桌面操作系统逐渐被用户接受。
如果说Linux在桌面应用领域还处于推广阶段,那么在服务器嵌人式系统集群计算机领域,Linux则非常具有竞争力,并已经建立起相当稳固的地位。

2. 服务器

Linux服务器的稳定性安全性可靠性已得到业界认可,政府、银行、邮电、保险等业务关键部口已长时间大规模使用。作为服务器,Linux的服务领域包括:

  1. 网络服务

    在Linux下结合一些应用程序(如Apache、Vsftpd^ Sendmail等)就可以提供WWWFTP和电子邮件等网络服务。此外,Linux系统还被广泛用于提供DNSNISNFS等网络服务。

  2. 文件和打印服务

    Linux具有磁盘配额管理功能,可以控制用户对磁盘空间的使用;而借助Samba等应用程序,Linux可轻松为用户提供文件共享及打印机共享服务。

  3. 数据库服务

    目前,各大数据库厂商均已推出基于Linux的大狸数据库,如Oracle、Sybase、DB2等,特別是Linux+MySQL已成为中高端数据库服务器的主要架构方式。Linux凭借其稳定运行的性能,在数据库服务领域有取代Windows Server的趋势。

3. 嵌入式系统

嵌人式系统是目前最具商业前景的Linux应用。对于嵌人式系统而言,Linux有许多不可忽略的优点:

  • Linux具有很强的可移植性,支持各种电子产品的硬件平台。

  • Linux内核可免费获得,并可根据实际需要自由剪裁,符合嵌人式产品按需定制的要求。

  • Linux 功能强大且内核极小。一个功能完备的Linux内核只要求大约1MB内存,而最核心的微内核只需要100KB的内存。

  • Linux 支持多种开发语言,如C、C++、Java,为嵌人式系统上的多种应用提供可能。

实用性嵌人式Linux系统已经开始走入市场。早在2003年,摩托罗拉公司就己公开发布全世界第一个嵌人式Linux系统的手机——A760。而到2013年,Ubuntu公司则已正式发布面向智能手机的Ubuntu for Phone系统,而三星与英特尔也合作推出基于Linux的Tizen系统用于智能手机。

4. 集群计算机

所谓集群计算机(Cluster Computer)就是利用巧算机网络将许多台计算机连接起来,并加人相应的集群软件所形成的具有超强可靠性计算能力的巧算机。目前,Linux已成为构筑集群计算机的主要操作系统之一。Linux在集群计算机的应用中具有非常大的优势:

  1. 极高的性能价格比

    Linux集群计算机的价格是相同性能的传统超级计算机的10%〜30%。构筑高性能的Linux集群计算机不需要购买昂贵的专用硬件设备,利用廉价的个人计算机,并加上很少的软件费用就可以获得极强的运算能力。

  2. 极强的可扩展性

    在Linux集群计算机中增加单个的计算机就能增加整个集群的计算能力,并不需要淘汰原来的计算机设备,有利于快速扩展集群计算机的计算能力
    经过十多年的发展,基于Linux操作系统上的集群技术已相当成熟,且已成为发展高性能、髙可靠性计算机系统的主要途径

五、Linux系统结构

1. Linux 内核

Linux内核(kernel)是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核心功能,包括防火墙机制、是搜索否支持LVM(逻辑卷管理)或Quota(配额管理)等文件系统等;
Linux的内核源代码主要采用C语言编写,与驱动程序相关的部分用汇编语言编写。都是开放的,可以在/usr/src/linux下找到。
Linux内核最大的好处就是用户可以通过源代码了解操作系统是如何工作的。并且通过阅读源代码,程序员可以了解操作系统的工作机理。而且程序员可以针对自身环境,重新编译Linux的内核,定制出一套符合自己工作习惯的操作系统。
在这里插入图片描述

2. Linux Shell

Shell(也称为终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。现在包括红帽系统在内的许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。

Shell不仅是一种交互式命令解释程序,而且还是一种程序设计语言(脚本程序)

3. X window

X Window 是UNIX/Linux 操作系统图形化用户界面的标准,目前绝大多数的Linux计算机上都运行X Window的某个版本;

4. Linux 系统设备管理

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值