Linux基础知识(一、什么是Linux)

news2024/9/28 15:23:42

一、Linux之父——林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)

        Linux操作系统最初是在1991年10月份由芬兰赫尔辛基大学的在校生Linus Torvalds所发布,最初被发布的LINUX0.02版本因其高质量的代码与开放源代码,迅速引起了一大批黑客的加入,而今虽然有数百计的 Linux发布版,但都依然统一使用Linus Torvalds.开发/维护的系统内核,Linux是具有类似Unix的程序界面与操作方法且继承了其稳定性(通常运行几年都不会宕机)。

二、什么是Linux

Linux 可大致划分为以下四部分:
1、Linux 内核
2、GNU 工具
3、图形化桌面环境
4、应用软件

 1、Linux内核

        Linux系统的核心是 内核 。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,
并根据需要执行软件。
内核主要负责以下四种功能:

1.1、系统内存管理

        操作系统内核的主要功能之一就是内存管理。内核不仅管理服务器上的可用物理内存,还可
以创建和管理虚拟内存(即实际并不存在的内存)。
内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为 交换空间 swap space)。内核不
断地在交换空间和实际的物理内存之间反复交换虚拟内存中的内容。这使得系统以为它拥有比物
理内存更多的可用内存。

        内存存储单元按组划分成很多块,这些块称作页面 page )。内核将每个内存页面放在物理
内存或交换空间。然后,内核会维护一个内存页面表,指明哪些页面位于物理内存内,哪些页面
被换到了磁盘上。
        内核会记录哪些内存页面正在使用中,并自动把一段时间未访问的内存页面复制到交换空间
区域(称为 换出 swapping out )——即使还有可用内存。当程序要访问一个已被换出的内存页
面时,内核必须从物理内存换出另外一个内存页面给它让出空间,然后从交换空间换入请求的内
存页面。显然,这个过程要花费时间,拖慢运行中的进程。只要 Linux 系统在运行,为运行中的
程序换出内存页面的过程就不会停歇。

1.2、软件程序管理

        Linux操作系统将运行中的程序称为 进程 。进程可以在前台运行,将输出显示在屏幕上,也
可以在后台运行,隐藏到幕后。内核控制着 Linux 系统如何管理运行在系统上的所有进程。
内核创建了第一个进程(称为 init 进程 )来启动系统上所有其他进程。当内核启动时,它会
init 进程加载到虚拟内存中。内核在启动任何其他进程时,都会在虚拟内存中给新进程分配一
块专有区域来存储该进程用到的数据和代码。
一些 Linux 发行版使用一个表来管理在系统开机时要自动启动的进程。在 Linux 系统上,这个
表通常位于专门文件 /etc/inittab 中。
        Linux操作系统的 init 系统采用了运行级。运行级决定了 init 进程运行 /etc/inittab 文件或
/etc/rcX.d 目录中定义好的某些特定类型的进程。 Linux 操作系统有 5 个启动运行级。
运行级为 1 时,只启动基本的系统进程以及一个控制台终端进程。我们称之为 单用户 模式。
单用户模式通常用来在系统有问题时进行紧急的文件系统维护。显然,在这种模式下,仅有一个
人(通常是系统管理员)能登录到系统上操作数据。
        标准的启动运行级是3 。在这个运行级上,大多数应用软件,比如网络支持程序,都会启动。
另一个 Linux 中常见的运行级是 5 。在这个运行级上系统会启动图形化的 X Window 系统,允许用
户通过图形化桌面窗口登录系统。
        Linux系统可以通过调整启动运行级来控制整个系统的功能。通过将运行级从 3 调整成 5 ,系
统就可以从基于控制台的系统变成更先进的图形化 X Window 系统。

1.3、硬件设备管理

        内核的另一职责是管理硬件设备。任何Linux 系统需要与之通信的设备,都需要在内核代码
中加入其驱动程序代码。驱动程序代码相当于应用程序和硬件设备的中间人,允许内核与设备之
间交换数据。在 Linux 内核中有两种方法用于插入设备驱动代码:
①编译进内核的设备驱动代码
可插入内核的设备驱动模块
        以前,插入设备驱动代码的唯一途径是重新编译内核。每次给系统添加新设备,都要重新编
译一遍内核代码。随着 Linux 内核支持的硬件设备越来越多,这个过程变得越来越低效。不过好
Linux 开发人员设计出了一种更好的将驱动代码插入运行中的内核的方法。
开发人员提出了内核模块的概念。它允许将驱动代码插入到运行中的内核而无需重新编译内
核。同时,当设备不再使用时也可将内核模块从内核中移走。这种方式极大地简化和扩展了硬件
设备在 Linux 上的使用。
Linux 系统将硬件设备当成特殊的文件,称为 设备文件 。设备文件有 3 种分类:
1、字符型设备文件:
        字符型设备文件是指处理数据时每次只能处理一个字符的设备。大多数类型的调制解调器和 终端都是作为字符型设备文件创建的。
