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

第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. 存储器分为内存外存两种
    操作系统的存储管理主要是指对内存的管理。</

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

phpstudy搭建WordPress教程

一、phpstudy新建配置WordPress 打开phpstudy&#xff0c;启动Apache&#xff08;或者Nginx&#xff09;和MySQL服务 来到数据库部分&#xff0c;点击[创建数据库]&#xff0c;填写新建数据库的名称&#xff0c;用户名以及密码&#xff0c;完成后点击确认 来到网站部分&#x…

mysql更新某个字段=这个字段+字符串

当我们像c#中用拼接执行sql语句时&#xff0c;如下&#xff1a; UPDATE abpusers set UserNameqyUserName where UserNameqy-wh 会出现以下错误&#xff1a; 在mysql中通过concat函数来实现 UPDATE abpusers set UserNameCONCAT(qy_,UserName) where UserNameqy-wh

逆向思考 C. Fence Painting

Problem - 1481C - Codeforces 思路&#xff1a;逆序考虑&#xff0c;因为每一块木板都是被最后一次粉刷所决定的。 从后往前开始&#xff0c;对于 c i c_i ci​来说&#xff0c; 如果这个颜色还有没有涂的木板&#xff0c;那么涂到其中一个木板即可如果这个颜色下没有未涂的…

“公益向善”|邦邦机器人积极传递企业责任感

2023年12月4日&#xff0c;由中山市场监督管理所党支部主办的“公益向善 支援接力 宪法在心中”主题活动在中山幸福里举办&#xff0c;邦邦机器人作为捐赠单位&#xff0c;用创新技术及产品赋能大众及公益&#xff0c;积极传递企业责任感&#xff0c;点亮向善之路。 邦邦机器人…

汽车电子 -- 时间同步

时间同步有两种形式&#xff0c;一种是NTP的网络校准时间&#xff0c;一种是可以CAN通信的时间同步。 一、NTP时间同步 参看&#xff1a;什么是NTP&#xff1f; 参看&#xff1a;NTP协议详解及C语言实现 网络时间协议NTP&#xff08;Network Time Protocol&#xff09;是TC…

搭建消息时光机:深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用【RabbitMQ实战 二】

&#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 搭建消息时光机&#xff1a;深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用 引言前言第一&#xff1a;开启插件支持第二&#xff1a;springboot整合第三&am…

js 转换为数组并返回(Array.of())

Array提供了方法直接将一组值转换为数组并返回 Array.of()方法 Array.of(1,2,3) 结果

哈工大《软件工程专业导论》复习指南

哈工大软件工程专业导论复习指南 文章目录 哈工大软件工程专业导论复习指南前言引言——软件工程专业导论课程引言第一章 软件工程专业初步认知第二章 软件体系结构与生命周期第三章 软件需求工程第四章 软件设计与实现第五章 软件质量与软件工程管理第六章 软件工程教育与职业…

Python码上行动系列丛书(由北京大学出版社出版)

前言 Python码上行动系列丛书火热来袭&#x1f4a5;&#x1f4a5;&#x1f4a5; 三册在手&#xff0c;Python全掌握&#xff01;无论是初学者还是进阶玩家&#xff0c;我们都有你想要的&#xff01; 让ChatGPT带你轻松入门Python编程&#xff0c;享受编程带来的乐趣&#xff0…

MATLAB——二维小波的单层分解

%% 学习目标&#xff1a;二维小波的单层分解 %% 二维小波适合图像处理和分析&#xff0c;将图像分解为4个图像 两个维度 低通&#xff0c;高通 clear all; close all; load woman.mat; %% which woman.mat Yind2gray(X,map); %将索引图像转换为灰度图像 [c…

C51--小车——L9110s电机驱动模块

电机模块开发&#xff1a; L9110s&#xff1a; 接通VCC&#xff0c;GND 模块电源指示灯亮。 IA1输入高电平&#xff0c;IA1输入低电平&#xff0c;【OA1 OB1】电机正转&#xff1b; IA1输入低电平&#xff0c;IA1输入高电平&#xff0c;【OA1 OB1】电机反转&#xff1b; IA2…

跨域解决方案详解

文章目录 同源策略PostMessageWebsocket跨域资源共享&#xff08;CORS&#xff09;两种请求简单请求基本流程withCredentials 属性 需预检的请求预检请求预检请求的回应浏览器的正常请求和回应示例 Nginx反向代理Node中间件代理搭建node代理服务使用现成的node代理服务 JSONP前…

JavaEE进阶学习: SpringBoot 日志文件

1.日志有什么用 日志的主要作用是记录系统的运行状态、事件和错误信息等。具体来说&#xff0c;日志可以用于以下几个方面&#xff1a; 故障排除&#xff1a;当系统出现故障或错误时&#xff0c;日志可以帮助开发人员定位问题的具体原因和位置&#xff0c;从而更快地修复系统。…

GB28181学习(十八)——图像抓拍

前言 本文主要介绍图像抓拍功能&#xff0c;通过自研的sip库&#xff08;mysipsdk.dll&#xff09;对接真实设备&#xff0c;使用http方式实现图像数据传输&#xff0c;最终达到图像抓拍与保存的目的。 基本要求 图像格式宜使用JPEG&#xff1b;图像分辨率宜采用与主码流相同…

初识人工智能,一文读懂贝叶斯优化和其他算法的知识文集(8)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

Backtrader 文档学习-Platform Concepts

Backtrader 文档学习-Platform Concepts 1.开始之前 导入backtrader &#xff0c;以及backtrader 的指示器、数据反馈的模块 。 import backtrader as bt import backtrader.indicators as btind import backtrader.feeds as btfeeds看看btind模块下有什么方法和属性&#x…

SpringBoot3-实现和注册拦截器

1、pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.…

sylar高性能服务器-配置(P12-p14)内容记录

文章目录 p12&#xff1a;复杂类型解析一、方法函数二、结果展示 p13&#xff1a;复杂类型解析完善一、方法函数二、结果展示 p14&#xff1a;自定义类型解析一、方法函数二、小结 p12&#xff1a;复杂类型解析 ​ 本节内容主要针对完了配置类中对于复杂类型的转换。之前只实现…

JAVAEE-8-线程池

池 我们之前也接触过,比如说常量池,数据库连接池,线程池,进程池,内存池等等, 池的共性: 1.提前把要用的对象准备好 2.把用完的对象也不要立即释放,先留着以备下次使用 来提高效率!!! 最开始,进程能够解决并发编程的问题,因为频繁创建销毁进程的开销成本太大了,所以我们引…

【Jenkins】Centos环境安装Jenkins(通过docker安装)

通过docker环境安装Jenkins 参考官网 https://hub.docker.com/r/jenkins/jenkins/ 1、安装docker环境 # 删除已有安装包 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-…