---初始Linux---

一、认识计算机

计算机 = 硬件 + 软件

硬件:就是计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称(CPU\GPU\...)

软件:是用户和计算机硬件之间及进行交流的工具

然而一个简单的计算机或者说基本的计算机就是有两大部分组成的:操作系统 + 硬件

其中,操作系统其实就是软件中的一种,是一种系统软件

二、操作系统

认识

管理计算机硬件与其他软件资源的计算机程序,同时也是计算机系统的内核和基石。

用在什么地方?

  • 管理与配置内存【资源调度】
  • 决定系统资源供需的优先次序(简答理解就是当两款软件同时运行的时候,操作系统会据决定由哪个软件优先使用当前的系统资源)【资源调度】
  • 控制输入设备与输出设备(输入设备有鼠标、键盘等,输出设备有显示器、打印机等)
  • 操作网络与管理文件系统等基本事务。(比如平时上网操作系统也得管,新建文件、删除文件、打开文件、保存文件等操作系统也得管)
  • 操作系统也提供了一个让用户与系统两者之间进行交互的操作界面。(这个指的就是我们平时使用的图形化界面,通过图形化界面,我们就可以利用鼠标跟操作系统之间进行交互了)

 总的来说,用户想要使用软件需要操作系统调度,想要使用硬件交流也需要操作系统做桥梁

主流操作系统

桌面操作系统(PC):Windows、MacOS、Linux

嵌入式操作系统:Linux

服务器操作系统:Linux、Windows Server

移动设备操作系统:Unix【ios】【Linux【Android】【华为鸿蒙】】

 

  • Linux作为服务器的操作系统,安全稳定,而且免费开源。
  • Windows Server它的使用率非常低,最大的原因就是它是微软推出来的,是收费的要给钱的。
  • 像智能手表、智能微波炉、智能录像机等等,它里面的操作系统就是嵌入式操作系统。
  • 移动设备:手机、平板,它里面使用的这个操作系统,是叫做Unix操作系统
  • 根据Unix操作系统又渐渐的演变出了Linux还有IOS
  • 而安卓它是由Linux演变而来的,而Linux又是由Unix演变而来的。
  • 世界五百强当中的百分之95的企业都使用的是Linux操作系统。

 三. 初识Linux 

什么是Linux?
1. Linux是一套免费使用和自由传播的类Unix操作系统。
2. Linux操作系统是基于以前的Unix操作系统而开发出来的。
3. 是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。
4. 它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和63位硬件。
5. Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux的特点
两个基本思想:a.一切都是文件(包括命令、硬件和软件设备、操作系统进程等等)                                            b.每个软件都有确定的用途
1. 多用户、多任务
2. Linux是有图形化界面的,但是除了图形化界面之外,Linux还有字符的操作界面,这个字符的操作界面就跟Windows里面的cmd命令行是一样的,我们可以通过一些命令去操作计算机
3. 支持多种平台(Linux可以运行在多种硬件平台上)
其它三大优点:a.源代码完全开源   b.具有非常强大的网络功能     c.工具链完整(简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性)
Linux和Unix的区别
Linux是基于Unix的,也就是说Linux它是由Unix演变而来的。
开源情况:

Linux它是开源的,而Unix它是不开源的,使用是需要收费的。
硬件适用:

Unix系统大多是跟硬件配套的,能在你电脑当中成功运行,但是在别人的电脑当中不一定能成功运行,因为你们两个人的硬件是有可能不太一样的。
但是Linux就非常好了,它可以运行在多种硬件平台上。
本质不同:

Linux它是开放源代码的自由软件,用户的自主权会非常的高。
而Unix是看不到源代码的,用户的自主权几乎为零。

认识POSIX

POSIX(Portable Operating System Interface of UNIX,UNIX可移植操作系统接口)是一系列标准,旨在为操作系统提供一致的接口,使得软件能够在不同的UNIX系统和其他兼容系统上运行而无需修改。POSIX定义了操作系统应提供的系统服务、库函数、命令行工具和程序的语法标准。

