Linux上天之路(一)之Linux前世今生
0. Linux的前世今生
linux是什么
linux是一个计算机的操作系统,与windows类似,是一款系统软件
操作系统
说到操作系统其实我们首先要思考三个问题:
1)操作系统是什么?
2)操作系统能干什么
3)操作系统和QQ、office又有什么区别
操作系统是什么?
操作系统首先是一个计算机程序,使用计算机语言开发,比如C语言、VC语言。是计算机硬件和应用软件的桥梁。
操作系统能干什么?
操作系统干什么的
管理硬件 管理CPU 内存 等
驱动硬件 调用硬件 去干活 打印 扫描
管理应用程序 QQ OFFICE 游戏
硬件资源分配 QQ啥时候用CPU 多个程序共用硬件的分时机制
操作系统和QQ、office又有什么区别
计算机构成分为: 底层硬件、操作系统、应用软件
QQ、office属于应用软件,运行需要依托操作系统,运行在操作系统之上
操作系统分类
按照时间先后顺序:UNIX、windows、linux
不同的系统又有:个人版、网络版
个人版: 用户桌面版,一般采用复杂指令集,对图形图像处理优势较大
网络版:服务器版,一般采用精简指令集,对数据流处理优势较大
linux的起源
上个世纪六十年代,那个计算机还没有很普及,只有少数人才能使用,而且当时的计算机系统都是批处理的,
批处理操作系统特点:就是把一批任务一次性提交给计算机,然后就等待结果。并且中途不能和计算机交互。往往准备作业都需要花费很长时间,并且这个时候别人也不能用,导致了计算机资源的浪费。
从最开始 ,unix操作系统就是在公共环境下创建成长的。unix的出现不是由于市场的需求,而是由于渴望排除编制程序的障碍。
他是分时操作系统,其特点是:
(1)同时性。若干个终端用户可同时使用什算机;
(2)独立性。用户彼此独立,互下干扰;
(3)及时性。用户的请求能在较短时间内得到响应;
(4)交互性。用户能进行人-机对话,联机地调试程序,以交互方式工作。
unix最早由Ken Thompson(肯.汤普森)开发,使用汇编语言开发,后来采用B语言开发,最后作者 Ken Thompson和Dennis Ritchie(丹尼斯.里奇)为了再次改进系统,重新写了一门计算机语言(主要贡献是Dennis Ritchie),就是大名鼎鼎的C语言
1973年重新用C语言写了UNIX
从早期的UNIX系统文档和内容中可以清晰的看出,UNIX的发展是一个免费的、无私的、完全致力于将UNIX变的更优秀的过程。这个过程导致了代码的共享(不管是在贝尔实验室内部还是外部)从而使高质量的UNIX操作系统走向了快速的发展之路。
所谓树大招风
因为美国担心已经垄断了电话行业的AT&T公司再次垄断计算机行业,AT&T使被禁止出手计算机的。因为AT&T在资产分解之前被严格限制直接出售计算机给消费者,所以UNIX源代码被授权给了大学,只是象征性地收取一定费用。
各大厂商研发自己的UNIX
20世纪70年代,它逐步盛行,这期间,又产生了一个比较重要的分支,就是大约1977年诞生的BSD(Berkeley Software Distribution)系统,从BSD系统开始,各大厂商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Uinx系统,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HP UNIX等。
70年代中后期,由于各厂商及商业公司开发的Unix 及内置软件都是针对自己公司特定硬件的,因此在其他公司的硬件上基本上无法直接运行,面且当时没有人对开发基于X86架构CPU 的系统感兴趣。另外,70 年代末,Unix又面临了突如其来的被AT&T 回收版权的重大问题,特别是要求禁止对学生群体提供Unix 系统源代码,AT&T收回了版权,并且不再开源。这样的问题一度引起了当时Unix业界的恐慌,也因此产生了商业纠纷。
如果想继续使用就需要购买授权,一份授权4万美元

在八十年代,自由软件之父 理查德.斯托曼发起了自由软件运动,吹起了共产主义的号角(发起了GUN运动),并发布了软件界的共产主义宣言(GPL协议),并且这一运动得到了很多人的认同。GUN的定义是一个递归缩写,就是GUN IS NOT UNIX。就是说Unix是流氓,我不是。
再说GPL
所谓自由软件自由就是指:自由使用、自由学习和修改、自由分发、自由创建衍生版。
1985年GNU理查德·斯托曼又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持
到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs、C语言编译器GCC以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件,就是操作系统的内核.有意思的是,而那个时候Linux还没有诞生呢 ,所以Stallman宝宝心里苦啊,就在大家逐渐失去信心的时候,1991年Linus Torvalds带着他的Linux闪亮登场了,也给GUN运动画了一个完美的句号。

1991年,Linus Torvalds,一个芬兰赫尔辛基大学的学生,为了能在家里的PC机上使用与学校一样的操作系统,开始了编写类似UNIX内核的工作。那是,linus使用的是MINIX,但是他希望能超过MINIX的标准。
Linus Torvalds在开始其Linux 操作系统的设计时,他的目的只不过是想看一看Intel 386存储 管理硬件是怎样工作的,他也没有想到这一举动会在计算机界 产生如此重大的影响。他的设计进展得很顺利,只花了几个月时间就在一台Intel 386微机上完成了一个类似于Unix的操作系统, 这就是最早的Linux版本。
1991年底,Linus Torvalds首次在Internet 上发布了基于Intel 386体系结构的Linux源代码,从此以后,奇迹开始发生了。由于Linux具有结构清晰、功能简捷等特点,许多大专院校的学生和科研机构的研究人员纷纷把它作为学习和研究的对象。他们在更正原有Linux版本中操作的同时,也不断地为Linux增加新的功能。在众多热心者的努力下,Linux逐渐成为一个稳定可靠、功能完善的操作系统。
理查德.斯托曼立即就召唤linus加入,大神召唤哪有拒之门外的啊,自然Linus也就顺理入伙了。

