网络安全前置知识-linux操作系统

计算机体系结构

计算机发展历史

在这里插入图片描述

计算机组成
在这里插入图片描述

计算机硬件组成

1. CPU

原文链接:https://blog.csdn.net/stone_fall/article/details/88414017

一条指令的执行过程分为以下5个周期:

取指令周期(Instruction Fetch,IF)
以程序计数器PC中的内容作为地址,从存储器中取出指令并放入指令寄存器IR;
同时PC值加4(假设每条指令占4个字节),指向顺序的下一条指令。

指令译码/读寄存器周期(Instruction Decode,ID)
对指令进行译码,并用IR中的寄存器地址去访问通用寄存器组,读出所需的操作数。

执行/有效地址计算周期(Execute,EX)
不同指令所进行的操作不同:
load和store指令:ALU把指令中所指定的寄存器的内容与偏移量相加,形成访存有效地址。
寄存器-寄存器ALU指令:ALU按照操作码指定的操作对从通用寄存器组中读出的数据进行运算。
寄存器-立即数ALU指令:ALU按照操作码指定的操作对从通用寄存器组中读出的操作数和指令中给出的立即数进行运算。
分支指令:ALU把指令中给出的偏移量与PC值相加,形成转移目标的地址。同时,对在前一个周期读出的操作数进行判断,确定分支是否成功。

存储器访问/分支完成周期(Memory,MEM)
该周期处理的指令只有load、store和分支指令。
其它类型的指令在此周期不做任何操作。
load和store指令
load指令:用上一个周期计算出的有效地址从存储器中读出相应的数据;
store指令:把指定的数据写入这个有效地址所指出的存储器单元。

分支指令
分支“成功”,就把转移目标地址送入PC。
分支指令执行完成。

写回周期(WB)
ALU运算指令和load指令在这个周期把结果数据写入通用寄存器组。
ALU运算指令:结果数据来自ALU。
load指令:结果数据来自存储器。

其中存在流水线冲突问题,暂时不讲

CPU重要参数

核心数:物理核心数 (有几个银行柜员–核心在干活,一个网点-CPU,有6个柜员在干活)

线程:超线程技术,逻辑处理器 (线程数) 虚拟内核=逻辑处理器=线程数
1个柜员只能办一个业务,但是有超线程这个技术,能让一个柜员同时办理几个业务。
因为在遇到IO操作,从disk读取文件的时候,需要大量的时间,而此时CPU是没有事情干的,处于等待状态,这种时候就可以干别的业务。

频率:工作频率,1秒钟产生的脉冲信号 (一个脉冲周期能执行一个指令)

32位和64位:CPU一次能处理的位数
在这里插入图片描述

芯片与CPU

芯片有很多种,CPU芯片是其中一种 其他还有GPU、NPU、FPGA芯片等等
GPU:Graphic Processing Unit 图形处理单元
NPU:Neural Networks Process Units 神经网络处理单元
FGCA:Field-Programmable Gate Array 现场可编程门

CPU指令集和架构

指令是用来控制硬件的,经过编译后:01010101的电信号

复杂指令集(Complex Instruction Set Computer):
每个指令做复杂动作,完成操作需要较少指令,庞大 代表:Intel X86

精简指令集(Reduced Instruction Set Computer):
每个指令做简单动作,完成操作需要很多指令,灵活 代表:ARM、RISC-V、MIPS

2. 内存(主存) RAM

作用:

  1. 临时存储CPU要算的数据
  2. 读取/写入文件,CPU要先发出指令将外部设备(disk)的内容加载到内存(里面来)
    在这里插入图片描述

运行内存:RAM(Random Access Memory)
存储空间:ROM(Read Only Memory)

3. 硬盘

在这里插入图片描述

机械硬盘和固态硬盘

机械硬盘是真的有一个盘片,通过加电后加磁和去磁(录音磁带)。教科书上很多,就不再讲述