POSIX标准包括:

1. 系统接口:包括进程管理、文件系统、网络通信、设备I/O等。

2. 库函数:C语言标准库中定义的函数,如字符串处理、数学计算、时间处理等。

3. 命令行界面:定义了一组标准的命令行工具和它们的使用方式。

4. 编程语言:支持多种编程语言,包括C、C++、Fortran、Ada等。

5. 文件系统:定义了文件和目录的组织方式。

6. 权限和安全:定义了用户权限和安全模型。

7. 信号处理:定义了进程间通信的信号机制。

POSIX标准使得UNIX和类UNIX系统(如Linux、macOS、FreeBSD等)能够提供一致的编程环境,从而简化了软件开发和移植过程。

此外,POSIX标准也影响了非UNIX系统的开发,许多非UNIX系统也实现了POSIX兼容的接口,以提高软件的可移植性。

 

 更细节的如下:

Linux系统是一种基于UNIX的开源操作系统,它由多个部分组成,每个部分都有特定的作用和功能。以下是Linux系统的组成以及各部分的作用和联系:

1. 内核(Kernel):
   - 作用:内核是Linux系统的核心,负责管理系统资源,包括内存管理、进程管理、文件系统、设备驱动等。
   - 联系:内核作为操作系统的桥梁,连接硬件和软件,为用户空间的程序提供执行所需的服务。

系统级软件:

2. 文件系统(File System):
   - 作用:文件系统是Linux系统中存储和组织数据的方式。它提供了一种层次化的方法来访问文件和目录。
   - 联系:文件系统构建在内核之上,允许用户和应用程序访问、读取、写入和组织数据。

3. Shell(命令行界面):
   - 作用:Shell是一个命令行解释器,允许用户通过命令行与系统交互,执行命令和启动程序。
   - 联系:Shell提供了一个用户友好的界面,使用户能够控制Linux系统的各种操作。

4. 图形用户界面(GUI):
   - 作用:图形用户界面提供了一个可视化的环境,使用户能够通过图形和图标与系统交互,而不仅仅是文本命令。
   - 联系:GUI通常作为Shell的补充,为用户提供更直观的操作方式。

5. 系统库(System Libraries):
   - 作用:系统库提供了一组预先编写的代码,用于执行常见的系统级任务,如输入/输出操作、网络通信等。
   - 联系:应用程序通常依赖这些库来执行底层操作,而无需从头开始编写所有代码。

6. 应用程序(Applications):
   - 作用:应用程序是为特定目的而设计的软件,如文本编辑器、网页浏览器、邮件客户端等。
   - 联系:应用程序运行在Linux系统之上,使用内核、文件系统、系统库和Shell提供的功能。

7. 设备驱动程序(Device Drivers):
   - 作用:设备驱动程序是内核的一部分,负责管理硬件设备,如打印机、网络卡、图形卡等。
   - 联系:设备驱动程序使得硬件设备能够与操作系统和应用程序交互。

8. 守护进程(Daemons):
   - 作用:守护进程是后台运行的服务,用于执行特定的系统任务,如打印服务、网络服务等。
   - 联系:守护进程作为系统服务的一部分,为用户提供持续的服务和后台任务处理。

9. 配置文件(Configuration Files):
   - 作用:配置文件包含系统和应用程序的设置,它们定义了系统的行为和外观。
   - 联系:配置文件允许用户和管理员根据需要调整系统和应用程序的运行方式。

10. 用户和组管理(User and Group Management):
    - 作用:Linux系统提供了用户和组管理机制,用于控制对系统资源的访问。
    - 联系:用户和组管理确保了系统的安全性,通过权限和访问控制列表(ACLs)来管理用户对文件和程序的访问。

总之,Linux内核是操作系统的核心,负责管理系统资源和调度,而其他系统级软件则提供了操作系统的功能和用户界面。这种分离的设计使得Linux系统既灵活又强大,能够满足各种不同的需求。