2、块设备文件:
        块设备文件是指处理数据时每次能处理大块数据的设备, 比如硬盘。
3、 网络设备文件:
        网络设备文件是指采用数据包发送和接收数据的设备,包括各种网卡和一个特殊的回环设
备。这个回环设备允许 Linux 系统使用常见的网络编程协议同自身通信。

1.4、文件系统管理

        不同于其他一些操作系统,Linux 内核支持通过不同类型的文件系统从硬盘中读写数据。除
了自有的诸多文件系统外, Linux 还支持从其他操作系统(比如 Microsoft Windows )采用的文件
系统中读写数据。内核必须在编译时就加入对所有可能用到的文件系统的支持。表 1-1 列出了
Linux 系统用来读写数据的标准文件系统。

2.核心GNU工具

        GNU项目的主旨在于为 Unix 系统管理员设计出一套类似于 Unix 的环境。这个目标促使该项目
移植了很多常见的 Unix 系统命令行工具。供 Linux 系统使用的这组核心工具被称为 coreutils core
utilities)软件包。GNU coreutils软件包由三部分构成:用以处理文件的工具、用以操作文本的工具、用以管理进程的工具。
        GNU/Linux shell是一种特殊的交互式工具。它为用户提供了启动程序、管理文件系统中的文
件以及运行在 Linux 系统上的进程的途径。 shell 的核心是命令行提示符。命令行提示符是 shell 负责
交互的部分。它允许你输入文本命令,然后解释命令,并在内核中执行。
        shell包含了一组内部命令,用这些命令可以完成诸如复制文件、移动文件、重命名文件、显
示和终止系统中正运行的程序等操作。 shell 也允许你在命令行提示符中输入程序的名称,它会将
程序名传递给内核以启动它。
        你也可以将多个shell 命令放入文件中作为程序执行。这些文件被称作 shell 脚本 。你在命令行
上执行的任何命令都可放进一个 shell 脚本中作为一组命令执行。这为创建那种需要把几个命令放
在一起来工作的工具提供了便利。

3.Linux 桌面环境

        在Linux 的早期( 20 世纪 90 年代初期),能用的只有一个简单的 Linux 操作系统文本界面。这
个文本界面允许系统管理员运行程序,控制程序的执行,以及在系统中移动文件。
        完成工作的方式不止一种,Linux 一直以来都以此而闻名。在图形化桌面上更是如此。 Linux
有各种图形化桌面可供选择。常见桌面有如下几种
1. X Window 系统
2. KDE 桌面
3. GNOME 桌面
4. Unity 桌面
5. 其他桌面

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

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

相关文章

空间旋转与四元数

参考资料:https://krasjet.github.io/quaternion/quaternion.pdf 一、二维空间与复数 已知复数 z a b i zabi zabi,我们规定其向量表示形式为 [ a b ] \left [ \begin{matrix}a\\b\end{matrix}\right ] [ab​]。我们可以将其看成是复数域的两个基底 {…

【生日视频制作】美女举牌变魔术卡牌AE模板修改文字软件生成器教程特效素材【AE模板】

美女举牌变魔术卡牌生日视频制作教程AE模板改字软件生成器素材 怎么如何做的【生日视频制作】美女举牌变魔术卡牌AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤: 安装AE软件 下载AE模板 把AE模板导入AE软件 修改图片或文字 渲染出视频

活动|华院计算惊艳亮相第十届博博会,以AI驱动数智文博

2024年8月23日至26日,第十届“中国博物馆及相关产品与技术博览会”(以下简称“博博会”)花落草原都市内蒙古自治区呼和浩特市敕勒川国际会展中心。“博博会”自2004年创办以来,已成功在多个城市举办,成为我国文博界最具…

C语言 ——— 文件的随机读写

目录 学习并使用fseek函数​编辑 学习并使用ftell函数​编辑 学习并使用rewind函数​编辑 学习并使用fseek函数 函数的功能: 根据文件指针的位置和偏移量来定位文件指针 函数的参数: FILE* stream:文件类型的指针 long int offset&am…

英飞凌HSM内核开发-软件工程介绍

介绍 一个具有HSM核心的安全软件解决方案至少由两个项目组成: 一个用于HSM(即“veHsm配置”)。一个用于主机(即“主机配置”)。 如果主机核心上的软件包含第三个AUTOSAR基础软件(BSW)堆栈&#…

无人机校企合作:组装、维修、研发全面提升学生技能方好就业

无人机校企合作在组装、维修、研发等方面全面提升学生技能,进而促进学生就业,是一个具有前瞻性和实践性的教育模式。以下是对该合作模式的详细分析: 一、合作背景与意义 随着无人机技术的快速发展和广泛应用,市场对无人机专业人…

