【Linux系统编程】第一弹---背景介绍

news2025/1/19 22:03:23

个人主页: 熬夜学编程的小林

💗系列专栏: 【C语言详解】 【数据结构详解】【C++详解】【Linux系统编程】

目录

1、Linux 背景介绍

1.1、发展史

1.1.1、UNIX发展的历史

1.1.2、Linux发展历史

2、开源精神

3、Linux内核官网

4、企业应用现状

5、发行版本

6、操作系统概念

总结


1、Linux 背景介绍


1.1、发展史


我们暂时学习的是Linux系统编程,uu们可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史。要说Linux,还得从UNIX说起。


1.1.1、UNIX发展的历史


★ 1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。


★ 1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX就是一个有价值的、高效的、多用户和多任务的操作系统。


★ UNIX从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。
第一个UNIX版本是免费给许多知名大学的计算机系使用的。


★ 1972年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。


★ 1975年伯克莱由下属部门BSD发行了自己的UNIX版本。UNIX的BSD版本成为AT&T贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX版本也开始萌生。

★ 1980年微软公司开发了叫做Xenix的UNIX PC版本。AT&T发行了第一个商业版本。名叫System Ⅲ,后来被成为对商用软件产品良好支持的System Ⅴ所替代。

★ 同时UNIX的BSD版本不断发展,在70年代末期,BSD UNIX成为了国防部的高科技研究机构科研项目的基础。其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本。

★ 它包括了高级的文件管理器和基于TCP/IP网络协议的网络特点。现在TCP/IP被Internet所使用。BSD Release4.2被许多厂商所采用,例如SUN Microsystem。
UNIX不同版本的出现导致了UNIX标准的需要,软件开发商不知道他们的程序运行在哪些版本上比较合适。

★ 到80年代中期,两个竞争的标准出现了,一个是基于AT&T的UNIX版本,另一个是BSD版本。在今天的书店里你能发现分别适用于这两个版本的不同的UNIX的书,一些是System V,另一些集中在BSD UNIX。
AT&T建立了一个叫UNIX系统实验室的新组织,它的作用就是综合UNIX的不同版本,集中开发一个标准系统。

★ 1991年,UNIX综合实验室综合了System V Release3,SUN OS和Xenix的所有特点,发行了System V Release4。为了与System V Release 4 竞争,一些其它公司,如IBM和惠普Open Software Foundation(OSF)去产生自己的UNIX标准版本,继而出现了两个标准商业版本OSF版本和System Release 4。

★ 1993年,AT&T把它的UNIX转卖给Novell公司。UNIX系统实验室成为了Novell的UNIX系统小组的一部分。Novell发行了基于System V Release 4的自己的UNIX版本UNIXWare,它可以和Novell公司的Netware系统相联。SUN公司已经把System V Release 4 融进了它的SUN OS,发行了Solaris。两个相互竞争的UNIX使用的图形用户界面(一个叫Motif,另一个叫Openlook),已经合并为一个新的工作平台标准,叫做通用平台环境(CDE)。


1.1.2、Linux发展历史


