【Linux系统编程】Linux背景知识-程序员宅基地

技术标签: Linux系统编程  运维  linux  服务器  

前言

hello hello~ ,这里是大耳朵土土垚~ ,欢迎大家点赞关注收藏
在这里插入图片描述

个人主页大耳朵土土垚的博客
所属专栏Linux系统编程
这里将会不定期更新有关Linux系统编程有关的内容,希望大家多多点赞关注收藏

1.操作系统(os)

  • 操作系统(Operating system)是计算机系统中的一个重要组成部分,它是管理计算机硬件和软件资源的程序。使计算机更好用! 这是操作系统的根本要义!!

Linux操作系统是一个免费且开源的操作系统,它基于Unix操作系统。Linux最早由Linus Torvalds在1991年开发,之后成为计算机爱好者、开发者和企业的流行选择。

  • 操作系统的主要功能包括:管理和分配计算机的硬件资源,如处理器、内存、磁盘和网络设备;提供用户界面,使用户可以与计算机系统交互;管理和执行应用程序,控制和协调进程的执行;提供文件系统,管理文件的存储和访问;提供网络功能,支持计算机之间的通信等。
    在这里插入图片描述

  • 操作系统可以分为不同的类型,常见的操作系统包括Windows、macOS、Linux等。

2.Linux发展史

在这里简要介绍Linux的发展史。要说Linux,还得从UNIX开始介绍。

2.1UNIX发展史

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 Release 4.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 Release 4。
  • 为了与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)

2.2Linux发展史

  • Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。
  • 严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。
  • Linux的发展史可以追溯到1991年,当时芬兰的计算机科学学生Linus Torvalds开始开发一种新的操作系统内核。这个内核最初被命名为“Freax”,后来改名为“Linux”。
  • Linux的发展是一个开源的、协作的过程,许多人对其发展做出了重要贡献。随着时间的推移,Linux的发展得到了越来越多的关注和支持。许多公司和个人都开始为Linux贡献代码和开发新的功能。
  • 1991年至1993年期间,许多人开始使用Linux,并且组织起来为Linux编写额外的软件和工具。这些努力使得Linux逐渐成为一种强大的操作系统。
  • 1994年,第一个Linux发行版Debian发布,这标志着Linux发展史上的一个重要里程碑。随后,Red Hat、SUSE等公司也推出了自己的Linux发行版。
  • 在1990年代后期和2000年代早期,Linux逐渐成为服务器和企业应用的首选操作系统。它的稳定性、安全性和可扩展性使得更多企业愿意将自己的系统迁移到Linux平台上。
  • 在移动设备领域,Android操作系统的成功也是建立在Linux内核之上的。Android成为了手机和平板电脑市场的主要操作系统之一。
  • 此外,Linux还应用于嵌入式系统、超级计算机、云计算等领域,展示了其广泛的适用性和灵活性。
  • 目前,Linux已经成为全球最流行的操作系统之一。它的发展史也展示了开源软件的力量,以及众多开发者和社群的协作精神。

3.Linux开源

Linux是一个开源的操作系统,这意味着其源代码是公开的,任何人都可以查看、修改和分发。Linux内核本身就是开源的,这使得全世界的开发者都可以贡献代码,改进操作系统的功能和性能。

开源的优势:

  1. Linux的开源性带来了很多好处。首先,任何人都可以查看和审阅Linux的源代码,这确保了系统的透明性和安全性。开源软件允许独立的安全专家和审计者检查代码中的漏洞和安全问题,帮助及时修复和解决。
  2. 其次,Linux的开源性鼓励了创新和技术发展。任何人都可以自由地为Linux贡献代码和开发新功能,这促进了不断的改进和进步。开源性还鼓励了合作和共享,使得全球的开发者能够共同努力,推动Linux的发展。
  3. 此外,开源软件也有助于降低成本和提高效率。因为Linux是免费的,企业和个人可以节省购买商业操作系统的费用。开源软件也可以根据特定需求进行定制,提供更灵活、可扩展的解决方案。
  4. 最后,开源社区也是Linux开源性的一个重要组成部分。Linux社区是一个开放、合作和积极的社群,通过邮件列表、论坛、会议等渠道,开发者可以互相交流、分享经验和解决问题。

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

总的来说,Linux的开源性是其成功和广泛应用的重要原因之一。开源模式促进了自由、安全、创新和共享,使得Linux成为世界上最受欢迎的操作系统之一。

4.Linux官网

Linux内核的官方网站是kernel官网:https://www.kernel.org/。在这个网站上,你可以找到关于Linux内核的各种信息,包括最新版本的发布、下载源代码、补丁、文档、邮件列表、社区支持等。

Linux官网是指Linux操作系统及相关项目的官方网站。由于Linux是一个开源项目,因此有很多不同的Linux发行版和相关的项目,每个项目都有自己的官方网站。

