Linux操作系统的概述与简介

目录
  • 1. 什么是操作系统
  • 2. Linux的起源
  • 3. Linux基本特性
  • 4. Linux的应用

引言: 这些年,我学习计算机领域的知识之前,习惯于思考知识本身的几个基本要素:**1. 是什么;2. 从何而来;3. 能干什么。**我也越来越觉得,在学习任何一项技术之前,都有必要去思考这几个问题,并且带着这几个问题出发去学习,否则容易陷入思维误区,也容易没有目标,觉得一片茫然,从入门到放弃,久而久之就忘记了所学的内容。
所以,在学习Linux之前,有必要先了解Linux是什么、起源和特性(可能会有小伙伴对这个不理解,觉得学就完事了,干嘛非要知道它是怎么来的。其实我起初也有这个想法,但是我发现任何一个事物产生都有其背景,在此背景下出于某种需求或者在某种推动下诞生,再想想为什么不是其他技术诞生,而是它呢?)、Linux有什么作用。

1. 什么是操作系统

  Linux是一个计算机操作系统,与windows类似,是一款系统软件。大家熟悉的操作系统中,计算机操作系统有Windows、Linux、Mac OS,移动端设备操作系统比较出名的有安卓、IOS,还有华为公司刚刚推出的鸿蒙。

怎么去理解操作系统的概念呢?我们从生活经验来理解计算机系统的层次结构:

场景:假如我们现在要在计算机上用QQ与朋友聊天,有经验的程序员会自己买硬件配置一台裸机,然后在裸机上安装Linux操作系统,再安装QQ应用,最后登录QQ与朋友聊天。

上面场景的装机过程,描述了计算机系统自底向上的层次结构,包含了底层硬件、操作系统、应用软件。操作系统承上启下,负责管理协调硬件、软件资源等计算机资源的工作、为上层的应用软件、用户提供建议的服务,所以操作系统是系统软件,是最接近底层硬件的软件,最早的操作系统是有汇编语言或C语言编写的。

说明:用户和操作系统直接交互的界面是shell命令,这种批处理命令接口允许用户直接使用。

  这里根据以上描述,给出操作系统的定义:操作系统(Operating System,OS)是控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。


2. Linux的起源

  很久很久以前(上个世纪六十年代),那个时候计算机还没有普及,只有少数人才能使用,当时的计算机系统都是批处理操作系统。批处理操作就是一批任务一次性提交给计算机,中途无法与计算机交互,等待计算结果。一次只能一个用户使用,准备作业的I/O输入也需要很长时间,导致了计算机资源的极大浪费。

  后来,1965年由贝尔实验室、美国麻省理工学院和通用电气公司联合发起的Multics工程计划,设计和开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。

分时操作系统使一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令,操作系统采用时间片轮转的方式处理用户的服务请求并在终端上显示结果(操作系统将CPU的时间划分成若干个片段,称为时间片)。操作系统以时间片为单位,轮流为每个终端用户服务,每次服务一个时间片。

  这个计划因为追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,后来失败了。在此经验教训下,由肯·汤普森(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)在1969年实现了一种分时操作系统的雏形,1970年该系统正式取名为UNIX,寓意是小巧的、精简的。

丹尼斯·里奇是谁?熟悉C语言的同学应该知道,它因为在实验室喜欢玩计算机游戏【环游太空】发明了C语言,被誉为C语言之父。这是一种适合编写系统软件的高级语言,它的诞生是UNIX系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。1973年,Unix系统的绝大部分源代码都用C语言进行了重写,提高了Unix系统的可移植性。

  从早期的UNIX系统文档和内容中可以清晰的看出,UNIX的发展是一个免费的、开源的、完全致力于将UNIX变的更优秀的过程。这个过程导致了代码的共享(不管是在贝尔实验室内部还是外部)从而使高质量的UNIX操作系统走向了快速的发展之路。

  因为美国政府担心已经垄断了电话行业的AT&T公司再次垄断计算机行业,AT&T使被禁止出手计算机系统。因为AT&T在资产分解之前被严格限制直接出售计算机给消费者,所以UNIX源代码被授权给了大学用于教学、研究使用,只是象征性地收取一定费用。

  20世纪70年代,美国加利福尼亚大学伯克利分校开发的UNIX版本FreeBSD,它由来自世界各地的志愿者开发和维护,为不同架构的计算机系统提供了不同程度的支持。从BSD系统开始,各大厂商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Uinx系统,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HP UNIX等,并进行服务收费,想到这里AT&T肯定肺都气炸了,这不是为他人做了嫁衣吗,不让我挣钱,你们也别想挣钱。

  70 年代末,Unix又面临了突如其来的被AT&T 回收版权的重大问题,特别是要求禁止对学生群体提供Unix 系统源代码,AT&T收回了版权,并且不再开源。这样的问题一度引起了当时Unix业界的恐慌,也因此产生了商业纠纷。如果想继续使用就需要购买授权,一份授权4万美元!!!

  很多用户已经习惯了使用Unix,但突然要收费,很多人就非常不满!!!其中的一个人是理查德·斯托曼,他发起了自由软件运动,吹起了共产主义的号角(发起了GUN运动),并发布了软件界的共产主义宣言(GPL协议),并且这一运动得到了很多人的认同。