行情能反转吗?想开个两融账户融资融券利率最低多少?

今日早盘指数放量大涨,走出大阳线。电子板块表现活跃,银行板块表现落后。截止11点30分,上证指数涨1.34%,深成指涨2.80%,创业板指涨3%,北证50指数涨2.38%。市场放量上涨是否迎来拐点?不妨大胆预测…

指针初阶(数组指针与二维数组)

0.二维数组特性 ①.存储格式 二维数组,在存储空间内的存储顺序是连续存储,按行优先存。 假设定义一个2X3的数组,其在存储空间的存储格式如下: ②.表示方法 且二维数组还有一个特性,例如有二维数组 a[3][2] ,那么 a[0] …

关于SSL认证后出现的http和https无法同时访问问题

--痛苦是人最好的试金石 Pain is mans best litmus test 问题: 我现在在我的Tomcat上面加了一个SSL 认证,但是我就是指认证了一个xxx.xxx.com的域名,我其他的域名 也在同一个server.xml配置文件中,现在xxx.xx.com可以https可以使用…

策略模式+模版方法模式+简单工厂模式混用优化代码复杂分支问题

说明 这篇博客是在复杂场景使用策略和工厂模式代替分支语句升级版,增加了模版方法模式。将支付类的公共逻辑抽取到模板类中,使整个支付逻辑更加灵活,进一步优化了代码结构,提升了软件的可维护性和可读性。 流程图如下 先看一遍流…

接口自动化面试题放送,助你离Offer又近一步

Hi,大家好,网传金九银十,其实只要技术过硬,准备充分,任何时候都是找工作的黄金时期。时值五月,今天继续分享一波接口自动化面试题,为你的面试助攻,欢迎在留言区评论喔。 请问你是如…

大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

全新一代理想智能驾驶开启万人体验团招募,OTA 6.2正式全量推送

核心信息: 无图NOA正式推送后,截至7月30日,理想汽车城市NOA日均里程提升3倍,城市NOA日均活跃度提升8倍理想全国门店开启无图NOA试驾后,门店NOA试驾率实现倍增,30万元以上车型AD Max销量占比达到70%理想端到…

NoSQL:数据库领域的“新潮力量”——从起源到未来的全面解析

引言 曾几何时,关系型数据库(RDBMS)就是数据管理的“老大哥”,一统江湖,所向披靡。然而,随着大数据时代的到来,数据量像火箭般飙升,数据的形态也变得越来越“随性”,传统…

一文盘点:性能测试常见的7大指标(文末送性能测试题库)

01性能指标分类 系统性能指标 资源性能指标 中间件指标 数据库指标 稳定性指标 可扩展性指标 可靠性指标 1、系统性能指标 响应时间 系统处理能力 吞吐量 并发用户数 错误率 2、资源性能指标 CPU 內存 磁盘吞吐量 网络吞吐量 3、中间件指标 常用的中间件例如…

webstorm最新激活码

最智能的 JavaScript IDE WebStorm 是一个适用于 JavaScript 和相关技术的集成开发环境。类似于其他 JetBrains IDE,它也会使您的开发体验更有趣,自动执行常规工作并帮助您轻松处理复杂任务。 激活码获取地址 https://web.52shizhan.cn/activity/webs…

微信小程序用web-view实现内嵌h5页面

需求: 在微信小程序里面使用web-view内嵌一个h5页面,并且从h5页面还可以跳到小程序的某个页面 目录 需求: 小程序web-view内嵌h5页面 配置: code: 在h5页面跳转到小程序的某个页面 嵌入sdk: code&…

servlet的过滤器filter和springmvc的拦截器Interceptor

背景 Servlet的过滤器(Filter)和Spring MVC的拦截器(Interceptor)都是用于在请求处理过程中对请求进行拦截和处理的组件。它们之间的主要区别在于它们的作用范围和使用方式。 作用范围 Filter:过滤器是基于Servlet规范…

性价比运动耳机排行榜有哪些上榜?排行榜五大人气机型分享!

开放式蓝牙耳机最近异常火热,不是因为开放式耳机技术含量有多高,而是它从另一个层面,给了很多追求佩戴舒适,又讲究卫生、安全的玩家一种完美的方案。相对于入耳式耳机它又有独特的视听魅力。相比传统入耳式耳机,开放式…

运动耳机哪个牌子的质量好?五款口碑绝佳机型安利!

​现在耳机市场上,开放式耳机因为外观时尚、戴着舒服,成了大家日常爱用的热门货。但是,市面上的开放式耳机品牌多得眼花缭乱,质量也是高低不一,让人挑花了眼。作为一个搞了三年耳机评测的博主,我还是个耳机…