Linux前身今世

2023-10-11 03:30
文章标签 linux 今世 前身

本文主要是介绍Linux前身今世,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux前身今世

文章目录

  • Linux前身今世
    • 一.什么是Linux
    • 二.Linux的前身
        • 1968年 Multics项目
        • 1970年(Unix元年,时间戳)Unix诞生
        • 1973年 用C语言重写Unix
        • 1975年 Bell实验室允许大学使用Unix。
        • 1975年,bell实验室允许大学使用Unix操作系统用于教学作用,而不允许用于商业用途.
    • 三.Linux的诞生
        • 1991年 0.0.1版本
        • 1992年 0.0.2版本
        • 1994年 1.0版本
        • 2003年 2.6版本
    • 四.开源文化
        • Linux是**开源**的操作系统。所谓开源就是指开放源代码。
        • copyleft: 代表无版权。
        • copyright: 则代表有版权。
        • opensource free: 源代码开放、软件谁都可以使用、谁都可以传播、谁都可以二次开发,使用GPL协议保护
        • 事件
    • 五. Linux系统特点
    • 六. Linux发行版

一.什么是Linux

和我们常见的 Windows 一样, 都是操作系统

  1. Windows: 收费, 不开源, 主要用于日常办公, 游戏, 娱乐多一些
  2. Linux: 免费, 开源, 主要用于服务器领域, 性能为稳定, 安全.
  3. 例子: 淘宝, 百度, 腾讯等互联网公司, 他们使用的服务器全都是Linux系统

二.Linux的前身

1968年 Multics项目

人物:参与Multics计划当中有一位来自贝尔实验室的大神——肯·汤普森(Ken Thompson):

img

MIT、Bell实验室、美国通用电气有限公司走到了一起,致力于开发Multics项目。
到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。

1970年(Unix元年,时间戳)Unix诞生
当时在开发Multics项目的时候,实验室中有一个开发成员开发了一款游戏(travel space:遨游太空).
因为两个实验室相继离开项目开发,导致这名开发人员没法玩游戏,后来他提议组织人员重新在Multics项目之上重新的开发,也就出现了1970年的Unix。
当时Unix操作系统是使用的汇编语言(机器语言)开发的。
1973年 用C语言重写Unix

人物:汤普森有一个好基友——丹尼斯·里奇(Dennis Ritchie):C语言之父, 两人均是计算机历史上开天辟地的人物。

img

因为汇编语言有一个最大的局限性:对于计算机硬件过于依赖。导致移植性不好,所以后期在1973年使用了C语言对其进行重新开发。
1975年 Bell实验室允许大学使用Unix。
1975年,bell实验室允许大学使用Unix操作系统用于教学作用,而不允许用于商业用途.

三.Linux的诞生

人物: Linus, Linux的开发作者,Linux之父李纳斯·托瓦兹。Linux诞生时是荷兰在校大学生。

img

1991年 0.0.1版本

李纳斯当时学校使用的就是Unix操作系统,然后其对系统的底层代码进行了修改,放到了学校为学生开放的网站上
原先他把文件命名写成了Linus’s Unix,后期网络管理发现之后觉得这个名字不好,自己手动的将名字改成Linux。
随后其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。

1992年 0.0.2版本
1994年 1.0版本
2003年 2.6版本

以上提及的都是Linux的内核版本:Linux内核网站.

Linux的前世今生详析

Linus与Linux基金会的中国行带来了什么?

四.开源文化

人物: 理查德·马修·斯托曼(Richard Matthew Stallman, RMS):自由软件之父, 于1953年出生,自由软件运动的精神领袖、GNU计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客

img

GPL: 通用版权许可证协议,如果软件被打上GPL,那么任何人都可以对这个软件进行修改,但是修改完之后必须将源码发布出来,以便更好的传承下去。
那Linux中的软件百分之80都是GPL提供
Linux内核使用GPL协议发布,内核也是开源,有了内核的加入,整个GNU的系统更加的完善。
其实Linux完整叫法应该叫GNU/Linux,GNU的软件加上Linux内核。

  • 事件

1983年 GNU计划
1985年 FSF基金会
1990年 Emacs、GCC(c语言的编译器)、程序库
1991年 Stallman去找Linus,商谈让Linux加入其开源计划(GNU计划)
1992年 GNU/Linux

五. Linux系统特点

  • 开源性、多用户、多任务、良好的用户界面、优异的性能与稳定性
  • Windows: 单用户, 多任务
  • Linux: 多用户, 多任务

单用户:一个用户,在登录计算机(操作系统),只能允许同时登录一个用户;
单任务:一个任务,允许用户同时进行的操作任务数量;
多用户:多个用户,在登录计算机(操作系统),允许同时登录多个用户进行操作;
多任务:多个任务,允许用户同时进行多个操作任务;

六. Linux发行版

其实Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和应用程序的操作系统(也被称为GNU/Linux)。很多的商业公司或非营利团体,将 Linux Kernel (含 tools ) 与可运行的软件整合起来,加上自己具有创意的工具程序,组装成一套可完整安装的系统,我们称之为Linux发行版(Linux distribution)

img

  • 发行版举例:

    Redhat 1993年,将Linux的内核进行编译安装相应软件进行发行。

    CentOS 社区企业级操作系统, 改与Redhat, 完全开源。
    Ubuntu 社区维护, 现在主要做手机系统和电脑桌面系统。

这篇关于Linux前身今世的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/185189

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

[Linux]:进程(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 进程终止 1.1 进程退出的场景 进程退出只有以下三种情况: 代码运行完毕,结果正确。代码运行完毕,结果不正确。代码异常终止(进程崩溃)。 1.2 进程退出码 在编程中,我们通常认为main函数是代码的入口,但实际上它只是用户级

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

如何编写Linux PCIe设备驱动器 之二

如何编写Linux PCIe设备驱动器 之二 功能(capability)集功能(capability)APIs通过pci_bus_read_config完成功能存取功能APIs参数pos常量值PCI功能结构 PCI功能IDMSI功能电源功率管理功能 功能(capability)集 功能(capability)APIs int pcie_capability_read_wo