固态硬盘加粗样式==(待完善)==

在这里插入图片描述

4. 输入输出设备

输入设备:键盘、鼠标、麦克风、摄像头、扫描仪、数位
板、游戏手柄等等;
输出设备:显示器、打印机、音响等等。
显卡(GPU)
声卡

从源代码到可执行程序

在这里插入图片描述
(待完善)

操作系统

可执行程序执行需要操作系统

为什么需要操作系统(Operating System)?
1、提供API,屏蔽底层硬件差异
2、协调系统资源,比如QQ,360等等软件如果直接调用硬件,一定会出现抢资源的情况

应用程序运行(java有jdk环境)-> jdk调用操作系统封装的api -> 操作系统会调用机器语言(CPU指令)

服务器操作系统

在这里插入图片描述
软件架构(客户端访问浏览器的方式)
C/S架构:Client/Server
客户端:迅雷、QQ、百度网盘、腾讯课堂、网易云音乐、游戏 客户端、腾讯视频…
特点:需要安装和升级,占用资源多,性能高
B/S架构:Browser/Server
浏览器:Chrome、FireFox、Edge、360… 站点:百度、知乎、微博、贴吧、淘宝…
特点:不用安装维护,跨操作系统,占用资源低

服务器的组成部分

配置的类型和个人电脑差不多,但是配置的级别/性能会高非常多

服务器硬件 服务器操作系统 HTTP容器 应用程序

应用程序就是业务逻辑书写的地方,基本也就是与数据库交互
在这里插入图片描述

虚拟机

在这里插入图片描述

容器-docker

在这里插入图片描述

在这里插入图片描述

VMware

基本功能

除了自己下载.iso镜像包外,还可以直接官网下载/下载别人配置好的.vmx

本机和虚拟机互传文件可以通过vmtools或者xshell工具(将文件拖入,自动出命令)

克隆和快照

克隆

  1. 用于想要得到一摸一样的
  2. 担心会被破坏
    所以我们可以配置好一个模板机,完成基本的配置,然后去clone

快照

原文链接:https://blog.csdn.net/qq_40644809/article/details/107229420

介绍
虚拟机是由各种虚拟文件所构成的虚拟计算机,而这些虚拟文件都可以由文件系统进行管理。快照本身就是帮助用户记录当前虚拟机状态的方式,这个状态包含虚拟磁盘状态(相当于真实机中的硬盘)、机器内存状态、虚拟机配置信息。
1、虚拟磁盘状态:数据、分区格式、文件内容等;
2、机器内存状态:需要判断当前计算机是否正在运行,如果没有运行,内存里是没有内容的,内存状态是一个可有可无的状态,所以此时保存快照时,开机状态下的快照和关机状态下的快照是不同的,相比于另外两项,由于内存状态必须要写入文件,所以相对来说占用空间最大,是影响快照速度的主要原因;
3、虚拟机配置信息:内存、处理器、磁盘、网络适配器、DVD、USB等设备的设置以及选项的设置,记录在 .vmx 文件中。

**快照的基本原理:**在使用虚拟机时会给虚拟机分配一个虚拟磁盘,在使用过程中可能并未占用全部的分配空间,其与 .vmdk 虚拟磁盘文件标识的大小相同,如果此时记录快照,那么 .vmdk 文件就会被锁定,变成只读状态,在此后的虚拟机使用中进行的任何修改都不是在 .vmdk 文件上做更改,而是在另外生成一个新的文件上进行修改。也就是说,在做快照时,将原虚拟磁盘文件锁定,重新生成新的虚拟磁盘文件,新生成的虚拟磁盘会记录生成快照之后,虚拟机的使用情况。快照可以做多个,每记录一次快照, .vmdk 文件就会多出一个,并可以根据需求选择其中任一一个进行恢复。

快照的拍摄:
右键选择虚拟机 --> 在快照菜单中选择拍摄快照或者打开快照管理器 --> 选择当前位置并拍摄快照 --> 此时在虚拟机最下面会看到保存状态的进度条 --> 进度条完成后表示快照制作成功