1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。
linus将自己国家的吉祥物作为linux标志
linux厂商
真实因为GPL,很多公司基于linux的源码进行修改、优化后推出了自己的产品,其中最著名的就是redhat,其实每个国家都有自己的linux系统,比如中国最早的红旗linux,现在的中科麒麟、深度,都是linux系统.企业通过收取技术服务费来进行盈利。
linux的应用
linux的应用
100% 的世界超级计算机跑在 Linux 上。包括 NASA 的集群。
SpaceX 在其灰背隼火箭引擎上使用具有特殊容错设计的 Linux。借此,Linux 帮助完成了 32 次航天任务。 埃隆·马斯克 特斯拉
电影泰坦尼克是首个基于 Linux 服务器拍摄的电影。
即使 Linux 的最大的竞争操作系统微软 Windows 也拥抱 Linux。Windows 最近集成了 Ubuntu Bash 到 Windows 10 里了
Linux上天之路(一)之Linux前世今生的更多相关文章
- Linux上天之路系列目录
Linux上天之路系列目录 Linux上天之路(一)之Linux前世今生 Linux上天之路(二)之Linux安装 Linux上天之路(三)之Linux系统目录 Linux上天之路(四)之Linux界 ...
- linux 学习之路(学linux必看)
很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...
- linux进阶之路(二):linux文件目录
Linux的目录结构: Linux文件系统采用级层式的目录结构,最上层是根目录"/",在此目录下再创建其他目录. 树状的文件目录.再Linux世界,一切皆文件. /etc 所有系统 ...
- linux进阶之路(一):linux入门
Linux:开源.免费得开源系统.具有高效性.稳定性.安全性.处理多并发. Linux的发行版本:基于Linux,不同的安装软件 CentOS(RedHat开源版本) RedHat Ubuntu Su ...
- Linux上天之路(十二)之服务管理
主要内容 服务介绍 独立服务 非独立服务 1. 服务介绍 服务:常驻在内存中的程序,且可以提供一些系统或网络功能,那就是服务. 计算机中的系统服务有很多,比如: apache提供web服务 ftp提供 ...
- Linux上天之路(二)之Linux安装
1. vmware workstation使用 VMware是全球领先的虚拟化公司,为客户提供虚拟化解决方案,个人虚拟化产品workstation,可以让用户通过虚拟化的方式在一台物理电脑中安装多个操 ...
- Linux上天之路(三)之Linux系统目录
1. Linux设计思想 1) 程序应该小而专一,程序应该尽量的小,且只专注于一件事上,不要开发那些看起来有用但是90%的情况都用不到的特性: 2) 程序不只要考虑性能, 程序的可移植性更重要,she ...
- Linux上天之路(四)之Linux界面介绍
Linux界面 linux为使用者提供了图形界面和文本界面,但是很多操作依然需要文本界面的操作才能完成,很多人使用起来比较蹩脚,又因为linux平台的个人应用APP相对较少,使得大家的个人PC安装了l ...
- Linux上天之路(五)之Linux基本命令
1. Linux命令格式 命令 命令选项 学会看语法: {必选项}[可选项] 举例 ls -a /tmp 等价 ls –all /tmp ls 命令 -a 命令选项 简写使用- 全写-- /tmp 参 ...
随机推荐
- 使用OPC与PLC通讯 一
总结自己在opc与自控开发的经验.首先介绍OPC DA模式下的OPC各种操作. 在使用opc时需要引用到 OPCDAAuto.dll 这个类库. 在项目引用后需要注册这个类库,否则程序跑起来会报错,& ...
- 30个类手写Spring核心原理之MVC映射功能(4)
本文节选自<Spring 5核心原理> 接下来我们来完成MVC模块的功能,应该不需要再做说明.Spring MVC的入口就是从DispatcherServlet开始的,而前面的章节中已完成 ...
- presto官网阅读记录: Functions and Operators 部分
官网Functions and Operators部分 版本:0.266 目录 官网Functions and Operators部分 1 Comparison Functions and Opera ...
- 在【自定义列】中编辑简单运算公式(Power Query 之 M 语言)
数据源: "品名"."数量"."单价"三列 目标: 计算销售单价(单价*1.2) 解决方案: 在[自定义列]中使用乘法四则运算 步骤: 打开 ...
- django的Cookie Session
Cookie 初识cookie的设置和获取 示例 from django.shortcuts import render, redirect from django.shortcuts import ...
- MyBatis学习(一)基本配置与使用
MyBatis学习(一)基本配置与使用 1.前期准备 文件具体架构图 1.配置conf.xml <?xml version="1.0" encoding="UTF- ...
- IDEA控制台中文显示乱码处理
加入 -Dfile.encoding=UTF-8 以及
- JAVA里List集合中的对象根据对象的某个属性值降序或者升序排序
需要使用JDK1.8及以上 package com.stream; import java.util.Comparator; import java.util.List; public class T ...
- html5调用摄像头截图
关于html5调用音视频等多媒体硬件的API已经很成熟,不过一直找不到机会把这些硬件转化为实际的应用场景,不过近年来随着iot和AI的浪潮,我觉得软硬结合的时机已经成熟.那我们就提前熟悉下怎么操作这些 ...
- 【LeetCode】69. Sqrt(x) 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:库函数 方法二:牛顿法 方法三:二分查找 日 ...