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 参 ...
随机推荐
- 安装Java1.8教程图解
在服务器上配置Java环境 第一步: 因为我们系统是centOS7 64位的,所以我下载的是最新版本的jdk X64位的 因为阿里云服务器事先就安装好了ssh,我们可以用xsell连上去,我把下载好的 ...
- [BUUCTF]PWN——hitcontraining_heapcreator
hitcontraining_heapcreator 附件 步骤: 例行检查,64位程序,开启了canary和nx 本地试运行一下,看看大概的情况,经典的堆的菜单 64位ida载入,main函数没有什 ...
- cron 获取下次运行时间(基于 C# + Quartz.NET)
代码 Quartz 的 cron 支持秒,导致一些 cron 库无法准确的获得下次执行时间,这里使用 Quartz.Net 自带的方法来获取下次执行时间. //引用 Quartz CronExpres ...
- C语言程序与设计:统计素数并求和
目录 C语言程序与设计:统计素数并求和 1.题目要求 2.分析 3.代码 C语言程序与设计:统计素数并求和 1.题目要求 输入两个正整数 m 和 n(1≤m≤n≤500),统计给定整数 m 和 n 区 ...
- 小迪安全 Web安全 基础入门 - 第一天 - 操作系统&名词&文件下载&反弹SHELL&防火墙绕过
一.专业名词 1.POC:(Proof of Concept),即概念验证.漏洞报告中的POC是一段说明或一个攻击的样例使读者能够确认这个漏洞是真实存在的. 2.EXP:exploit,即漏洞利用.对 ...
- Java编程思想—读书笔记(更新中)
第1章 对象导论 1.4 被隐藏的具体实现 访问控制的原因: 让客户端程序员无法触及他们不应该触及的部分(不是用户解决特定问题所需的接口的一部分) 允许库设计者可以改变类内容的工作方式而不用担心会影响 ...
- Python的动态语言特性; __slots__属性
python是动态语言 1. 动态语言的定义 动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用.它是一类 在运行时可以改变其结构的语言 :例如新的函数.对象.甚至代码可以被 ...
- Mysql 主从复制机制
https://blog.csdn.net/girlgolden/article/details/89226528 MySQL异步复制及semi-sync半同步复制,它们都基于MySQL binlog ...
- IO复用的三种方法(select,poll,epoll)深入理解
(一)IO复用是Linux中的IO模型之一,IO复用就是进程告诉内核需要监视的IO条件,使得内核一旦发现进程指定的一个或多个IO条件就绪,就通过进程处理,从而不会在单个IO上阻塞了,Linux中,提供 ...
- Linux(centos)使用docker安装pdf2htmlEX
pdf2htmlEX是一款可以将pdf文档转换成html文件的插件,但是Linux系统安装起来很麻烦,所以我们使用docker进行安装 首先要安装docker 因为国外镜像很慢,所以我们这边修改使用国 ...