快照的恢复:
右键选择虚拟机 --> 在快照菜单中选择恢复到最近一次快照或者打开快照管理器 --> 选择快照并点击转到 --> 此时会提示当前状态(最近一次快照之后的虚拟机更改)会丢失 --> 点击是 --> 弹出还原虚拟机状态进度条,完成后虚拟机恢复到快照时状态

三种网络模式

正常的网络
在这里插入图片描述

虚拟交换机

VMnet0 桥接模式
VMnet1 仅主机模式
VMnet8 NAT模式
在这里插入图片描述

让相同模式的虚拟机相互连接

虚拟网卡

网卡本身就是用来连接网络用的。
比如我的电脑,执行ipconfig/all,会得到

以太网适配器:
作用:连接计算机与有线网络(例如通过网线连接到路由器)。
用途:实现有线数据传输,例如通过以太网连接上网。

无线局域网适配器 本地连接 1*:
作用:支持 Wi-Fi Direct 技术,用于直接在设备之间进行无线通信。
用途:Wi-Fi Direct 允许设备之间直接连接,而无需通过路由器。

无线局域网适配器 本地连接 2*:
作用:类似于上述 Wi-Fi Direct 适配器,支持 Wi-Fi Direct 技术。
用途:用于设备之间的直接无线通信。

以太网适配器 VMware Network Adapter VMnet1:
作用:用于虚拟机网络连接,例如在 VMware 虚拟机中创建的虚拟网络。
用途:连接虚拟机之间或虚拟机与主机之间的网络通信。

以太网适配器 VMware Network Adapter VMnet8:
作用:类似于 VMnet1,用于虚拟机网络连接。
用途:连接虚拟机之间或虚拟机与主机之间的网络通信。

无线局域网适配器 WLAN:
作用:连接计算机与 Wi-Fi 网络。
用途:通过 Wi-Fi 连接到无线路由器,实现无线上网。

以太网适配器 蓝牙网络连接:
作用:支持蓝牙技术,用于设备之间的短距离无线通信。
用途:连接蓝牙设备,例如耳机、键盘、鼠标等。

虚拟机网卡的作用:让主机和虚拟机相互连接
(为什么没有VMnet0呢?带着这个疑问继续走)

VMware Network Adapter VMnet1 仅主机模式
VMware Network Adapter VMnet8 NAT模式

虚拟机就像我们电脑一样,可以配置多个网卡

理解当前问题的关键

  1. 主机怎么和虚拟机连接?
  2. 虚拟机怎么连接到互联网?
桥接模式
  1. 虚拟机和主机一个地位,一个虚拟机就占用了局域网一个ip。现在是我们的局域网,如果是在阿里云服务器开启一个桥接模式的虚拟机的话,那么就相当于我们又占用了一个公网ip,因为桥接模式下,虚拟机和主机一个地位。
  2. 直接用物理机的网卡来上网的。
  3. 想让主机和虚拟机相互访问,把网段设置成一样的就可以
    使用场景:创建一个虚拟服务器在内网提供网络服务

在这里插入图片描述

NAT模式(默认模式)
  1. 通过虚拟网卡来进行主机和虚拟机之间的通信
  2. 通过虚拟路由器连接主机网卡来上网
  3. 虚拟机此刻可以理解为躲在主机后面,虚拟机在外部网络中没有自己的IP地址,虚拟NAT设备会把专用网络中的 IP 地址转换为主机系统的 IP 地址——也就是所说的网络地址转换,外界看网络请求是不知道是虚拟机发起的,都认为是主机发起的
    使用场景:大部分情况
    在这里插入图片描述
仅主机模式

没有了NAT设备(虚拟路由),所以不能上网
使用场景:创建一个与其他机器隔离的网络

在这里插入图片描述

网关是什么?