关系: 【硬件】--- 【Linux操作系统【内核】】---【软件】

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

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

相关文章

C++ A (1020) : 幂运算

文章目录 一、题目描述二、参考代码 一、题目描述 二、参考代码 #include<bits/stdc.h> using namespace std; typedef long long ll;void qq(ll a, ll b, ll m) {if (a 0) cout << 0 << endl;;ll out 1;a % m;while (b > 0){if (b & 1)//奇数的最…

lux和ffmpeg进行下载各大主流自媒体平台视频

1、lux下载&#xff0c;链接&#xff1a;https://pan.baidu.com/s/1WjGbouL3KFTU6LeqZmACpA?pwdagpp 提取码&#xff1a;agpp 2、ffmpeg下载&#xff0c;跟lux放在同一个目录&#xff1b; 3、为lux、ffmpeg设置环境变量&#xff1b; 4、WINR&#xff0c;打开运行&#xff0…

带你自学大语言模型系列 —— 前言

今天开始&#xff0c;我计划开启一个系列 《带你自学大语言模型》&#xff0c;内容也已经准备了一段时间了。 该系列的落脚点是“自学”和“大语言模型”&#xff0c;二者不分伯仲&#xff0c;这也是本系列和其他技术文章不一样的地方。 至于原因&#xff0c;我不想只做大语言…

【C++】STL中vector常见功能的模拟实现

前言&#xff1a;在上一篇中我们讲到了Vector的一些常见功能的使用方式&#xff0c;今天为了进一步的去学习Vector和能够更深度的去理解Vector的一些底层的原理。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:高质量&#xff23;学习 &…

鸿蒙ArkTS声明式开发:跨平台支持列表【禁用控制】 通用属性

禁用控制 组件是否可交互&#xff0c;可交互状态下响应[点击事件]、[触摸事件]、[拖拽事件]、[按键事件]、[焦点事件]和[鼠标事件]。 说明&#xff1a; 开发前请熟悉鸿蒙开发指导文档&#xff1a; gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到…

【一刷《剑指Offer》】面试题 30:最小的 k 个数

牛客对应题目链接&#xff1a;最小的K个数_牛客题霸_牛客网 (nowcoder.com) 力扣对应题目链接&#xff1a;LCR 159. 库存管理 III - 力扣&#xff08;LeetCode&#xff09; 核心考点 &#xff1a; topK 问题。 一、《剑指Offer》内容 二、分析题目 1、排序&#xff08;O(Nlo…

接口interfance的基本使用

一.为什么有接口&#xff1f; 接口:就是一种规则。 二.接口的定义和使用 1.接口用关键字interface来定义 public interface 接口名{} 2.接口不能实例化 3.接口和类之间是实现关系,通过implements关键字表示 4.接口的子类(实现类) 注意1&#xff1a; 接口和类的实现关系…

43.自定义线程池(一)

ThreadPool是线程池&#xff0c;里面是一定数量的线程&#xff0c;是消费者。 BlockingQueue阻塞队列&#xff0c;线程池中的线程会从阻塞队列中去拿任务执行。任务多了线程池处理不过来了&#xff0c;就会到Blocking Queue中排队&#xff0c;等待执行。链表结构&#xff0c;特…

Netfilter/iptables

1. Netfilter组件图 https://en.wikipedia.org/wiki/Netfilter 其中&#xff1a; etables作用于数据链路层&#xff0c;arptables针对ARP, iptables/ip6tables针对IP层。 nftables 是新的包过滤组件. nft是相对应的新的用户态组件&#xff0c;用于替换etables,arptables,ipt…

从tensorflow导入EarlyStopping能运行但是一直提示未解析

在pycharm中导入早停机的库时&#xff0c;碰上一个问题 from tensorflow.keras.callbacks import EarlyStopping这一条代码中&#xff0c;EarlyStopping一直有个红色波浪线&#xff0c;代表着找不到这个库&#xff0c;提示未解析啥的。 但是运行是可以运行的&#xff0c;虽然可…