所谓自由软件自由就是指:自由使用、自由学习和修改、自由分发、自由创建衍生版。

  1985年GNU理查德·斯托曼又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持,正所谓有钱好办事啊。

  到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs、C语言编译器GCC以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件,就是操作系统的内核。其实历史好像是在等一个人出现,然后他就出现了!

  1991年,李纳斯·托瓦兹Linus Torvalds,一个芬兰赫尔辛基大学的学生,出于个人爱好而编写的,当时他觉得教学用的迷你版UNIX操作系统Minix太难用了,于是决定自己开发一个操作系统。第一个版本于1991年9月发布,当时仅有10000行代码。由于Linux具有结构清晰、功能简捷等特点,许多大专院校的学生和科研机构的研究人员纷纷把它作为学习和研究的对象。

理查德·斯托曼立即就召唤linus加入,1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。

关于Linux Logo的由来是一个很有意思的话题,它是一只企鹅,为什么选择企鹅?

对此,笔者收集了资料,发现以下的说法最可靠。企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,任何国家都无权将南极洲纳入其版图。Linux选择企鹅图案作为Logo,其含义是:开放源代码的Linux为全人类共同所有,任何公司无权将其私有。


3. Linux基本特性

  • 程序应该小而专一,程序应该尽量的小,且只专注于一件事上,不要开发那些看起来有用但是90%的情况都用不到的特性;
  • Linux是完全免费的操作系统,并且开放源代码,任何人都可以随意修改其源代码。
  • Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
  • Linux安全可靠、稳定性高,Linux的代码是开源的,所以每个人都可以参与进入修补漏洞。常常被用于Web服务器项目部署任务。
  • 大多数的开源软件的首要适配平台都是Linux,所以在Linux有许多免费又开源的软件工具让你使用。支持几乎所有的网络协议和开发语言

4. Linux的应用

  • 100% 的世界超级计算机跑在 Linux 上。包括 NASA 的集群。
  • SpaceX 在其灰背隼火箭引擎上使用具有特殊容错设计的 Linux。借此,Linux 帮助完成了 32 次航天任务。
  • 电影泰坦尼克是首个基于 Linux 服务器拍摄的电影。
  • 目前互联互联网上 90% 以上的网站服务器采用的都是Linux后台服务器,随着大数据时代的到来,分布式、并行计算、嵌入式以及人工智能等都会首选Linux。

以上就是Linux操作系统的概述与简介的详细内容,更多关于Linux简介的资料请关注我们其它相关文章!

(0)

