【学习笔记】Linux(基础知识)

news2024/9/20 14:35:41

第1章 Linux概况

1.1 Linux起源

四个重要的支柱:
①Unix操作系统;
②Minix操作系统;
③GNU计划;
④Internet网络。

1. Unix操作系统

UNIX的诞生

1971年,用汇编语言首先开发成功16位UNIX系统
1973年,用C语言重写了UNIX系统

创始人:Ken Thompson & Dennis Ritchie

肯·汤普逊(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)是计算机科学领域的两位著名人物,他们在计算机科学和软件工程领域做出了重大贡献。
肯·汤普逊是 UNIX 操作系统的共同创始人之一。他与丹尼斯·里奇等人合作,参与了 UNIX 操作系统的开发工作。此外,他还对编程语言、编译器、操作系统和计算机安全等领域做出了杰出贡献。他的工作成果为计算机科学的发展做出了重要贡献,对后来的操作系统设计和实现产生了深远影响。
丹尼斯·里奇是 C 语言的共同创作者之一,也是 UNIX 操作系统的共同创始人。他与肯·汤普逊等人一起设计和实现了 UNIX 操作系统,并且是 C 语言的主要设计者之一。C 语言作为一种通用的高级编程语言,对计算机编程和软件开发产生了深远的影响,成为了广泛使用的编程语言之一。丹尼斯·里奇的贡献使得计算机软件开发变得更加灵活高效,为计算机科学和软件工程领域做出了重大贡献。
肯·汤普逊和丹尼斯·里奇的工作对整个计算机产业和软件行业都产生了深远的影响,他们被公认为计算机领域的杰出先驱和重要人物。

UNIX的源代码

UNIX 操作系统的早期版本是闭源的,只有少数学术机构和公司可以获取到 UNIX 的源代码。但在 1970 年代末和 1980 年代初,AT&T 公司决定将 UNIX 的源代码授权给一些学术机构,这样就使得更多的人能够接触到 UNIX 源代码,并进行进一步的研究和开发。
1983 年,AT&T 公司发布了 UNIX 第六版的源代码许可,并允许个人和组织使用这些源代码作为学术用途。这一举措在学术界和软件开发领域引起了巨大的影响,为后来的 UNIX 衍生版本和类 UNIX 系统的发展奠定了基础。
后来,由于历经不同厂商和组织的改进和扩展,UNIX 分化成了多个版本,如 BSD、System V 等。其中,BSD 版本的 UNIX 源代码被加州大学伯克利分校(UCB)开放,并成为了伯克利软件套件(Berkeley Software Distribution)。这使得更多的人可以访问到 UNIX 的源代码,并为 UNIX 的发展做出贡献。
现在,UNIX 的早期版本源代码已经成为历史文化遗产,部分版本的源代码成为了公共资源,供学术研究和个人学习之用。UNIX 的开放源代码许可为计算机科学领域的发展做出了重要贡献,也为后来的开源运动和自由软件运动奠定了基础。

2. Minix操作系统

Minix是一个微内核操作系统,最初由荷兰计算机科学家Andrew S. Tanenbaum开发。Minix的设计目标是教育和研究,因此它的内核非常精简,而且易于理解和修改。该操作系统的第一个版本发布于1987年,后来经过多次更新和改进。
Minix的设计受到了Unix的启发,但它并不是Unix的衍生物。Minix的源代码曾被用作操作系统教学材料,尤其是在教授操作系统课程时广泛使用。后来,Linus Torvalds在Minix的基础上开发了Linux内核,这使得Minix和Linux有着一定的渊源关系。
由于Minix的轻量级和可定制性,它在嵌入式系统和教育领域得到了广泛应用。同时,Minix也在学术界和业界引起了一定的关注,被用于研究和实验性质的项目中。
总的来说,Minix是一个具有教育和研究价值的操作系统,虽然在商业应用方面并不像Linux或Windows那样普及,但它在特定领域有着自己的一席之地。

官网:https://www.minix3.org/

3. GNU计划(GNU is Not Unix)

GNU计划是由Richard Stallman于1983年发起的一个自由软件运动,旨在为用户提供自由软件,并推广自由软件的理念和实践。其名称“GNU”是“GNU’s Not Unix”的缩写,意味着GNU是一个类Unix系统,但背后的哲学和实践是不同的。
GNU计划的核心目标是创建一个完全自由的操作系统,包含可以替代Unix的所有工具和应用程序。其中最重要的组件是GCC编译器,它是一种开源编译器,可将高级语言代码转换为可执行程序。此外,GNU还包括了许多其他组件,如GNU Emacs文本编辑器、GNU Bison解析器生成器、GNU Debugger调试器等等。
GNU计划强调软件的自由和开放性,这意味着用户可以自由地使用、复制、分发和修改软件,而不必受到版权或专利的限制。GNU计划的哲学深受自由软件基金会的影响,该组织成立于1985年,旨在推广自由软件的概念和实践,并保护用户的自由。
总的来说,GNU计划代表了一个强调自由和开放性的软件开发和分发模式,为自由软件的发展和推广做出了巨大的贡献。