以下是一些知名的Linux发行版和项目的官方网站:

  1. Ubuntu: https://ubuntu.com/
  2. Fedora: https://getfedora.org/
  3. Debian: https://www.debian.org/
  4. CentOS: https://www.centos.org/
  5. Arch Linux: https://www.archlinux.org/
  6. Linux Mint: https://www.linuxmint.com/
  7. openSUSE: https://www.opensuse.org/
  8. Gentoo Linux: https://www.gentoo.org/
  9. KDE: https://kde.org/
  10. GNOME: https://www.gnome.org/

这些官方网站提供了关于各个发行版和项目的详细信息,包括下载、安装指南、文档、社区支持、最新版本发布等。通过官方网站,你可以了解每个Linux发行版的特点、功能和用途,并下载和安装适合自己的版本。

此外,还有一些其他的Linux相关网站,如Linux Foundation(https://www.linuxfoundation.org/)和Linux.com(https://www.linux.com/),它们提供更全面的Linux生态系统信息、新闻、培训和认证等内容。

需要注意的是,Linux的开源性质意味着任何人都可以创建和分发自己的Linux发行版或项目,因此还有很多非官方的Linux网站存在。对于非官方网站,建议谨慎对待,确保从可靠和受信任的来源下载和获取信息。

5.企业应用现状

Linux在企业应用方面的现状非常强劲。随着时间的推移,企业对于Linux的采用率不断增加,因为Linux提供了一系列的优势和特点,使其成为许多企业首选的操作系统。

以下是一些展示Linux在企业应用中的现状的主要方面:

  • 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成为最受青睐的云计算、大数据平台操作系统。

总体而言,Linux在企业应用方面的发展势头良好。越来越多的企业认识到Linux所提供的优势,并将其作为构建可靠、安全和高效的企业级应用的首选系统。

6.Linux发行版本

Linux有众多的发行版本,被称为Linux发行版(Linux distribution)。每个发行版本都基于Linux内核,并包含一系列的软件、工具和应用程序,以提供完整的操作系统。

以下是一些主要的Linux发行版本:

  1. Ubuntu:最受欢迎和广泛采用的Linux发行版之一,基于Debian,注重易用性和用户友好性。

  2. Fedora:由Fedora社区开发和维护,注重最新的软件和技术,用于桌面和服务器环境。

  3. Debian:非常稳定和可靠的发行版,以其广泛的软件包库和社区驱动的发展而闻名。

  4. CentOS:基于Red Hat Enterprise Linux (RHEL) 的开源版本,致力于提供稳定性和安全性。

  5. Arch Linux:面向高级用户和技术爱好者的发行版,注重简单性和自定义性。

  6. openSUSE:可用于桌面、服务器和嵌入式设备的稳定和灵活的发行版。

  7. Slackware:最早的Linux发行版之一,注重简单性和稳定性。

在这里插入图片描述

除了上述发行版本之外,还有许多其他的小型和专业领域的Linux发行版,以满足不同用户和应用的需求。这些发行版通常基于主流的发行版,但进行了特定的定制和优化。

7.结语

Linux的一个主要优势是其可定制性。用户可以自由修改和定制操作系统以适应他们的需求。此外,Linux以其稳定性和安全性而闻名,这使其成为服务器和其他关键系统的热门选择。以上就是Linux有关的背景知识啦~ 完结撒花 ~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Renswc/article/details/138082291

智能推荐

Kendo UI SPA文档-程序员宅基地

文章浏览阅读49次。Kendo UI单页面程序中文文档 Kendo UI SPA Documentation(translated from the official site) 概览...

LARGE LANGUAGE MODELS AS TRAFFIC SIGNAL CONTROL AGENTS: CAPACITY AND OPPORTUNITY_llmlight: large language models as traffic signal -程序员宅基地

文章浏览阅读445次,点赞7次,收藏7次。交通信号控制对于通过调节红绿灯相位来优化道路网络的效率至关重要。现有的研究主要集中在基于启发式或强化学习(RL)的方法上,这些方法往往缺乏在不同交通场景中的可转移性,并且具有较差的可解释性。本文介绍了一种利用大型语言模型(LLM)执行交通信号控制任务的新方法LLMLight。通过利用LLM令人印象深刻的泛化和零样本推理能力,LLMLight执行了一个人性化的决策过程,以实现高效的交通管理。具体来说,该框架首先将任务描述、当前交通状况和先验知识组合到提示中。_llmlight: large language models as traffic signal controlagents 译文

什么是GNU?GNU/Linux和Linux有何区别?_linux和gnu-程序员宅基地

文章浏览阅读508次,点赞8次,收藏7次。GNU工程的目标,是构建一个包括内核在内的操作系统生态。GNU工程也在开发一个操作系统内核,叫hurd,但是开发不是很顺利,后来Linus Torvalds编写一个类似Unix的内核(Linux) ,这样,整个操作系统的组件就齐全了,GNU/Linux操作系统就发布了。GNU工程一个巨大的工程:开发一整套操作系统,包括内核、编译器、调试器、开发工具、应用软件等,绝非一个人或一个团队所能完成的,因此在1985年10月,成立了自由软件基金会,它初期用来给GNU募集资金。GNU与GNU Linux。_linux和gnu

vscode 更新后报错 Couldn‘t start dlv dap_couldn't start dlv dap-程序员宅基地

文章浏览阅读8.7k次,点赞2次,收藏6次。visio studio code port` is ignored with the 'dlv-dap'解决方法:在配置文件中加上, "debugAdapter":"legacy",参考博文:https://gitee.com/snow2zhou/vscode-go/blob/master/docs/dlv-dap.md_couldn't start dlv dap

[Java教程 25] 二维数组定义详解_java二维数组的定义-程序员宅基地

文章浏览阅读4.1k次,点赞5次,收藏10次。转载声明:商业转载请联系作者获得授权,非商业转载请注明出处.原文来自 呆萌钟【JavaSe必知必会】27-二维数组定义详解 二维数组概述二维数组其实就是一个元素为一维数组的数组。二维数组定义格式格式1数据类型[][] 变量名 = new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 n表示每一个一维数组的元素个数 举例: int[][] arr =..._java二维数组的定义

python怎样控制继电器_Python 控制220V ??? 老板,你没看错!-程序员宅基地

文章浏览阅读643次。这是武散人著《自拍教程》(自动化测试Python教程)系列第60篇文章。重要提醒:本案例涉及220v危险电压上电下电测试,存在安全风险,请切勿随意尝试!!!案例故事 很多移动终端都不带电池,都是直接电源插头供电,比如Android电视机(220v),小米小爱同学智能音箱(220v转5v的电源转换器),智能后视镜(12v)等智能终端设备,Android家庭信息机平板(5v),还有电饭煲,微波炉,空调..._python实现继电器对android手机进行上下电

随便推点

C语言结构体指针与结构体变量作形参的区别_形参是结构体指针-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏23次。区别结构体变量结构体变量作为函数参数,传递的是结构体变量本身,是一种值传递形参结构体变量成员值的改变不影响对应的实参构体变量成员值的改变结构体指针结构体指针作为函数参数,传递的是指向结构体变量的本身结构体指针指向的变量成员值的改变影响对应的实参构体变量成员值的改变代码直接说有些抽象难懂,敲代码演示一遍就很清楚了#include <stdio.h>#include <stdlib.h>#include <string.h>struct st_形参是结构体指针

模冗余系统_模冗余系统可靠度-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏8次。m模冗余系统由m个(m=2n+1为奇数)相同的子系统和一个表决器组成,经过表决器表决后,m个子系统中占多数相同结果的输出作为系统的输出,如图1-8所示。┇ 图1-8 模冗余系统在m个子系统中,只有n+1个或n+1个以上子系统能正常工作,系统就能正常工作,输出正确结果。假设表决器是完全可靠的,每个子系统的可靠性为R0,则m模冗余系统的可靠性_模冗余系统可靠度

jar包的概念及作用_java中jar包到底是干嘛的-程序员宅基地

文章浏览阅读1.7w次,点赞18次,收藏41次。1.简单来说,jar包是对写好的类进行了打包。我们可以通过将jar包放到lib目录下来使用这些jar包中的类、属性和方法。2.专业解释,JAR文件是Java Archive File-java档案文件的简称,是与平台无关的文件格式,基于zip文件格式将许多文件合成一个压缩文件.jar,区别是比zip多了一个包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。3.作用JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可_java中jar包到底是干嘛的

如何查找是谁删除了服务器文件_服务器文件被删怎么查记录-程序员宅基地

文章浏览阅读9.8k次。如何查找指定文件被删除的记录?首先要记录到个人最好是在域环境内;在文件服务器运行输入gpedit.msc2.依次选择“计算机配置”—“Windows设置”—“安全设置”—“高级审核策略配置”—“系统审核策略”—“对象访问”—“文件审核系统”双击“审核文件系统”,勾选“成功”前往需要审核的文件夹,右键选择“属性”—“安全”—“高级”—“审核”—“添加”一般来说这里选择domain..._服务器文件被删怎么查记录

unity3d小技巧之锁定场景物体防止被误选中_unity hierarchy view 固定某个场景-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏7次。其实很多人应该早知道了,但是我今天才知道其实这个功能很实用,就像图层一样用过cg软件之类的人应该清楚当场景物体很多的时候需要有些物体可见调整视觉效果,但是不希望它们被选中影响其他物体所以希望一些物体在不同的“层”这个功能也正是unity中的层来控制的_unity hierarchy view 固定某个场景

图像去雾经典算法及代码链接_图像去雾免费代码网站-程序员宅基地

文章浏览阅读1.3w次,点赞15次,收藏125次。S.G. Narasimhan and S.K. Nayar, 多幅图像(同一场景不同时间、天气)去雾 主页NASA, Retinex理论增强,主页。 Ana Belén Petro总结了NASA的Retinex理论,源代码,不过不是matlab版本的。Kopf,Deep Photo: Model-Based Photograph Enhancement and Viewing,3D场景去雾,没..._图像去雾免费代码网站

推荐文章

热门文章

相关标签