https://blog.csdn.net/chengqiuming/article/details/78601331?ops_request_misc=&request_id=&biz_id=102&utm_term=%E9%85%8D%E7%BD%AE%E7%BD%91%E5%85%B3%E7%9A%84%E7%94%A8%E5%A4%84&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-78601331.142v100pc_search_result_base3&spm=1018.2226.3001.4187

一般来说,路由器的LAN接口的IP地址就是你所在局域网中的网关。当你所在的局域网的计算机需要和其它局域网中的计算机,或者需要访问互联网的时候,你所在局域网的计算机会先把数据包传输到网关(路由器的LAN接口),然后再由网关进行转发。

网关的作用
1、网关在所有内网计算机访问的不是本网段的数据报时使用。
2、将内网IP转换成公网IP,将公网IP转换为内网IP。

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

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

相关文章

【Cpp】类和对象

标题:【Cpp】类和对象 水墨不写bug 正文开始: (一)面向过程与面向对象 面向过程和面向对象是两种不同的编程思想。 面向过程指的是将程序分解成多个步骤,每个步骤都是一个独立的函数,通过函数之间的调用实…

使用OneAPI创建LLM访问API Key

OneAPI 是一个能替代 springdoc-openapi/Swagger 的 API 生产工具,既不需要修改后端代码,也不需要启动应用。 也支持导出 OpenAPI 3.0 协议数据,方便在其他工具中消费。 前面我们介绍了LobeChat需要配置LLM的API访问Key,今天你可…

《架构即未来》读后感

目录 一、引言 二、《架构即未来》读后感 1、主题的简要介绍 2、我的看法和理解 3、作者的优点和传递的信息 4、思想如何适用于当今社会 三、《架构即未来》对于企业发展的影响具体体现在哪些方面? 一、引言 任何一个持续成长的公司最终都需要解决系统、组织…

【讲解下如何解决一些常见的 Composer 错误】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

【Spring AI】09. ETL 管道

文章目录 ETL PipelineAPI 概述入门指南ETL 接口和实现DocumentReaderJsonReaderTextReaderPagePdfDocumentReaderParagraphPdfDocumentReaderTikaDocumentReader DocumentTransformerTextSplitterTokenTextSplitterContentFormatTransformerKeywordMetadataEnricherSummaryMet…

Ftrans文件外发系统 构建安全可控文件外发流程

文件外发系统是企业数据安全管理中的关键组成部分,它主要用于处理企业内部文件向外部传输的流程,确保数据在合法、安全、可控的前提下进行外发。 文件外发系统的主要作用包括: 1、防止数据泄露:通过严格的审批流程和安全策略&…

【强训笔记】day7

NO.1 思路:双指针模拟,begin表示最长数字字符串最后一个字符,而len表示数字字符串的长度,i用来遍历,如果为数字,那么定义j变量继续遍历,直到不为数字,i-j如果大于len,就…

LabVIEW机械臂控制与图像处理示教平台

LabVIEW机械臂控制与图像处理示教平台 随着工业自动化技术的快速发展,工业机器人在制造业中的应用越来越广泛,它们在提高生产效率、降低人工成本以及保证产品质量方面发挥着重要作用。然而,传统的工业机器人编程和操作需要专业知识&#xff…

深入理解vector 【C++】

一、vector的介绍: 1.vector是表示可变大小的顺序容器。 2.就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素 进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的&am…

【C++STL详解(五)】--------list的介绍与使用

目录 前言 一、list的介绍 二、list的使用 Ⅰ.默认成员函数 1、构造函数 2、赋值重载 3、析构函数 Ⅱ、容量 1.size() Ⅲ、迭代器与遍历 1.beginend (正向迭代器) 2.rbeginrend (反向迭代器) 3.front 4.back Ⅳ、增删查改 1.push_front 2.pop_front 3.push_b…

Matlab|二阶锥松弛在配电网最优潮流计算中的应用