1.2 Linux的内核版本

Linux版本分为:
Linux 内核版本 —— Linux主体
Linux distirbutions(发行版) —— Linux内核+应用程序

Linux 内核版本

Linux内核版本采用双轨制:稳定版开发版

Linux内核网址:https://www.kernel.org/

Linux 版本号说明

Linux 版本号说明

1.3 Linux的发行版本

国外

  1. Red Hat Enterprise Linux(RHEL)

     官网:https://www.redhat.com/en
    
  2. Fedora

     官网:https://fedoraproject.org/
    
  3. Centos

     官网:https://www.centos.org/
    
  4. Debian

     官网:https://www.debian.org/
    
  5. Ubuntu

     官网:https://cn.ubuntu.com/
    

国产

  1. Red Flag/红旗

     官网:https://www.chinaredflag.cn/
    
  2. 深度操作系统 (Deepin)

     官网:https://www.deepin.org/zh/acknowledgments/deepin/
    
  3. 中标麒麟

     官网:https://www.cs2c.com.cn/scheme/product/1.html
    

1.4 Linux的基本管理

Linux的CPU管理

  1. 是操作系统最核心的功能。
  2. 对CPU运行时间的合理分配管理。
  3. Linux主要采用分时方式管理CPU的运行时间。

Linux的存储管理

  1. 存储器分为内存外存两种
    操作系统的存储管理主要是指对内存的管理。</

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

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

相关文章

STM32的DMA的五大问题

1&#xff0c;DMA控制器的内部结构 STM32中的DMA控制器是一种用于在外设和存储器之间传输数据的专用硬件。DMA控制器的内部结构主要包括以下几个关键部分&#xff1a; 通道&#xff1a; DMA控制器可以有多个通道&#xff0c;每个通道独立管理一个数据传输任务。通道的数量取决于…

【解决】Windows 11检测提示电脑不支持 TPM 2.0(注意从DTPM改为PTT)

win11升级&#xff0c;tpm不兼容 写在最前面1. 打开电脑健康状况检查2. 开启tpm3. 微星主板AMD平台开启TPM2.0解决电脑健康状况检查显示可以安装win11&#xff0c;但是系统更新里显示无法更新 写在最前面 我想在台式电脑上用win11的专注模式&#xff0c;但win10不支持 1. 打…

[论文精读] 使用扩散模型生成真实感视频 - 【李飞飞团队新作,文生视频 新基准】

论文导读: 论文背景:2023年12月11日&#xff0c;AI科学家李飞飞团队与谷歌合作&#xff0c;推出了视频生成模型W.A.L.T&#xff08;Window Attention Latent Transformer&#xff09;——一个在共享潜在空间中训练图像和视频生成的、基于Transformer架构的扩散模型。李飞飞是华…

本地 SIEM 与云原生 SIEM:哪一种适合您?

安全信息和事件管理 (SIEM) 解决方案对于各种规模的组织监控其环境中的安全威胁至关重要。 SIEM 解决方案收集并审查来自不同来源&#xff08;例如防火墙、入侵检测系统和 Web 服务器&#xff09;的安全日志。随后可以利用这些数据来检测潜在威胁、检查安全事件并针对网络攻击…

ELADMIN - 免费开源 admin 后台管理系统,基于 Spring Boot 和 Vue ,包含前端和后端源码

一款简单好用、功能强大的 admin 管理系统&#xff0c;包含前端和后端源码&#xff0c;分享给大家。 ELADMIN 是一款基于 Spring Boot、Jpa 或 Mybatis-Plus、 Spring Security、Redis、Vue 的前后端分离的后台管理系统。 ELADMIN 的作者在 Github 和 Gitee 上看了很多的项目&…

什么是FPGA原型验证?

EDA工具的使用主要分为设计、验证和制造三大类。验证工作贯穿整个芯片设计流程&#xff0c;可以说芯片的验证阶段占据了整个芯片开发的大部分时间。从芯片需求定义、功能设计开发到物理实现制造&#xff0c;每个环节都需要进行大量的验证。 现如今验证方法也越来越多&#xff…

链路追踪详解(四):分布式链路追踪的事实标准 OpenTelemetry 概述

目录 OpenTelemetry 是什么&#xff1f; OpenTelemetry 的起源和目标 OpenTelemetry 主要特点和功能 OpenTelemetry 的核心组件 OpenTelemetry 的工作原理 OpenTelemetry 的特点 OpenTelemetry 的应用场景 小结 OpenTelemetry 是什么&#xff1f; OpenTelemetry 是一个…