GPT-4o如何重塑AI未来!

如何评价GPT-4o? 简介&#xff1a;最近&#xff0c;GPT-4o横空出世。对GPT-4o这一人工智能技术进行评价&#xff0c;包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。 GPT-4o似乎是一个针对GPT-4模型进行优化的版本&#xff0c;它在性能、准确性、资源效率以及安全和…

Anolis OS 8.9安装Linux 服务器运维管理面板“1Panel”

一、简介 1.Linux 服务器运维管理面板“1Panel” 使用go语言编写 2.很多的项目的应用都是采用 docker 技术来实现&#xff0c;这让 Linux 服务器的运维管理更简单、更安全。 3.1Panel 采纳最新的前端技术&#xff0c;并通过精心设计的UX 交互&#xff0c;为用户提供更好的用户…

Linux系统tab键无法补齐命令-已解决

在CentOS中&#xff0c;按下tab键就可以自动补全&#xff0c;但是在最小化安装时&#xff0c;没有安装自动补全的包&#xff0c;需要安装一个包才能解决 bash-completion 1.检查是否安装tab补齐软件包&#xff08;如果是最小化安装&#xff0c;默认没有&#xff09; rpm -q ba…

关于sprintboot3版本以上中的swagger3.0的使用

文章目录 1.配置pom.xml(添加以下内容&#xff0c;记住点一下右上方maven下载)2.application.properties添加以下配置信息3.新建swagger的config配置信息&#xff0c;文件位置如下4.添加接口注释信息访问swagger文档 1.配置pom.xml(添加以下内容&#xff0c;记住点一下右上方ma…

抽象一个通用的配置冲突解决方案

最近的开发项目中遇到了一个关于配置冲突的解决和产品设计&#xff0c;一直以来都没有处理好。最近抽空整理了一下思路和设计&#xff0c;并做了抽象&#xff0c;后续的类似使用&#xff0c;可以做到直接复用。 思路和代码见&#xff1a;github地址&#xff1a;https://github…

基于java18多端展示+ idea hbuilder+ mysql家政预约上门服务系统,源码交付,支持二次开发

基于java18多端展示 idea hbuilder mysql家政预约上门服务系统&#xff0c;源码交付&#xff0c;支持二次开发 家政预约上门系统是一种通过互联网或移动应用平台&#xff0c;为用户提供在线预约、下单、支付和评价家政服务的系统。该系统整合了家政服务资源&#xff0c;使用户能…

RabbitMQ三、springboot整合rabbitmq(消息可靠性、高级特性)

一、springboot整合RabbitMQ&#xff08;jdk17&#xff09;&#xff08;创建两个项目&#xff0c;一个生产者项目&#xff0c;一个消费者项目&#xff09; 上面使用原生JAVA操作RabbitMQ较为繁琐&#xff0c;很多的代码都是重复书写的&#xff0c;使用springboot可以简化代码的…

Vue3集成Phaser-飞机大战游戏(设计与源码)

文章目录 引言项目初始化游戏设计和结构游戏程序实现Vue页面嵌入PhaserPreloader 场景加载游戏场景功能实现功能类定义Boom爆炸类Bullet子弹类Enemy敌军类Player玩家类End游戏结束类 总结 更多相关内容可查看 引言 飞机大战&#xff08;也被称为射击游戏或空战游戏&#xff09…

轻松上手MYSQL:优化MySQL慢查询,让数据库起飞

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索MYSQL慢查询之旅✨ &#x1f44b; 大家好&#xff01;我是你们的…

如何优雅简洁的使用YOLOv8

如何优雅简洁的使用YOLOv8 目录训练调用代码如何一键训练多个yamlexport模型测试多个yaml是否运行正常predict本文提供了 如何优雅简洁的使用YOLOv8 🗝️YOLOv8实战宝典--星级指南:从入门到精通,您不可错过的技巧   -- 聚焦于YOLO的 最新版本, 对颈部网络改进、添加局…