目录 一、主要内容 二、部分代码 三、程序代码 四、下载链接 一、主要内容 最优潮流计算是电网规划、优化运行的重要基础。首先建立了配电网全天有功损耗最小化的最优潮流计算模型;其次结合辐射型配电网潮流特点建立支路潮流约束,并考虑配电网中的可…

平平科技工作室-Python-步步惊心

一.准备图片 放在 文件夹取名为imgs,分为两种boys和girls 二.编写程序 首先创建一个文件名为index.py 其次编写程序 # coding:utf-8 import sys, time, easygui, os, pygame from pygame.locals import * pygame.init() # 设置窗口显示位置、大小、颜色、标题 os.environ[ …

Go语言的包管理工具go mod与之前的GOPATH有什么区别?

在深入探讨Go语言的包管理工具go mod与之前的GOPATH之间的区别之前,我们首先需要理解这两个概念各自的作用和背景。 GOPATH时代 在Go语言早期版本中,GOPATH是一个非常重要的环境变量。它告诉Go工具链在哪里查找你的Go代码、第三方库以及编译后的二进制…

C#描述-计算机视觉OpenCV(4):图像分割

C#描述-计算机视觉OpenCV(4):图像分割 前言用 GrabCut 算法分割图像实例展示 前言 本文中如果有什么没说明的地方,大概率在前文中描述过了。 C#描述-计算机视觉OpenCV(1):基础操作 C#描述-计算…

docker 指定根目录 迁移根目录

docker 指定根目录 1、问题描述2、问题分析3、解决方法3.1、启动docker程序前就手动指定docker根目录为一个大的分区(支持动态扩容),事前就根本上解决根目录空间不够问题3.1.0、方法思路3.1.1、docker官网安装文档3.1.2、下载docker安装包3.1.3、安装docker 26.1.03…

记一次从登录框到前台rce

接口未授权挖掘 在网站未登录的情况下,由于不知道后台接口。唯一办法通过js文件、路径扫描。通过这种收集方式使用burp进行批量扫描,分别探测GET/POST请求。观察响应包跟状态码。判断响应包,确定存在未授权后,再构造数据包。 2 突…

C++ | Leetcode C++题解之第64题最小路径和

题目&#xff1a; 题解&#xff1a; class Solution { public:int minPathSum(vector<vector<int>>& grid) {if (grid.size() 0 || grid[0].size() 0) {return 0;}int rows grid.size(), columns grid[0].size();auto dp vector < vector <int>…

机器学习笔记-18

异常检测问题 异常检测虽然主要用于无监督学习问题上&#xff0c;但是和监督学习问题很相似。 异常检测(Anomaly Detection)&#xff1a;给定正确样本集{ x ( 1 ) , x ( 2 ) . . . x ( n ) x^{(1)},x^{(2)}...x^{(n)} x(1),x(2)...x(n)}&#xff0c;记新样本即要检测的样本为…

NIO(非阻塞I/O)和IO(阻塞I/O)详解

文章目录 一、NIO&#xff08;Non-blocking I/O&#xff0c;非阻塞I/O&#xff09;1、Channel&#xff08;通道&#xff09;与Buffer&#xff08;缓冲区&#xff09;1.1、使用ByteBuffer读取文件1.2、ByteBuffer 方法1.2、ByteBuffer 结构1.3、字符串与 ByteBuffer 互转1.4 Sca…

代码随想录算法训练营DAY48|C++动态规划Part9|121.买卖股票的最佳时机、122.买卖股票的最佳时机II、123.买卖股票的最佳时机III

文章目录 121.买卖股票的最佳时机思路CPP代码 122.买卖股票的最佳时机II思路CPP代码 123.买卖股票的最佳时机III思路CPP代码 121.买卖股票的最佳时机 力扣题目链接 文章讲解&#xff1a;121.买卖股票的最佳时机 视频讲解&#xff1a;动态规划之 LeetCode&#xff1a;121.买卖股…