Java常用注解

文章目录 第一章、Java注解与元数据1.1&#xff09;元数据与注解概念介绍1.2&#xff09;Java注解的作用和使用1.3&#xff09;注解的分类 第二章、Mybatis框架常用注解2.1&#xff09;Mybatis注解概览2.2&#xff09;常用注解MapperScanMapperSelectInsertUpdateDeleteParam结…

mysql的负向条件查询会不会使用索引

mysql的负向条件查询&#xff0c;例如not in&#xff0c;会不会使用索引&#xff1f; 其实&#xff0c;mysql还是会尽量利用索引。如果查询的列上有索引&#xff0c;并且索引能够覆盖查询所需的列&#xff0c;那么mysql可能会使用索引来获取结果&#xff0c;而不是进行全表扫描…

CentOS 7 部署frp穿透内网

本文将介绍如何在CentOS 7.9上部署frp&#xff0c;并通过示例展示如何配置和测试内网穿透。 文章目录 &#xff08;1&#xff09;引言&#xff08;2&#xff09;准备工作&#xff08;4&#xff09;frps服务器端配置&#xff08;5&#xff09;frpc客户端配置&#xff08;6&#…

从零到一:influxdb时序性数据库的基本概念与操作指南

目录 ​编辑 引言 数据库(database) 创建数据库 删除数据库 进入数据库 展示influxdb中所有数据库 测量&#xff08;measurement&#xff09; 写入测量 展示测量 总结 引言 InfluxDB是一个开源的时序数据库&#xff0c;专门设计用于处理时间序列数据。它是由InfluxD…

052:vue重新发布,软件热更新方面的一点经验示例

第052个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

Excel: Python 如何干掉 VBA 系列 乙

以下内容为本人的学习笔记&#xff0c;如需要转载&#xff0c;请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/k2XtfXS3GUt4r2QhizMOVg 创建工作表格 创建表格 xlwings 就可以协助创建插入了宏的 excel 表格。 先找到一个心满意足的目录&#xff0c;一般我…

随记-nginx docker + SSL 配置 - 配置等资源挂宿主机

随记-Nginx docker SSL 配置 - 配置等资源挂宿主机等 笔者动手配置&#xff0c;随手写的笔者&#xff0c;保证可操作 话说现在padmon是不是已经有代替docker的趋势了&#xff0c;谁能告诉我一把&#xff1f; 配置前准备 # 拉取nginx镜像 docker pull nginx #启动(暂时) doc…

DevEco Studio 鸿蒙(HarmonyOS)项目结构

DevEco Studio 鸿蒙&#xff08;HarmonyOS&#xff09;项目结构 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、项目结构 创建简单的Hello World移动应用项目结构如下图 由上到下说明各个文件夹的作用 .hvigor&#xff1a;存…

【已解决】ModuleNotFoundError: No module named ‘tensorflow‘

问题描述 Traceback (most recent call last): File "dataset_tool.py", line 16, in <module> import tensorflow as tf ModuleNotFoundError: No module named tensorflow 如果直接pip install tensorflow&#xff0c;还会报错 解决办法 方法一 pip i…

【华为数据之道学习笔记】4-3信息架构建设核心要素:基于业务对象进行设计和落地

4.3.1 按业务对象进行架构设计 业务对象是指业务领域中重要的人、事、物对象。业务对象承载了业务运作和管理涉及的重要信息&#xff0c;是信息架构中最重要的管理要素。 业务对象同时还是业务和IT的关键连接点&#xff0c;也是实现IA&#xff08;信息架构&#xff09;、BA&…

IntelliJ IDEA 自带HTTP Client接口插件上传文件示例

如何使用IntelliJ IDEA自带的HTTP Client接口插件进行文件上传的示例。在这个示例中&#xff0c;我们将关注Controller代码、HTTP请求文件&#xff08;xxx.http&#xff09;&#xff0c;以及文件的上传和处理。 Controller代码 首先&#xff0c;让我们看一下处理文件上传的Co…

持续集成交付CICD:Jenkins使用GitLab共享库实现自动上传前后端项目Nexus制品

目录 一、实验 1.GitLab本地导入前后端项目 2.Jenkins新建前后端项目流水线 3.Sonarqube录入质量阈与质量配置 4.修改GitLab共享库代码 5.Jenkins手动构建前后端项目流水线 6.Nexus查看制品上传情况 7.优化代码获取RELEASE分支 8.优化Jenkins流水线项目名称 一、实验 …

SpringBoot对PDF进行模板内容填充、电子签名合并

1. 依赖引入–这里只包含额外引入的包 原有项目包不含括在内 <!-- pdf编辑相关--> <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.3</version> </dependency><de…