★ 1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组
(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。读者也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。Linus仅仅在第一个Linux的FTP站点(ftp://nic.funet.fi)上提供过这个版本的的源代码。


★ Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。;

★ Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994年公布的。

2、开源精神

Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。


★ GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程序自由软件的定义, 任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。

★ Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词。


3、Linux内核官网

kernel官网icon-default.png?t=N7T8https://www.kernel.org/



4、企业应用现状


Linux在服务器领域的发展

随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。
据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。


Linux在桌面领域的发展

近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。


Linux在移动嵌入式领域的发展

Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。此外,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系统“YunOS”,可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。


Linux在云计算/大数据领域的发展

互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。


5、发行版本


Debian

Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。

Ubuntu

Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定爱不释手的一款操作系统。
红帽企业级Linux 这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。


CentOS

CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。


Fedora

小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。


Kali Linux

Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。
毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系统。


6、操作系统概念

操作系统的概念:操作系统是一款进行软硬件资源管理的软件。让用户能够进行更好的操作系统。

 

总结


本篇博客就结束啦,谢谢大家的观看,如果公主少年们有好的建议可以留言喔,谢谢大家啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1587771.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL Serve---查询

概要 1、order by子句 —默认asc(升序)、desc(降序) 2、distinct关键字 3、group by子句 4、聚合函数 —max()、min()、sum()、avg()、count() 5、having子句 6、compute子句 英文关键字 order by 排序 asc…

中国平安金融壹账通交付管理中心总经理崔羽先生受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 中国平安金融壹账通交付管理中心总经理崔羽先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“项目管理成与败,人才是第一要素”。大会将于5月25-26日在北京举办,敬请关注! 议题简要…

玄子Share-使用 Pycharm 执行 Shell 脚本

玄子Share-使用 Pycharm 执行 Shell 脚本 Why? 为什么我要使用 Pycharm 执行 Shell 脚本呢,我直接使用 Linux 不行吗? 使用 Pycharm 执行 Shell 脚本的好处 我们的宿主机都是 WIndows 平台,若想编译 Shell 脚本,我…

关于SpringCloud,你了解多少?

Why SpringCloud? Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一…

前端js基础知识(八股文大全)

一、js的数据类型 值类型(基本类型):数字(Number)、字符串(String)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol,大数值类型(BigInt) 引用数据类型:对象(Object)、数组…

使用Python写接口压测1软件安装

每一个新的东西,学习都是从软件安装开始,第一个章节老生常谈,但不是所有同学都是解除过得,所以从零开始吧! 官网 https://www.python.org/下载-我是windows,下载其他根据自己系统; 点击下载 安装 下一步 简…

常用的苹果应用商店上架工具推荐

摘要 移动应用app上架是开发者关注的重要环节,但常常会面临审核不通过等问题。为帮助开发者顺利完成上架工作,各种辅助工具应运而生。本文探讨移动应用app上架原理、常见辅助工具功能及其作用,最终指出合理使用工具的重要性。 引言 移动应…

OpenHarmony南向开发-Docker编译环境

Docker环境介绍 OpenHarmony为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。两种Docker环境及适用场景如下: 独立Docker环境:适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。 基于HPM的Docker…

书客、月影、欧普护眼大路灯哪款好?三款落地灯真实对比测评

作为在照明电器领域资深的评测员,我对市面上各种新颖的照明家电有着深入的探索和研究。大路灯能够提供舒适健康的照明光线,目前正受到许多用眼人群的广泛欢迎。,当然随着大路灯的普及,市场中也充斥着一些低劣的大路灯产品&#xf…

JetBrains WebStorm 2024.1 发布 - 最智能的 JavaScript IDE

JetBrains WebStorm 2024.1 发布 - 最智能的 JavaScript IDE 请访问原文链接:JetBrains WebStorm 2024.1 (macOS, Linux, Windows) - 最智能的 JavaScript IDE,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org JetBr…

BI数据分析软件:行业趋势与功能特点剖析

随着数据量的爆炸性增长,企业对于数据的需求也日益迫切。BI数据分析软件作为帮助企业实现数据驱动决策的关键工具,在当前的商业环境中扮演着不可或缺的角色。本文将从行业趋势、功能特点以及适用场景等方面,深入剖析BI数据分析软件&#xff0…

Oracle体系结构:聊聊session与process

提前声明:本篇文章讨论的是专用服务器模式下的session和process;不讨论共享服务器模式,因为共享服务器现在真的应用的很少了,独占才是主流。共享服务器往往都是用在资源紧张的场合 ,而且独占服务器模式有独立的PGA&…

spring04:注解使用

spring04:注解使用 文章目录 spring04:注解使用前言:一、 Autowired Qualifier和 Resource 和 nullable1. Autowired 2. Resource :使用在类的属性上面(和Autowired类似)3. nullable 二、 Component 和 Re…

bugku-web-你从哪里来

这里就这一句话提示,问我是不是谷歌的? 用谷歌浏览器访问 没看见什么变化 抓包查看 没有变化 这时我想到爬虫中的反爬策略中有一种,判断请求的当前界面来判断用户的起始判断位置 这时抓取报文 GET / HTTP/1.1 Host: 114.67.175.224:1516…

C++初阶:反向迭代器

reverse_iterator的封装实现 Reverse_Iterator.h namespace xx {// 所有容器的反向迭代器// 迭代器适配器template<class Iterator, class Ref, class Ptr>struct Reverse_iterator{Iterator _it;typedef Reverse_iterator<Iterator, Ref, Ptr> Self;Reverse_iter…

MySQL索引优化方法(1/16)

索引优化方法 基本概述 MySQL中有几种索引&#xff1a; 主键索引&#xff08;Primary Key Index&#xff09;&#xff1a;每个表都有一个主键&#xff0c;主键索引是自动创建的唯一索引。它通常是聚簇索引&#xff08;在索引树的叶子结点中存储的是需要查找的数据&#xff0…

C++的并发世界(九)——条件变量

0.绪论——单例模型 单例设计模式是一种常见的设计模式&#xff0c;用于确保某个类只能创建一个实例。由于单例实例是全局唯一的。因此在多线程环境中使用单例模式时,需要考虑线程安全的问题。 1.消费者设计模式 2.condition_variable使用步骤 ①准备好信号量 std::conditio…

基于Spring Boot的旅游管理系统设计与实现

基于Spring Boot的旅游管理系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 旅游方案&#xff0c;用户通过旅游方案可以查看方案编号…

护眼台灯对眼睛有危害吗?比较好的台灯推荐

护眼台灯对眼睛有危害吗&#xff1f;我相信这应该是很多家长所关心的一件事&#xff0c;毕竟现在的孩子近视率实在太高了&#xff0c;而台灯作为夜晚学习不可或缺的一盏照明灯具&#xff0c;光源品质的好坏对眼睛的影响是非常大的&#xff01; 尤其是在这鱼龙混杂的台灯市场上…

Linux:Redis7.2.4的简单在线部署(1)

注意&#xff1a;我写的这个文章是以最快速的办法去搭建一个redis的基础环境&#xff0c;作用是为了做实验简单的练习&#xff0c;如果你想搭建一个相对稳定的redis去使用&#xff0c;可以看我下面这个文章 Linux&#xff1a;Redis7.2.4的源码包部署&#xff08;2&#xff09;-…