相关推荐

  • linux 查看文件系统类型实例方法

    在Linux 中如何查看分区的文件系统类型,下面总结几种查看分区文件系统类型的方法. 1: df -T 命令查看 这个是最简单的命令,文件系统类型在Type列输出.只可以查看已经挂载的分区和文件系统类型.如下所示: [root@mylnx008 ~]# df -T /dev/sdb Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sdb xfs 315467264 4356404 311110860 2% /mysql

  • Linux 目录结构详细介绍

    初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp --- 用户所有服务 httpd samba user1 user2 bin --- 系统启动时需要的执行文件(二进制) sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令.只有root权限才能执行 proc --- 虚拟,存在linux内核镜像:保存所有内核参数以及系统配置信息 1

  • Linux常用命令之性能命令

    本文介绍Linux常用性能统计分析命令,监控进程或者系统性能.主要包括CPU(top.mpstat).内存(vmstat.free).I/O(iostat).网络性能(sar).系统日志信息(demsg).查看进程状态(pidstat).下面简要介绍这些命令的使用方法. mpstat.iostat.pidstat和sr命令需要安装sysstat软件包,sysstat包含了系统性能监测工具,安装方法如下: yum install sysstat # CentOS apt-get install s

  • Linux操作系统的概述与简介

    目录 1. 什么是操作系统 2. Linux的起源 3. Linux基本特性 4. Linux的应用 引言: 这些年,我学习计算机领域的知识之前,习惯于思考知识本身的几个基本要素:**1. 是什么:2. 从何而来:3. 能干什么.**我也越来越觉得,在学习任何一项技术之前,都有必要去思考这几个问题,并且带着这几个问题出发去学习,否则容易陷入思维误区,也容易没有目标,觉得一片茫然,从入门到放弃,久而久之就忘记了所学的内容. 所以,在学习Linux之前,有必要先了解Linux是什么.起源和特性(可能

  • Linux cp命令参数简介

    cp (复制档案或目录) [root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination) [root@linux ~]# cp [options] source1 source2 source3 -. directory 参数: -a :相当于 -pdr 的意思: -d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身: -f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制

  • 如何实现Linux操作系统的自动登录

    开机自动登录Linux,并自动运行XWindow应用程序,有其特殊的应用背景,如基于Linux平台的监控系统,Linux启动后不需要身份验证,而直接运行监控程序等等.本文以Redhat7.2为平台,结合Linux启动过程,介绍了如何避免身份验证自动登录,并直接进入X Window自动运行应用程序. 一.Linux启动的最后阶段的工作 Linux在启动过程的最后阶段(具体启动步骤略),init会根据/etc/inittab文件的最后一行x:5:respawn:/etc/X11/prefdm-nod

  • 浅谈linux操作系统的优化及安全

    在网上看到不少有关linux优化方面的好文章,在此我也不赘述这些文章了,我只想从我自己的体会来谈谈这方面的问题. 作为一个系统管理员,我下面说的都是基于服务器应用的linux来谈的,由于个人电脑上使用linux也许不是像服务器上一样,优先追求安全和稳定,因此个人电脑使用的朋友只做个参考吧. 本文提及的系统,如没有特别声明,均采用redhat公司的redhat linux系统. 关于优化 说起优化,其实最好的优化就是提升硬件的配置,例如提高cpu的运算能力,提高内存的容量,个人认为如果你考虑升级硬

  • 方便快捷—活用Linux操作系统的后台任务

    文/佚名 Linux作为一个多任务环境,允许用户同时执行多项任务,例如查看系统情况.备份资料.编辑文件和打印文件等. 对于耗时长的任务不应该让它在前台任务中执行,而应该交给后台任务去执行.这样前台任务可继续正常运作其它的操作,不用等待.示例如下: # find / -name testing & # fg 如果想要让上面例子中的任务转为后台执行,就使用"& ".不过,由于是后台执行的,所以该程序的输出并不会出现在屏幕上.当用户将数个任务放到后台任务执行时,要如何去管理这

  • 了解Linux

    "Linux"这个名字我想大家现在都不会陌生了,这一年多来随着国内各种媒体的争相的宣传与报导,Linux已经成为了一个热门的话题.    我想就这几个方面谈谈Linux:Linux的历史和发展历程.设计宗旨和方法.主要特点.构成.Linux上的常用软件.Linux的应用,最后是Linux的发展趋势. 我们今天的第一件事情或许是要了解Linux这个单词的读法.我们很多人对Linux的读音都不尽相同,大致有这么几种: "来那克斯"与"林你克斯"&qu

  • 利用C语言实现http服务器(Linux)

    目录 一.实习目的 二.实习项目及内容 2.1开发平台 2.2项目功能 2.3技能储备 三.项目设计 3.1设计概述 3.2 Reactor模式 3.3 socket网络编程 3.4 http服务器应答报文设计 四.代码实现及运行结果 4.1主要功能实现 4.2测试及运行结果 这篇文章是我的生产实习报告,在Linux操作系统上实现的一个简单的HTTP服务器,也算是一个小项目.请大家多多指教. 一.实习目的 本次实习紧紧围绕Linux操作系统基础知识展开,主要学习了Linux系统的常用命令.gcc

  • 在笔记本电脑上安装Linux

    当前,笔记本电脑越来越多地成为工程师.技术人员的标准 办公配置.随着Linux操作系统影响的逐步深入,许许多多的Linux使用者希望能够在自己的笔记本电脑上运行Linux操作系统,以便随时随地地使用.研究它. 在笔记本电脑上安装Linux和在台式机上的安装步骤基本是一样的,根据笔者的经验,困难的地方通常有两点:其一是图形窗口系统的配置,由于笔记本电脑设计的特殊性,显卡往往与主板等组件集成在一起,不容易在安装过程中自动识别并配置好:其二是作为网络适配器的PCMCIA卡:以太网卡和Modem拨号卡.

  • 很实用的Linux 系统运维常用命令及常识(超实用)

    作为Linux运维,需要了解Linux操作系统的基本使用和管理知识,下面我们小编给大家介绍下Linux运维需要掌握的命令,想成为Linux运维的朋友可以来学习一下. 1 文件管理2 软件管理3 系统管理 4 服务管理5 网络管理6 磁盘管理 7 用户管理8 脚本相关9 服务配置 ================================== ---------------------------------- 1 文件管理 ---------------------------------

  • Linux tar命令使用列子第1/2页

    用tar建立存档 tar是"tape archive"(磁带存档)的简称,它出现在还没有软盘驱动器.硬盘和光盘驱动器的计算机早期阶段.那时软件的发行和备份都需要大卷的磁带,计算机上运行的头几个程序中就得有一个是磁带的阅读程序.随着时间的推移, tar命令逐渐变为一个将很多文件进行存档的工具,目前许多用于Linux操作系统的程序就是打包为tar档案文件的形式. tar 命令的格式是: tar [option] <file>; tar命令有很多参数,利用f选项.设备或文件的名字

随机推荐